137 SUBROUTINE dtzrqf( M, N, A, LDA, TAU, INFO )
144 INTEGER INFO, LDA, M, N
147 DOUBLE PRECISION A( LDA, * ), TAU( * )
153 DOUBLE PRECISION ONE, ZERO
154 parameter( one = 1.0d+0, zero = 0.0d+0 )
172 ELSE IF( n.LT.m )
THEN
174 ELSE IF( lda.LT.max( 1, m ) )
THEN
178 CALL xerbla(
'DTZRQF', -info )
197 CALL dlarfg( n-m+1, a( k, k ), a( k, m1 ), lda, tau( k ) )
199 IF( ( tau( k ).NE.zero ) .AND. ( k.GT.1 ) )
THEN
208 CALL dcopy( k-1, a( 1, k ), 1, tau, 1 )
212 CALL dgemv(
'No transpose', k-1, n-m, one, a( 1, m1 ),
213 $ lda, a( k, m1 ), lda, one, tau, 1 )
218 CALL daxpy( k-1, -tau( k ), tau, 1, a( 1, k ), 1 )
219 CALL dger( k-1, n-m, -tau( k ), tau, 1, a( k, m1 ), lda,
subroutine xerbla(srname, info)
subroutine dtzrqf(m, n, a, lda, tau, info)
DTZRQF
subroutine daxpy(n, da, dx, incx, dy, incy)
DAXPY
subroutine dcopy(n, dx, incx, dy, incy)
DCOPY
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).