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 ),
144 LOGICAL LQUERY, UPPER
145 INTEGER , 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
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 cungtr(uplo, n, a, lda, tau, work, lwork, info)
CUNGTR
subroutine cungql(m, n, k, a, lda, tau, work, lwork, info)
CUNGQL
subroutine cungqr(m, n, k, a, lda, tau, work, lwork, info)
CUNGQR