138 SUBROUTINE zgeqrt( M, N, NB, A, LDA, T, LDT, WORK, INFO )
145 INTEGER INFO, LDA, LDT, M, N, NB
148 COMPLEX*16 A( LDA, * ), T( LDT, * ), WORK( * )
155 INTEGER I, IB, IINFO, K
156 LOGICAL USE_RECURSIVE_QR
157 parameter( use_recursive_qr=.true. )
169 ELSE IF( n.LT.0 )
THEN
171 ELSE IF( nb.LT.1 .OR. ( nb.GT.min(m,n) .AND. min(m,n).GT.0 ) )
THEN
173 ELSE IF( lda.LT.max( 1, m ) )
THEN
175 ELSE IF( ldt.LT.nb )
THEN
179 CALL xerbla(
'ZGEQRT', -info )
191 ib = min( k-i+1, nb )
195 IF( use_recursive_qr )
THEN
196 CALL zgeqrt3( m-i+1, ib, a(i,i), lda, t(1,i), ldt,
199 CALL zgeqrt2( m-i+1, ib, a(i,i), lda, t(1,i), ldt,
206 CALL zlarfb(
'L',
'C',
'F',
'C', m-i+1, n-i-ib+1, ib,
207 $ a( i, i ), lda, t( 1, i ), ldt,
208 $ a( i, i+ib ), lda, work , n-i-ib+1 )
subroutine zgeqrt2(m, n, a, lda, t, ldt, info)
ZGEQRT2 computes a QR factorization of a general real or complex matrix using the compact WY represen...
recursive subroutine zgeqrt3(m, n, a, lda, t, ldt, info)
ZGEQRT3 recursively computes a QR factorization of a general real or complex matrix using the compact...
subroutine zgeqrt(m, n, nb, a, lda, t, ldt, work, info)
ZGEQRT
subroutine zlarfb(side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork)
ZLARFB applies a block reflector or its conjugate-transpose to a general rectangular matrix.