126 SUBROUTINE dgeqrt2( M, N, A, LDA, T, LDT, INFO )
133 INTEGER INFO, LDA, LDT, M, N
136 DOUBLE PRECISION A( LDA, * ), T( LDT, * )
142 DOUBLE PRECISION ONE, ZERO
143 parameter( one = 1.0d+00, zero = 0.0d+00 )
147 DOUBLE PRECISION AII, ALPHA
159 ELSE IF( m.LT.n )
THEN
161 ELSE IF( lda.LT.max( 1, m ) )
THEN
163 ELSE IF( ldt.LT.max( 1, n ) )
THEN
167 CALL xerbla(
'DGEQRT2', -info )
177 CALL dlarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
188 CALL dgemv(
'T',m-i+1, n-i, one, a( i, i+1 ), lda,
189 $ a( i, i ), 1, zero, t( 1, n ), 1 )
194 CALL dger( m-i+1, n-i, alpha, a( i, i ), 1,
195 $ t( 1, n ), 1, a( i, i+1 ), lda )
207 CALL dgemv(
'T', m-i+1, i-1, alpha, a( i, 1 ), lda,
208 $ a( i, i ), 1, zero, t( 1, i ), 1 )
213 CALL dtrmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
217 t( i, i ) = t( i, 1 )
subroutine xerbla(srname, info)
subroutine dgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
DGEMV
subroutine dgeqrt2(m, n, a, lda, t, ldt, info)
DGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY represen...
subroutine dger(m, n, alpha, x, incx, y, incy, a, lda)
DGER
subroutine dlarfg(n, alpha, x, incx, tau)
DLARFG generates an elementary reflector (Householder matrix).
subroutine dtrmv(uplo, trans, diag, n, a, lda, x, incx)
DTRMV