122 SUBROUTINE cungtr( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
130 INTEGER INFO, LDA, LWORK, N
133 COMPLEX A( lda, * ), TAU( * ), WORK( * )
140 parameter( zero = ( 0.0e+0, 0.0e+0 ),
141 $ one = ( 1.0e+0, 0.0e+0 ) )
144 LOGICAL LQUERY, UPPER
145 INTEGER I, IINFO, J, LWKOPT, NB
150 EXTERNAL ilaenv, lsame
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,
'CUNGQL',
' ', n-1, n-1, n-1, -1 )
179 nb = ilaenv( 1,
'CUNGQR',
' ', n-1, n-1, n-1, -1 )
181 lwkopt = max( 1, n-1 )*nb
186 CALL xerbla(
'CUNGTR', -info )
188 ELSE IF( lquery )
THEN 209 a( i, j ) = a( i, j+1 )
220 CALL cungql( n-1, n-1, n-1, a, lda, tau, work, lwork, iinfo )
233 a( i, j ) = a( i, j-1 )
244 CALL cungqr( n-1, n-1, n-1, a( 2, 2 ), lda, tau, work,
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cungql(M, N, K, A, LDA, TAU, WORK, LWORK, INFO)
CUNGQL
subroutine cungqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO)
CUNGQR
subroutine cungtr(UPLO, N, A, LDA, TAU, WORK, LWORK, INFO)
CUNGTR