173 SUBROUTINE cungtsqr( M, N, MB, NB, A, LDA, T, LDT, WORK, LWORK,
182 INTEGER INFO, , LDT, LWORK, M, N, MB, NB
185 COMPLEX A( LDA, * ), T( LDT, * ), WORK( * )
192 parameter( cone = ( 1.0e+0, 0.0e+0 ),
193 $ czero = ( 0.0e+0, 0.0e+0 ) )
197 INTEGER , LDC, LWORKOPT, LC, LW, NBLOCAL, J
213 ELSE IF( n.LT.0 .OR. m.LT.n )
THEN
215 ELSE IF( mb.LE.n )
THEN
217 ELSE IF( nb.LT.1 )
THEN
219 ELSE IF( lda.LT.
max(
THEN
221 ELSE IF( ldt.LT.
max( 1,
min( nb, n ) ) )
THEN
229 IF( lwork.LT.2 .AND. (.NOT.lquery) )
THEN
235 nblocal =
min( nb, n )
247 IF( ( lwork.LT.
max( 1, lworkopt ) ).AND.(.NOT.lquery) )
THEN
257 CALL xerbla(
'CUNGTSQR', -info )
259 ELSE IF ( lquery )
THEN
260 work( 1 ) =
cmplx( lworkopt )
266 IF(
min( m, n ).EQ.0 )
THEN
267 work( 1 ) =
cmplx( lworkopt )
282 CALL claset(
'F', m, n, czero, cone, work, ldc )
289 CALL clamtsqr(
'L',
'N', m, n, n, mb, nblocal, a, lda, t, ldt,
290 $ work, ldc, work( lc+1 ), lw, iinfo )
297 CALL ccopy( m, work( (j-1)*ldc + 1 ), 1, a( 1, j ), 1 )
300 work( 1 ) =
cmplx( lworkopt )
subroutine clamtsqr(side, trans, m, n, k, mb, nb, a, lda, t, ldt, c, ldc, work, lwork, info)
CLAMTSQR
subroutine claset(uplo, m, n, alpha, beta, a, lda)
CLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
subroutine cungtsqr(m, n, mb, nb, a, lda, t, ldt, work, lwork, info)
CUNGTSQR