124 SUBROUTINE cgeqrt2( M, N, A, LDA, T, LDT, INFO )
131 INTEGER INFO, LDA, LDT, M, N
134 COMPLEX A( LDA, * ), T( LDT, * )
141 parameter( one = (1.0,0.0), zero = (0.0,0.0) )
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(
'CGEQRT2', -info )
175 CALL clarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
186 CALL cgemv(
'C',m-i+1, n-i, one, a( i, i+1 ), lda,
187 $ a( i, i ), 1, zero, t( 1, n ), 1 )
191 alpha = -conjg(t( i, 1 ))
192 CALL cgerc( m-i+1, n-i, alpha, a( i, i ), 1,
193 $ t( 1, n ), 1, a( i, i+1 ), lda )
205 CALL cgemv(
'C', m-i+1, i-1, alpha, a( i, 1 ), lda,
206 $ a( i, i ), 1, zero, t( 1, i ), 1 )
211 CALL ctrmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
215 t( i, i ) = t( i, 1 )
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine cgeqrt2(m, n, a, lda, t, ldt, info)
CGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY represen...
subroutine cgerc(m, n, alpha, x, incx, y, incy, a, lda)
CGERC
subroutine clarfg(n, alpha, x, incx, tau)
CLARFG generates an elementary reflector (Householder matrix).
subroutine ctrmv(uplo, trans, diag, n, a, lda, x, incx)
CTRMV