122 DOUBLE PRECISION FUNCTION dla_syrpvgrw( UPLO, N, INFO, A, LDA, AF,
132 INTEGER N, INFO, LDA, LDAF
136 DOUBLE PRECISION A( lda, * ), AF( ldaf, * ), WORK( * )
142 INTEGER NCOLS, I, J, K, KP
143 DOUBLE PRECISION AMAX, UMAX, RPVGRW, TMP
147 INTRINSIC abs, max, min
155 upper = lsame(
'Upper', uplo )
156 IF ( info.EQ.0 )
THEN
178 work( n+i ) = max( abs( a( i, j ) ), work( n+i ) )
179 work( n+j ) = max( abs( a( i, j ) ), work( n+j ) )
185 work( n+i ) = max( abs( a( i, j ) ), work( n+i ) )
186 work( n+j ) = max( abs( a( i, j ) ), work( n+j ) )
200 DO WHILE ( k .LT. ncols .AND. k.GT.0 )
201 IF ( ipiv( k ).GT.0 )
THEN
204 IF ( kp .NE. k )
THEN
206 work( n+k ) = work( n+kp )
210 work( k ) = max( abs( af( i, k ) ), work( k ) )
217 work( n+k-1 ) = work( n+kp )
220 work( k ) = max( abs( af( i, k ) ), work( k ) )
221 work( k-1 ) = max( abs( af( i, k-1 ) ), work( k-1 ) )
223 work( k ) = max( abs( af( k, k ) ), work( k ) )
228 DO WHILE ( k .LE. n )
229 IF ( ipiv( k ).GT.0 )
THEN
231 IF ( kp .NE. k )
THEN
233 work( n+k ) = work( n+kp )
240 work( n+k ) = work( n+kp )
247 DO WHILE ( k .LE. ncols )
248 IF ( ipiv( k ).GT.0 )
THEN
251 IF ( kp .NE. k )
THEN
253 work( n+k ) = work( n+kp )
257 work( k ) = max( abs( af( i, k ) ), work( k ) )
264 work( n+k+1 ) = work( n+kp )
267 work( k ) = max( abs( af( i, k ) ), work( k ) )
268 work( k+1 ) = max( abs( af(i, k+1 ) ), work( k+1 ) )
270 work( k ) = max( abs( af( k, k ) ), work( k ) )
275 DO WHILE ( k .GE. 1 )
276 IF ( ipiv( k ).GT.0 )
THEN
278 IF ( kp .NE. k )
THEN
280 work( n+k ) = work( n+kp )
287 work( n+k ) = work( n+kp )
305 IF ( umax /= 0.0d+0 )
THEN
306 rpvgrw = min( amax / umax, rpvgrw )
313 IF ( umax /= 0.0d+0 )
THEN
314 rpvgrw = min( amax / umax, rpvgrw )
subroutine dlaset(UPLO, M, N, ALPHA, BETA, A, LDA)
DLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values...
double precision function dla_syrpvgrw(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK)
DLA_SYRPVGRW computes the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite m...
logical function lsame(CA, CB)
LSAME