124 SUBROUTINE dgerq2( M, N, A, LDA, TAU, WORK, INFO )
132 INTEGER INFO, LDA, M, N
135 DOUBLE PRECISION A( lda, * ), TAU( * ), WORK( * )
142 parameter( one = 1.0d+0 )
161 ELSE IF( n.LT.0 )
THEN
163 ELSE IF( lda.LT.max( 1, m ) )
THEN
167 CALL
xerbla(
'DGERQ2', -info )
178 CALL
dlarfg( n-k+i, a( m-k+i, n-k+i ), a( m-k+i, 1 ), lda,
183 aii = a( m-k+i, n-k+i )
184 a( m-k+i, n-k+i ) = one
185 CALL
dlarf(
'Right', m-k+i-1, n-k+i, a( m-k+i, 1 ), lda,
186 $ tau( i ), a, lda, work )
187 a( m-k+i, n-k+i ) = aii
subroutine dlarfg(N, ALPHA, X, INCX, TAU)
DLARFG generates an elementary reflector (Householder matrix).
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
DLARF applies an elementary reflector to a general rectangular matrix.
subroutine dgerq2(M, N, A, LDA, TAU, WORK, INFO)
DGERQ2 computes the RQ factorization of a general rectangular matrix using an unblocked algorithm...