177 SUBROUTINE cunmhr( SIDE, TRANS, M, N, ILO, IHI, A, LDA, TAU, C,
178 $ LDC, WORK, LWORK, INFO )
185 CHARACTER SIDE, TRANS
186 INTEGER IHI, ILO, INFO, LDA, LDC, LWORK, M, N
189 COMPLEX A( lda, * ), C( ldc, * ), TAU( * ),
197 INTEGER I1, I2, IINFO, LWKOPT, MI, NB, NH, NI, NQ, NW
202 EXTERNAL ilaenv, lsame
216 left = lsame( side,
'L' )
217 lquery = ( lwork.EQ.-1 )
228 IF( .NOT.left .AND. .NOT.lsame( side,
'R' ) )
THEN 230 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.lsame( trans,
'C' ) )
233 ELSE IF( m.LT.0 )
THEN 235 ELSE IF( n.LT.0 )
THEN 237 ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, nq ) )
THEN 239 ELSE IF( ihi.LT.min( ilo, nq ) .OR. ihi.GT.nq )
THEN 241 ELSE IF( lda.LT.max( 1, nq ) )
THEN 243 ELSE IF( ldc.LT.max( 1, m ) )
THEN 245 ELSE IF( lwork.LT.nw .AND. .NOT.lquery )
THEN 251 nb = ilaenv( 1,
'CUNMQR', side // trans, nh, n, nh, -1 )
253 nb = ilaenv( 1,
'CUNMQR', side // trans, m, nh, nh, -1 )
260 CALL xerbla(
'CUNMHR', -info )
262 ELSE IF( lquery )
THEN 268 IF( m.EQ.0 .OR. n.EQ.0 .OR. nh.EQ.0 )
THEN 285 CALL cunmqr( side, trans, mi, ni, nh, a( ilo+1, ilo ), lda,
286 $ tau( ilo ), c( i1, i2 ), ldc, work, lwork, iinfo )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cunmhr(SIDE, TRANS, M, N, ILO, IHI, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
CUNMHR
subroutine cunmqr(SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, LWORK, INFO)
CUNMQR