125 SUBROUTINE cunghr( N, ILO, IHI, A, LDA, TAU, WORK, LWORK, INFO )
132 INTEGER IHI, ILO, INFO, LDA, LWORK, N
135 COMPLEX A( LDA, * ), TAU( * ), WORK( * )
142 parameter( zero = ( 0.0e+0, 0.0e+0 ),
143 $ one = ( 1.0e+0, 0.0e+0 ) )
147 INTEGER I, IINFO, J, LWKOPT, NB, NH
155 EXTERNAL ilaenv, sroundup_lwork
166 lquery = ( lwork.EQ.-1 )
169 ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, n ) )
THEN
171 ELSE IF( ihi.LT.min( ilo, n ) .OR. ihi.GT.n )
THEN
173 ELSE IF( lda.LT.max( 1, n ) )
THEN
175 ELSE IF( lwork.LT.max( 1, nh ) .AND. .NOT.lquery )
THEN
180 nb = ilaenv( 1,
'CUNGQR',
' ', nh, nh, nh, -1 )
181 lwkopt = max( 1, nh )*nb
182 work( 1 ) = sroundup_lwork(lwkopt)
186 CALL xerbla(
'CUNGHR', -info )
188 ELSE IF( lquery )
THEN
203 DO 40 j = ihi, ilo + 1, -1
208 a( i, j ) = a( i, j-1 )
231 CALL cungqr( nh, nh, nh, a( ilo+1, ilo+1 ), lda, tau( ilo ),
232 $ work, lwork, iinfo )
234 work( 1 ) = sroundup_lwork(lwkopt)
subroutine xerbla(srname, info)
subroutine cunghr(n, ilo, ihi, a, lda, tau, work, lwork, info)
CUNGHR
subroutine cungqr(m, n, k, a, lda, tau, work, lwork, info)
CUNGQR