139 SUBROUTINE dtzrqf( M, N, A, LDA, TAU, INFO )
147 INTEGER INFO, LDA, M, N
150 DOUBLE PRECISION A( lda, * ), TAU( * )
156 DOUBLE PRECISION ONE, ZERO
157 parameter( one = 1.0d+0, zero = 0.0d+0 )
175 ELSE IF( n.LT.m )
THEN
177 ELSE IF( lda.LT.max( 1, m ) )
THEN
181 CALL
xerbla(
'DTZRQF', -info )
200 CALL
dlarfg( n-m+1, a( k, k ), a( k, m1 ), lda, tau( k ) )
202 IF( ( tau( k ).NE.zero ) .AND. ( k.GT.1 ) )
THEN
211 CALL
dcopy( k-1, a( 1, k ), 1, tau, 1 )
215 CALL
dgemv(
'No transpose', k-1, n-m, one, a( 1, m1 ),
216 $ lda, a( k, m1 ), lda, one, tau, 1 )
221 CALL
daxpy( k-1, -tau( k ), tau, 1, a( 1, k ), 1 )
222 CALL
dger( k-1, n-m, -tau( k ), tau, 1, a( k, m1 ), lda,
subroutine dger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
DGER
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).
subroutine dcopy(N, DX, INCX, DY, INCY)
DCOPY
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine daxpy(N, DA, DX, INCX, DY, INCY)
DAXPY
subroutine dtzrqf(M, N, A, LDA, TAU, INFO)
DTZRQF
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV