130 INTEGER n, info, lda, ldaf
134 COMPLEX*16 a( lda, * ), af( ldaf, * )
135 DOUBLE PRECISION work( * )
141 INTEGER ncols, i, j, k, kp
142 DOUBLE PRECISION amax, umax, rpvgrw, tmp
150 INTRINSIC abs, real, dimag, max, min
153 DOUBLE PRECISION cabs1
156 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
160 upper =
lsame(
'Upper', uplo )
161 IF ( info.EQ.0 )
THEN
183 work( n+i ) = max( cabs1( a( i,j ) ), work( n+i ) )
184 work( n+j ) = max( cabs1( a( i,j ) ), work( n+j ) )
190 work( n+i ) = max( cabs1( a( i, j ) ), work( n+i ) )
191 work( n+j ) = max( cabs1( a( i, j ) ), work( n+j ) )
205 DO WHILE ( k .LT. ncols .AND. k.GT.0 )
206 IF ( ipiv( k ).GT.0 )
THEN
209 IF ( kp .NE. k )
THEN
211 work( n+k ) = work( n+kp )
215 work( k ) = max( cabs1( af( i, k ) ), work( k ) )
222 work( n+k-1 ) = work( n+kp )
225 work( k ) = max( cabs1( af( i, k ) ), work( k ) )
227 $ max( cabs1( af( i, k-1 ) ), work( k-1 ) )
229 work( k ) = max( cabs1( af( k, k ) ), work( k ) )
234 DO WHILE ( k .LE. n )
235 IF ( ipiv( k ).GT.0 )
THEN
237 IF ( kp .NE. k )
THEN
239 work( n+k ) = work( n+kp )
246 work( n+k ) = work( n+kp )
253 DO WHILE ( k .LE. ncols )
254 IF ( ipiv( k ).GT.0 )
THEN
257 IF ( kp .NE. k )
THEN
259 work( n+k ) = work( n+kp )
263 work( k ) = max( cabs1( af( i, k ) ), work( k ) )
270 work( n+k+1 ) = work( n+kp )
273 work( k ) = max( cabs1( af( i, k ) ), work( k ) )
275 $ max( cabs1( af( i, k+1 ) ) , work( k+1 ) )
277 work(k) = max( cabs1( af( k, k ) ), work( k ) )
282 DO WHILE ( k .GE. 1 )
283 IF ( ipiv( k ).GT.0 )
THEN
285 IF ( kp .NE. k )
THEN
287 work( n+k ) = work( n+kp )
294 work( n+k ) = work( n+kp )
312 IF ( umax /= 0.0d+0 )
THEN
313 rpvgrw = min( amax / umax, rpvgrw )
320 IF ( umax /= 0.0d+0 )
THEN
321 rpvgrw = min( amax / umax, rpvgrw )
double precision function zla_herpvgrw(uplo, n, info, a, lda, af, ldaf, ipiv, work)
ZLA_HERPVGRW
logical function lsame(ca, cb)
LSAME