125 SUBROUTINE zsyt01( UPLO, N, A, LDA, AFAC, LDAFAC, IPIV, C, LDC,
135 INTEGER lda, ldafac, ldc, n
136 DOUBLE PRECISION resid
140 DOUBLE PRECISION rwork( * )
141 COMPLEX*16 a( lda, * ), afac( ldafac, * ), c( ldc, * )
147 DOUBLE PRECISION zero, one
148 parameter( zero = 0.0d+0, one = 1.0d+0 )
149 COMPLEX*16 czero, cone
150 parameter( czero = ( 0.0d+0, 0.0d+0 ),
151 $ cone = ( 1.0d+0, 0.0d+0 ) )
155 DOUBLE PRECISION anorm, eps
180 anorm =
zlansy(
'1', uplo, n, a, lda, rwork )
184 CALL
zlaset(
'Full', n, n, czero, cone, c, ldc )
188 CALL
zlavsy( uplo,
'Transpose',
'Non-unit', n, n, afac, ldafac,
189 $ ipiv, c, ldc, info )
193 CALL
zlavsy( uplo,
'No transpose',
'Unit', n, n, afac, ldafac,
194 $ ipiv, c, ldc, info )
198 IF(
lsame( uplo,
'U' ) )
THEN
201 c( i,
j ) = c( i,
j ) - a( i,
j )
207 c( i,
j ) = c( i,
j ) - a( i,
j )
214 resid =
zlansy(
'1', uplo, n, c, ldc, rwork )
216 IF( anorm.LE.zero )
THEN
220 resid = ( ( resid / dble( n ) ) / anorm ) / eps
double precision function zlansy(NORM, UPLO, N, A, LDA, WORK)
ZLANSY returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex symmetric matrix.
subroutine zlavsy(UPLO, TRANS, DIAG, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
ZLAVSY
logical function lsame(CA, CB)
LSAME
subroutine zlaset(UPLO, M, N, ALPHA, BETA, A, LDA)
ZLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values...
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine zsyt01(UPLO, N, A, LDA, AFAC, LDAFAC, IPIV, C, LDC, RWORK, RESID)
ZSYT01