128 SUBROUTINE cgeqrt2( M, N, A, LDA, T, LDT, INFO )
136 INTEGER INFO, LDA, LDT, M, N
139 COMPLEX A( lda, * ), T( ldt, * )
146 parameter( one = (1.0,0.0), zero = (0.0,0.0) )
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(
'CGEQRT2', -info )
180 CALL clarfg( m-i+1, a( i, i ), a( min( i+1, m ), i ), 1,
191 CALL cgemv(
'C',m-i+1, n-i, one, a( i, i+1 ), lda,
192 $ a( i, i ), 1, zero, t( 1, n ), 1 )
196 alpha = -conjg(t( i, 1 ))
197 CALL cgerc( m-i+1, n-i, alpha, a( i, i ), 1,
198 $ t( 1, n ), 1, a( i, i+1 ), lda )
210 CALL cgemv(
'C', m-i+1, i-1, alpha, a( i, 1 ), lda,
211 $ a( i, i ), 1, zero, t( 1, i ), 1 )
216 CALL ctrmv(
'U',
'N',
'N', i-1, t, ldt, t( 1, i ), 1 )
220 t( i, i ) = t( i, 1 )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CGEMV
subroutine cgerc(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CGERC
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 ctrmv(UPLO, TRANS, DIAG, N, A, LDA, X, INCX)
CTRMV
subroutine clarfg(N, ALPHA, X, INCX, TAU)
CLARFG generates an elementary reflector (Householder matrix).