142 SUBROUTINE cgeqrt( M, N, NB, A, LDA, T, LDT, WORK, INFO )
150 INTEGER INFO, LDA, LDT, M, N, NB
153 COMPLEX A( lda, * ), T( ldt, * ), WORK( * )
160 INTEGER I, IB, IINFO, K
161 LOGICAL USE_RECURSIVE_QR
162 parameter( use_recursive_qr=.true. )
174 ELSE IF( n.LT.0 )
THEN
176 ELSE IF( nb.LT.1 .OR. ( nb.GT.min(m,n) .AND. min(m,n).GT.0 ) )
THEN
178 ELSE IF( lda.LT.max( 1, m ) )
THEN
180 ELSE IF( ldt.LT.nb )
THEN
184 CALL xerbla(
'CGEQRT', -info )
196 ib = min( k-i+1, nb )
200 IF( use_recursive_qr )
THEN
201 CALL cgeqrt3( m-i+1, ib, a(i,i), lda, t(1,i), ldt, iinfo )
203 CALL cgeqrt2( m-i+1, ib, a(i,i), lda, t(1,i), ldt, iinfo )
209 CALL clarfb(
'L',
'C',
'F',
'C', m-i+1, n-i-ib+1, ib,
210 $ a( i, i ), lda, t( 1, i ), ldt,
211 $ a( i, i+ib ), lda, work , n-i-ib+1 )
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 xerbla(SRNAME, INFO)
XERBLA
subroutine clarfb(SIDE, TRANS, DIRECT, STOREV, M, N, K, V, LDV, T, LDT, C, LDC, WORK, LDWORK)
CLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix...
recursive subroutine cgeqrt3(M, N, A, LDA, T, LDT, INFO)
CGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compac...
subroutine cgeqrt(M, N, NB, A, LDA, T, LDT, WORK, INFO)
CGEQRT