98 DOUBLE PRECISION FUNCTION ztzt01( M, N, A, AF, LDA, TAU, WORK,
107 INTEGER lda, lwork, m, n
110 COMPLEX*16 a( lda, * ), af( lda, * ), tau( * ),
117 DOUBLE PRECISION zero, one
118 parameter( zero = 0.0d0, one = 1.0d0 )
122 DOUBLE PRECISION norma
125 DOUBLE PRECISION rwork( 1 )
135 INTRINSIC dble, dcmplx, max
141 IF( lwork.LT.m*n+m )
THEN
142 CALL
xerbla(
'ZTZT01', 8 )
148 IF( m.LE.0 .OR. n.LE.0 )
151 norma =
zlange(
'One-norm', m, n, a, lda, rwork )
155 CALL
zlaset(
'Full', m, n, dcmplx( zero ), dcmplx( zero ), work,
159 work( (
j-1 )*m+i ) = af( i,
j )
166 CALL
zlatzm(
'Right', i, n-m+1, af( i, m+1 ), lda, tau( i ),
167 $ work( ( i-1 )*m+1 ), work( m*m+1 ), m,
174 CALL
zaxpy( m, dcmplx( -one ), a( 1, i ), 1,
175 $ work( ( i-1 )*m+1 ), 1 )
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 zlatzm(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
ZLATZM
subroutine xerbla(SRNAME, INFO)
XERBLA
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...
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH
DOUBLE PRECISION function ztzt01(M, N, A, AF, LDA, TAU, WORK, LWORK)
ZTZT01