125 SUBROUTINE spot03( UPLO, N, A, LDA, AINV, LDAINV, WORK, LDWORK,
126 $ rwork, rcond, resid )
135 INTEGER lda, ldainv, ldwork, n
139 REAL a( lda, * ), ainv( ldainv, * ), rwork( * ),
147 parameter( zero = 0.0e+0, one = 1.0e+0 )
151 REAL ainvnm, anorm, eps
177 anorm =
slansy(
'1', uplo, n, a, lda, rwork )
178 ainvnm =
slansy(
'1', uplo, n, ainv, ldainv, rwork )
179 IF( anorm.LE.zero .OR. ainvnm.LE.zero )
THEN
184 rcond = ( one / anorm ) / ainvnm
189 IF(
lsame( uplo,
'U' ) )
THEN
192 ainv(
j, i ) = ainv( i,
j )
198 ainv(
j, i ) = ainv( i,
j )
202 CALL
ssymm(
'Left', uplo, n, n, -one, a, lda, ainv, ldainv, zero,
208 work( i, i ) = work( i, i ) + one
213 resid =
slange(
'1', n, n, work, ldwork, rwork )
215 resid = ( ( resid*rcond ) / eps ) /
REAL( n )
REAL function slansy(NORM, UPLO, N, A, LDA, WORK)
SLANSY returns the value of the 1-norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a real symmetric matrix.
LOGICAL function lsame(CA, CB)
LSAME
subroutine ssymm(SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
SSYMM
REAL function slamch(CMACH)
SLAMCH
subroutine spot03(UPLO, N, A, LDA, AINV, LDAINV, WORK, LDWORK, RWORK, RCOND, RESID)
SPOT03
REAL function slange(NORM, M, N, A, LDA, WORK)
SLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j