152 SUBROUTINE zsgt01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D,
153 $ work, rwork, result )
162 INTEGER itype, lda, ldb, ldz, m, n
165 DOUBLE PRECISION d( * ), result( * ), rwork( * )
166 COMPLEX*16 a( lda, * ),
b( ldb, * ), work( * ),
173 DOUBLE PRECISION zero, one
174 parameter( zero = 0.0d+0, one = 1.0d+0 )
175 COMPLEX*16 czero, cone
176 parameter( czero = ( 0.0d+0, 0.0d+0 ),
177 $ cone = ( 1.0d+0, 0.0d+0 ) )
181 DOUBLE PRECISION anorm, ulp
200 anorm =
zlanhe(
'1', uplo, n, a, lda, rwork )*
201 $
zlange(
'1', n, m, z, ldz, rwork )
205 IF( itype.EQ.1 )
THEN
209 CALL
zhemm(
'Left', uplo, n, m, cone, a, lda, z, ldz, czero,
212 CALL
zdscal( n, d( i ), z( 1, i ), 1 )
214 CALL
zhemm(
'Left', uplo, n, m, cone,
b, ldb, z, ldz, -cone,
217 result( 1 ) = (
zlange(
'1', n, m, work, n, rwork ) / anorm ) /
220 ELSE IF( itype.EQ.2 )
THEN
224 CALL
zhemm(
'Left', uplo, n, m, cone,
b, ldb, z, ldz, czero,
227 CALL
zdscal( n, d( i ), z( 1, i ), 1 )
229 CALL
zhemm(
'Left', uplo, n, m, cone, a, lda, work, n, -cone,
232 result( 1 ) = (
zlange(
'1', n, m, z, ldz, rwork ) / anorm ) /
235 ELSE IF( itype.EQ.3 )
THEN
239 CALL
zhemm(
'Left', uplo, n, m, cone, a, lda, z, ldz, czero,
242 CALL
zdscal( n, d( i ), z( 1, i ), 1 )
244 CALL
zhemm(
'Left', uplo, n, m, cone,
b, ldb, work, n, -cone,
247 result( 1 ) = (
zlange(
'1', n, m, z, ldz, rwork ) / anorm ) /
subroutine zdscal(N, DA, ZX, INCX)
ZDSCAL
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 ...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
subroutine zsgt01(ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, WORK, RWORK, RESULT)
ZSGT01
DOUBLE PRECISION function zlanhe(NORM, UPLO, N, A, LDA, WORK)
ZLANHE 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.
subroutine zhemm(SIDE, UPLO, M, N, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
ZHEMM
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH