203 SUBROUTINE dsyconvf( UPLO, WAY, N, A, LDA, E, IPIV, INFO )
215 DOUBLE PRECISION A( LDA, * ), E( * )
221 DOUBLE PRECISION ZERO
222 parameter( zero = 0.0d+0 )
231 LOGICAL UPPER, CONVERT
237 upper = lsame( uplo,
'U' )
238 convert = lsame( way,
'C' )
239 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
241 ELSE IF( .NOT.convert .AND. .NOT.lsame( way,
'R' ) )
THEN
243 ELSE IF( n.LT.0 )
THEN
245 ELSE IF( lda.LT.max( 1, n ) )
THEN
250 CALL xerbla(
'DSYCONVF', -info )
276 IF( ipiv( i ).LT.0 )
THEN
294 IF( ipiv( i ).GT.0 )
THEN
303 CALL dswap( n-i, a( i, i+1 ), lda,
304 $ a( ip, i+1 ), lda )
316 IF( ip.NE.(i-1) )
THEN
317 CALL dswap( n-i, a( i-1, i+1 ), lda,
318 $ a( ip, i+1 ), lda )
347 IF( ipiv( i ).GT.0 )
THEN
356 CALL dswap( n-i, a( ip, i+1 ), lda,
370 IF( ip.NE.(i-1) )
THEN
371 CALL dswap( n-i, a( ip, i+1 ), lda,
372 $ a( i-1, i+1 ), lda )
381 ipiv( i ) = ipiv( i-1 )
393 IF( ipiv( i ).LT.0 )
THEN
420 IF( i.LT.n .AND. ipiv(i).LT.0 )
THEN
438 IF( ipiv( i ).GT.0 )
THEN
447 CALL dswap( i-1, a( i, 1 ), lda,
460 IF( ip.NE.(i+1) )
THEN
461 CALL dswap( i-1, a( i+1, 1 ), lda,
491 IF( ipiv( i ).GT.0 )
THEN
500 CALL dswap( i-1, a( ip, 1 ), lda,
514 IF( ip.NE.(i+1) )
THEN
515 CALL dswap( i-1, a( ip, 1 ), lda,
525 ipiv( i ) = ipiv( i+1 )
536 DO WHILE ( i.LE.n-1 )
537 IF( ipiv( i ).LT.0 )
THEN
538 a( i + 1, i ) = e( i )
subroutine dsyconvf(uplo, way, n, a, lda, e, ipiv, info)
DSYCONVF