133 SUBROUTINE zget08( TRANS, M, N, NRHS, A, LDA, X, LDX, B, LDB,
143 INTEGER lda, ldb, ldx, m, n, nrhs
144 DOUBLE PRECISION resid
147 DOUBLE PRECISION rwork( * )
148 COMPLEX*16 a( lda, * ),
b( ldb, * ),
x( ldx, * )
154 DOUBLE PRECISION zero, one
155 parameter( zero = 0.0d+0, one = 1.0d+0 )
157 parameter( cone = ( 1.0d+0, 0.0d+0 ) )
161 DOUBLE PRECISION anorm, bnorm, eps, xnorm
174 INTRINSIC abs, dble, dimag, max
177 DOUBLE PRECISION cabs1
180 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
186 IF( m.LE.0 .OR. n.LE.0 .OR. nrhs.EQ.0 )
THEN
191 IF(
lsame( trans,
'T' ) .OR.
lsame( trans,
'C' ) )
THEN
202 anorm =
zlange(
'I', n1, n2, a, lda, rwork )
203 IF( anorm.LE.zero )
THEN
210 CALL
zgemm( trans,
'No transpose', n1, nrhs, n2, -cone, a, lda,
x,
211 $ ldx, cone,
b, ldb )
218 bnorm = cabs1(
b(
izamax( n1,
b( 1,
j ), 1 ),
j ) )
219 xnorm = cabs1(
x(
izamax( n2,
x( 1,
j ), 1 ),
j ) )
220 IF( xnorm.LE.zero )
THEN
223 resid = max( resid, ( ( bnorm / anorm ) / xnorm ) / eps )
LOGICAL function lsame(CA, CB)
LSAME
subroutine zget08(TRANS, M, N, NRHS, A, LDA, X, LDX, B, LDB, RWORK, RESID)
ZGET08
DOUBLE PRECISION function zlange(NORM, M, N, A, LDA, WORK)
ZLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine zgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
ZGEMM
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH
INTEGER function izamax(N, ZX, INCX)
IZAMAX