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 dcopy(N, DX, INCX, DY, INCY)
DCOPY
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
subroutine daxpy(N, DA, DX, INCX, DY, INCY)
DAXPY
subroutine dger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
DGER
subroutine dtzrqf(M, N, A, LDA, TAU, INFO)
DTZRQF
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).