162 SUBROUTINE claswlq( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK,
170 INTEGER INFO, LDA, M, N, MB, NB, LWORK, LDT
173 COMPLEX A( LDA, * ), WORK( * ), T( LDT, *)
181 INTEGER I, II, KK, CTR
201 lquery = ( lwork.EQ.-1 )
205 ELSE IF( n.LT.0 .OR. n.LT.m )
THEN
207 ELSE IF( mb.LT.1 .OR. ( mb.GT.m .AND. m.GT.0 ))
THEN
209 ELSE IF( nb.LE.0 )
THEN
211 ELSE IF( lda.LT.
max( 1, m ) )
THEN
213 ELSE IF( ldt.LT.mb )
THEN
215 ELSE IF( ( lwork.LT.m*mb) .AND. (.NOT.lquery) )
THEN
223 CALL xerbla(
'CLASWLQ', -info )
225 ELSE IF (lquery)
THEN
231 IF(
min(m,n).EQ.0 )
THEN
237 IF((m.GE.n).OR.(nb.LE.m).OR.(nb.GE.n))
THEN
238 CALL cgelqt( m, n, mb, a, lda, t, ldt, work, info)
247 CALL cgelqt( m, nb, mb, a(1,1), lda
250 DO i = nb+1, ii-nb+m , (nb-m)
254 CALL ctplqt( m, nb-m, 0, mb, a(1,1), lda, a( 1, i ),
263 CALL ctplqt( m, kk, 0, mb, a(1,1), lda, a( 1, ii ),
264 $ lda, t(1,ctr*m+1), ldt,
subroutine claswlq(m, n, mb, nb, a, lda, t, ldt, work, lwork, info)
CLASWLQ
subroutine cgelqt(m, n, mb, a, lda, t, ldt, work, info)
CGELQT
subroutine ctplqt(m, n, l, mb, a, lda, b, ldb, t, ldt, work, info)
CTPLQT