128 SUBROUTINE dgeqrt2( M, N, A, LDA, T, LDT, INFO )
136 INTEGER info, lda, ldt, m, n
139 DOUBLE PRECISION a( lda, * ), t( ldt, * )
145 DOUBLE PRECISION one, zero
146 parameter( one = 1.0d+00, zero = 0.0d+00 )
150 DOUBLE PRECISION aii, alpha
162 ELSE IF( n.LT.0 )
THEN
164 ELSE IF( lda.LT.max( 1, m ) )
THEN
166 ELSE IF( ldt.LT.max( 1, n ) )
THEN
170 CALL
xerbla(
'DGEQRT2', -info )
180 CALL
dlarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
191 CALL
dgemv(
'T',m-i+1, n-i, one, a( i, i+1 ), lda,
192 $ a( i, i ), 1, zero, t( 1, n ), 1 )
197 CALL
dger( m-i+1, n-i, alpha, a( i, i ), 1,
198 $ t( 1, n ), 1, a( i, i+1 ), lda )
210 CALL
dgemv(
'T', m-i+1, i-1, alpha, a( i, 1 ), lda,
211 $ a( i, i ), 1, zero, t( 1, i ), 1 )
216 CALL
dtrmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
220 t( i, i ) = t( i, 1 )