115 SUBROUTINE dorg2r( 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.0 .OR. n.GT.m )
THEN
153 ELSE IF( k.LT.0 .OR. k.GT.n )
THEN
155 ELSE IF( lda.LT.max( 1, m ) )
THEN
159 CALL xerbla(
'DORG2R', -info )
183 CALL dlarf(
'Left', m-i+1, n-i, a( i, i ), 1, tau( i ),
184 $ a( i, i+1 ), lda, work )
187 $
CALL dscal( m-i, -tau( i ), a( i+1, i ), 1 )
188 a( i, i ) = one - tau( i )
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 dorg2r(M, N, K, A, LDA, TAU, WORK, INFO)
DORG2R generates all or part of the orthogonal matrix Q from a QR factorization determined by sgeqrf ...