120 SUBROUTINE zungtr( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
128 INTEGER INFO, LDA, LWORK, N
131 COMPLEX*16 A( LDA, * ), TAU( * ), WORK( * )
138 parameter( zero = ( 0.0d+0, 0.0d+0 ),
139 $ one = ( 1.0d+0, 0.0d+0 ) )
142 LOGICAL LQUERY, UPPER
143 INTEGER I, IINFO, J, LWKOPT, NB
148 EXTERNAL lsame, ilaenv
161 lquery = ( lwork.EQ.-1 )
162 upper = lsame( uplo,
'U' )
163 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
165 ELSE IF( n.LT.0 )
THEN
167 ELSE IF( lda.LT.max( 1, n ) )
THEN
169 ELSE IF( lwork.LT.max( 1, n-1 ) .AND. .NOT.lquery )
THEN
175 nb = ilaenv( 1,
'ZUNGQL',
' ', n-1, n-1, n-1, -1 )
177 nb = ilaenv( 1,
'ZUNGQR',
' ', n-1, n-1, n-1, -1 )
179 lwkopt = max( 1, n-1 )*nb
184 CALL xerbla(
'ZUNGTR', -info )
186 ELSE IF( lquery )
THEN
207 a( i, j ) = a( i, j+1 )
218 CALL zungql( n-1, n-1, n-1, a, lda, tau, work, lwork,
232 a( i, j ) = a( i, j-1 )
243 CALL zungqr( n-1, n-1, n-1, a( 2, 2 ), lda, tau, work,
subroutine zungql(m, n, k, a, lda, tau, work, lwork, info)
ZUNGQL
subroutine zungqr(m, n, k, a, lda, tau, work, lwork, info)
ZUNGQR
subroutine zungtr(uplo, n, a, lda, tau, work, lwork, info)
ZUNGTR