124 SUBROUTINE dgeqrt2( M, N, A, LDA, T, LDT, INFO )
131 INTEGER INFO, LDA, LDT, M, N
134 DOUBLE PRECISION A( LDA, * ), T( LDT, * )
140 DOUBLE PRECISION ONE, ZERO
141 parameter( one = 1.0d+00, zero = 0.0d+00 )
145 DOUBLE PRECISION AII, ALPHA
157 ELSE IF( m.LT.n )
THEN
159 ELSE IF( lda.LT.max( 1, m ) )
THEN
161 ELSE IF( ldt.LT.max( 1, n ) )
THEN
165 CALL xerbla(
'DGEQRT2', -info )
175 CALL dlarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
186 CALL dgemv(
'T',m-i+1, n-i, one, a( i, i+1 ), lda,
187 $ a( i, i ), 1, zero, t( 1, n ), 1 )
192 CALL dger( m-i+1, n-i, alpha, a( i, i ), 1,
193 $ t( 1, n ), 1, a( i, i+1 ), lda )
205 CALL dgemv(
'T', m-i+1, i-1, alpha, a( i, 1 ), lda,
206 $ a( i, i ), 1, zero, t( 1, i ), 1 )
211 CALL dtrmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
215 t( i, i ) = t( i, 1 )
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