122 SUBROUTINE dsyt01( UPLO, N, A, LDA, AFAC, LDAFAC, IPIV, C, LDC,
131 INTEGER LDA, LDAFAC, LDC, N
132 DOUBLE PRECISION RESID
136 DOUBLE PRECISION A( LDA, * ), AFAC( LDAFAC, * ), C( LDC, * ),
143 DOUBLE PRECISION ZERO, ONE
144 parameter( zero = 0.0d+0, one = 1.0d+0 )
148 DOUBLE PRECISION ANORM, EPS
152 DOUBLE PRECISION DLAMCH, DLANSY
153 EXTERNAL lsame, dlamch, dlansy
172 eps = dlamch(
'Epsilon' )
173 anorm = dlansy(
'1', uplo, n, a, lda, rwork )
177 CALL dlaset(
'Full', n, n, zero, one, c, ldc )
181 CALL dlavsy( uplo,
'Transpose',
'Non-unit', n, n, afac, ldafac,
182 $ ipiv, c, ldc, info )
186 CALL dlavsy( uplo,
'No transpose',
'Unit', n, n, afac, ldafac,
187 $ ipiv, c, ldc, info )
191 IF( lsame( uplo,
'U' ) )
THEN
194 c( i, j ) = c( i, j ) - a( i, j )
200 c( i, j ) = c( i, j ) - a( i, j )
207 resid = dlansy(
'1', uplo, n, c, ldc, rwork )
209 IF( anorm.LE.zero )
THEN
213 resid = ( ( resid / dble( n ) ) / anorm ) / eps
subroutine dlavsy(uplo, trans, diag, n, nrhs, a, lda, ipiv, b, ldb, info)
DLAVSY
subroutine dsyt01(uplo, n, a, lda, afac, ldafac, ipiv, c, ldc, rwork, resid)
DSYT01
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.