115 SUBROUTINE dorgr2( M, N, K, A, LDA, TAU, WORK, INFO )
123 INTEGER info, k, lda, m, n
126 DOUBLE PRECISION a( lda, * ), tau( * ), work( * )
132 DOUBLE PRECISION one, zero
133 parameter( one = 1.0d+0, zero = 0.0d+0 )
151 ELSE IF( n.LT.m )
THEN
153 ELSE IF( k.LT.0 .OR. k.GT.m )
THEN
155 ELSE IF( lda.LT.max( 1, m ) )
THEN
159 CALL
xerbla(
'DORGR2', -info )
176 IF( j.GT.n-m .AND. j.LE.n-k )
177 $ a( m-n+j, j ) = one
186 a( ii, n-m+ii ) = one
187 CALL
dlarf(
'Right', ii-1, n-m+ii, a( ii, 1 ), lda, tau( i ),
189 CALL
dscal( n-m+ii-1, -tau( i ), a( ii, 1 ), lda )
190 a( ii, n-m+ii ) = one - tau( i )
194 DO 30 l = n - m + ii + 1, n