122 SUBROUTINE zungtr( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
130 INTEGER INFO, LDA, LWORK, N
133 COMPLEX*16 A( LDA, * ), TAU( * ), WORK( * )
140 parameter( zero = ( 0.0d+0, 0.0d+0 ),
141 $ one = ( 1.0d+0, 0.0d+0 ) )
144 LOGICAL LQUERY, UPPER
145 INTEGER I, IINFO, J, LWKOPT, NB
150 EXTERNAL lsame, ilaenv
163 lquery = ( lwork.EQ.-1 )
164 upper = lsame( uplo,
'U' )
165 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
167 ELSE IF( n.LT.0 )
THEN
169 ELSE IF( lda.LT.max( 1, n ) )
THEN
171 ELSE IF( lwork.LT.max( 1, n-1 ) .AND. .NOT.lquery )
THEN
177 nb = ilaenv( 1,
'ZUNGQL',
' ', n-1, n-1, n-1, -1 )
179 nb = ilaenv( 1,
'ZUNGQR',
' ', n-1, n-1, n-1, -1 )
181 lwkopt = max( 1, n-1 )*nb
186 CALL xerbla(
'ZUNGTR', -info )
188 ELSE IF( lquery )
THEN
209 a( i, j ) = a( i, j+1 )
220 CALL zungql( n-1, n-1, n-1, a, lda, tau, work, lwork, iinfo )
233 a( i, j ) = a( i, j-1 )
244 CALL zungqr( n-1, n-1, n-1, a( 2, 2 ), lda, tau, work,
subroutine xerbla(srname, info)
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