208 DOUBLE PRECISION A( LDA, * ), E( * )
214 DOUBLE PRECISION ZERO
215 parameter( zero = 0.0d+0 )
224 LOGICAL UPPER, CONVERT
230 upper = lsame( uplo,
'U' )
231 convert = lsame( way,
'C' )
232 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
234 ELSE IF( .NOT.convert .AND. .NOT.lsame( way,
'R' ) )
THEN
236 ELSE IF( n.LT.0 )
THEN
238 ELSE IF( lda.LT.max( 1, n ) )
THEN
243 CALL xerbla(
'DSYCONVF_ROOK', -info )
269 IF( ipiv( i ).LT.0 )
THEN
287 IF( ipiv( i ).GT.0 )
THEN
296 CALL dswap( n-i, a( i, i+1 ), lda,
297 $ a( ip, i+1 ), lda )
312 CALL dswap( n-i, a( i, i+1 ), lda,
313 $ a( ip, i+1 ), lda )
315 IF( ip2.NE.(i-1) )
THEN
316 CALL dswap( n-i, a( i-1, i+1 ), lda,
317 $ a( ip2, i+1 ), lda )
338 IF( ipiv( i ).GT.0 )
THEN
347 CALL dswap( n-i, a( ip, i+1 ), lda,
363 IF( ip2.NE.(i-1) )
THEN
364 CALL dswap( n-i, a( ip2, i+1 ), lda,
365 $ a( i-1, i+1 ), lda )
368 CALL dswap( n-i, a( ip, i+1 ), lda,
383 IF( ipiv( i ).LT.0 )
THEN
410 IF( i.LT.n .AND. ipiv(i).LT.0 )
THEN
428 IF( ipiv( i ).GT.0 )
THEN
437 CALL dswap( i-1, a( i, 1 ), lda,
453 CALL dswap( i-1, a( i, 1 ), lda,
456 IF( ip2.NE.(i+1) )
THEN
457 CALL dswap( i-1, a( i+1, 1 ), lda,
479 IF( ipiv( i ).GT.0 )
THEN
488 CALL dswap( i-1, a( ip, 1 ), lda,
504 IF( ip2.NE.(i+1) )
THEN
505 CALL dswap( i-1, a( ip2, 1 ), lda,
509 CALL dswap( i-1, a( ip, 1 ), lda,
523 DO WHILE ( i.LE.n-1 )
524 IF( ipiv( i ).LT.0 )
THEN
525 a( i + 1, i ) = e( i )
subroutine xerbla(srname, info)
subroutine dswap(n, dx, incx, dy, incy)
DSWAP
subroutine dsyconvf_rook(uplo, way, n, a, lda, e, ipiv, info)
DSYCONVF_ROOK