135 SUBROUTINE dtzrqf( M, N, A, LDA, TAU, INFO )
142 INTEGER INFO, LDA, M, N
145 DOUBLE PRECISION A( LDA, * ), TAU( * )
151 DOUBLE PRECISION ONE, ZERO
152 parameter( one = 1.0d+0, zero = 0.0d+0 )
170 ELSE IF( n.LT.m )
THEN
172 ELSE IF( lda.LT.max( 1, m ) )
THEN
176 CALL xerbla(
'DTZRQF', -info )
195 CALL dlarfg( n-m+1, a( k, k ), a( k, m1 ), lda,
198 IF( ( tau( k ).NE.zero ) .AND. ( k.GT.1 ) )
THEN
207 CALL dcopy( k-1, a( 1, k ), 1, tau, 1 )
211 CALL dgemv(
'No transpose', k-1, n-m, one, a( 1, m1 ),
212 $ lda, a( k, m1 ), lda, one, tau, 1 )
217 CALL daxpy( k-1, -tau( k ), tau, 1, a( 1, k ), 1 )
218 CALL dger( k-1, n-m, -tau( k ), tau, 1, a( k, m1 ),
219 $ lda, a( 1, m1 ), lda )
subroutine dgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
DGEMV
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).