124 SUBROUTINE cgelqt( M, N, MB, A, LDA, T, LDT, WORK, INFO )
132 INTEGER INFO, LDA, LDT, M, N, MB
135 COMPLEX A( lda, * ), T( ldt, * ), WORK( * )
142 INTEGER I, IB, IINFO, K
154 ELSE IF( n.LT.0 )
THEN 156 ELSE IF( mb.LT.1 .OR. (mb.GT.min(m,n) .AND. min(m,n).GT.0 ))
THEN 158 ELSE IF( lda.LT.max( 1, m ) )
THEN 160 ELSE IF( ldt.LT.mb )
THEN 164 CALL xerbla(
'CGELQT', -info )
176 ib = min( k-i+1, mb )
180 CALL cgelqt3( ib, n-i+1, a(i,i), lda, t(1,i), ldt, iinfo )
185 CALL clarfb(
'R',
'N',
'F',
'R', m-i-ib+1, n-i+1, ib,
186 $ a( i, i ), lda, t( 1, i ), ldt,
187 $ a( i+ib, i ), lda, work , m-i-ib+1 )
recursive subroutine cgelqt3(M, N, A, LDA, T, LDT, INFO)
subroutine cgelqt(M, N, MB, A, LDA, T, LDT, WORK, INFO)
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...