138 SUBROUTINE dsyt01_3( UPLO, N, A, LDA, AFAC, LDAFAC, E, IPIV, C,
139 $ LDC, RWORK, RESID )
147 INTEGER LDA, LDAFAC, LDC, N
148 DOUBLE PRECISION RESID
152 DOUBLE PRECISION A( LDA, * ), AFAC( LDAFAC, * ), C( LDC, * ),
159 DOUBLE PRECISION ZERO, ONE
160 parameter( zero = 0.0d+0, one = 1.0d+0 )
164 DOUBLE PRECISION , EPS
168 DOUBLE PRECISION DLAMCH, DLANSY
169 EXTERNAL lsame, dlamch, dlansy
188 CALL dsyconvf_rook( uplo,
'R', n, afac, ldafac, e, ipiv, info )
192 eps = dlamch( 'epsilon
' )
193 ANORM = DLANSY( '1
', UPLO, N, A, LDA, RWORK )
197 CALL DLASET( 'full
', N, N, ZERO, ONE, C, LDC )
201 CALL DLAVSY_ROOK( UPLO, 'transpose
', 'non-unit
', N, N, AFAC,
202 $ LDAFAC, IPIV, C, LDC, INFO )
206 CALL DLAVSY_ROOK( UPLO, 'no transpose
', 'unit
', N, N, AFAC,
207 $ LDAFAC, IPIV, C, LDC, INFO )
211 IF( LSAME( UPLO, 'u
' ) ) THEN
214 C( I, J ) = C( I, J ) - A( I, J )
220 C( I, J ) = C( I, J ) - A( I, J )
227 RESID = DLANSY( '1
', UPLO, N, C, LDC, RWORK )
229.LE.
IF( ANORMZERO ) THEN
233 RESID = ( ( RESID / DBLE( N ) ) / ANORM ) / EPS
239 CALL DSYCONVF_ROOK( UPLO, 'c
', N, AFAC, LDAFAC, E, IPIV, INFO )
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.
subroutine dsyconvf_rook(uplo, way, n, a, lda, e, ipiv, info)
DSYCONVF_ROOK
subroutine dlavsy_rook(uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info)
DLAVSY_ROOK
subroutine dsyt01_3(uplo, n, a, lda, afac, ldafac, e, ipiv, c, ldc, rwork, resid)
DSYT01_3