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
subroutine dlarf(SIDE, M, N, V, INCV, TAU, C, LDC, WORK)
DLARF applies an elementary reflector to a general rectangular matrix.
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine dorgr2(M, N, K, A, LDA, TAU, WORK, INFO)
DORGR2 generates all or part of the orthogonal matrix Q from an RQ factorization determined by sgerqf...