98 DOUBLE PRECISION FUNCTION dtzt01( M, N, A, AF, LDA, TAU, WORK,
107 INTEGER lda, lwork, m, n
110 DOUBLE PRECISION 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 )
141 IF( lwork.LT.m*n+m )
THEN
142 CALL
xerbla(
'DTZT01', 8 )
148 IF( m.LE.0 .OR. n.LE.0 )
151 norma =
dlange(
'One-norm', m, n, a, lda, rwork )
155 CALL
dlaset(
'Full', m, n, zero, zero, work, m )
158 work( (
j-1 )*m+i ) = af( i,
j )
165 CALL
dlatzm(
'Right', i, n-m+1, af( i, m+1 ), lda, tau( i ),
166 $ work( ( i-1 )*m+1 ), work( m*m+1 ), m,
173 CALL
daxpy( m, -one, a( 1, i ), 1, work( ( i-1 )*m+1 ), 1 )
double precision function dtzt01(M, N, A, AF, LDA, TAU, WORK, LWORK)
DTZT01
subroutine xerbla(SRNAME, INFO)
XERBLA
double precision function dlange(NORM, M, N, A, LDA, WORK)
DLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
double precision function dlamch(CMACH)
DLAMCH
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine dlatzm(SIDE, M, N, V, INCV, TAU, C1, C2, LDC, WORK)
DLATZM
subroutine daxpy(N, DA, DX, INCX, DY, INCY)
DAXPY
subroutine dlaset(UPLO, M, N, ALPHA, BETA, A, LDA)
DLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values...