126 SUBROUTINE chet01( UPLO, N, A, LDA, AFAC, LDAFAC, IPIV, C, LDC,
136 INTEGER lda, ldafac, ldc, n
142 COMPLEX a( lda, * ), afac( ldafac, * ), c( ldc, * )
149 parameter( zero = 0.0e+0, one = 1.0e+0 )
151 parameter( czero = ( 0.0e+0, 0.0e+0 ),
152 $ cone = ( 1.0e+0, 0.0e+0 ) )
167 INTRINSIC aimag, real
181 anorm =
clanhe(
'1', uplo, n, a, lda, rwork )
187 IF( aimag( afac(
j,
j ) ).NE.zero )
THEN
195 CALL
claset(
'Full', n, n, czero, cone, c, ldc )
199 CALL
clavhe( uplo,
'Conjugate',
'Non-unit', n, n, afac, ldafac,
200 $ ipiv, c, ldc, info )
204 CALL
clavhe( uplo,
'No transpose',
'Unit', n, n, afac, ldafac,
205 $ ipiv, c, ldc, info )
209 IF(
lsame( uplo,
'U' ) )
THEN
212 c( i,
j ) = c( i,
j ) - a( i,
j )
214 c(
j,
j ) = c(
j,
j ) -
REAL( A( J, J ) )
218 c(
j,
j ) = c(
j,
j ) -
REAL( A( J, J ) )
220 c( i,
j ) = c( i,
j ) - a( i,
j )
227 resid =
clanhe(
'1', uplo, n, c, ldc, rwork )
229 IF( anorm.LE.zero )
THEN
233 resid = ( ( resid /
REAL( N ) ) / anorm ) / eps
subroutine claset(UPLO, M, N, ALPHA, BETA, A, LDA)
CLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values...
LOGICAL function lsame(CA, CB)
LSAME
REAL function clanhe(NORM, UPLO, N, A, LDA, WORK)
CLANHE 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 Hermitian matrix.
REAL function slamch(CMACH)
SLAMCH
subroutine clavhe(UPLO, TRANS, DIAG, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CLAVHE
subroutine chet01(UPLO, N, A, LDA, AFAC, LDAFAC, IPIV, C, LDC, RWORK, RESID)
CHET01
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j