138 SUBROUTINE dgelqt( M, N, MB, A, LDA, T, LDT, WORK, INFO )
145 INTEGER INFO, LDA, LDT, M, N, MB
148 DOUBLE PRECISION A( LDA, * ), T( LDT, * ), WORK( * )
155 INTEGER I, IB, IINFO, K
167 ELSE IF( n.LT.0 )
THEN
169 ELSE IF( mb.LT.1 .OR. ( mb.GT.
min(m,n) .AND.
min(m,n).GT.0 ) )
THEN
171 ELSE IF( lda.LT.
max( 1, m ) )
THEN
173 ELSE IF( ldt.LT.mb )
THEN
177 CALL xerbla(
'DGELQT', -info )
189 ib =
min( k-i+1, mb )
193 CALL dgelqt3( ib, n-i+1, a(i,i), lda, t(1,i), ldt, iinfo )
198 CALL dlarfb(
'R',
'N',
'F',
'R', m-i-ib+1, n-i+1, ib,
199 $ a( i, i ), lda, t( 1, i ), ldt,
200 $ a( i+ib, i ), lda, work , m-i-ib+1 )
subroutine xerbla(srname, info)
XERBLA
subroutine dgelqt(m, n, mb, a, lda, t, ldt, work, info)
DGELQT
recursive subroutine dgelqt3(m, n, a, lda, t, ldt, info)
DGELQT3 recursively computes a LQ factorization of a general real or complex matrix using the compact...
subroutine dlarfb(side, trans, direct, storev, m, n, k, v, ldv, t, ldt, c, ldc, work, ldwork)
DLARFB applies a block reflector or its transpose to a general rectangular matrix.