125 SUBROUTINE ctrexc( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO )
133 INTEGER IFST, ILST, INFO, LDQ, LDT, N
136 COMPLEX Q( LDQ, * ), T( LDT, * )
143 INTEGER K, M1, M2, M3
145 COMPLEX SN, T11, T22, TEMP
162 wantq = lsame( compq,
'V' )
163 IF( .NOT.lsame( compq,
'N' ) .AND. .NOT.wantq )
THEN
165 ELSE IF( n.LT.0 )
THEN
167 ELSE IF( ldt.LT.max( 1, n ) )
THEN
169 ELSE IF( ldq.LT.1 .OR. ( wantq .AND. ldq.LT.max( 1, n ) ) )
THEN
171 ELSE IF(( ifst.LT.1 .OR. ifst.GT.n ).AND.( n.GT.0 ))
THEN
173 ELSE IF(( ilst.LT.1 .OR. ilst.GT.n ).AND.( n.GT.0 ))
THEN
177 CALL xerbla(
'CTREXC', -info )
183 IF( n.LE.1 .OR. ifst.EQ.ilst )
186 IF( ifst.LT.ilst )
THEN
202 DO 10 k = ifst + m1, ilst + m2, m3
211 CALL clartg( t( k, k+1 ), t22-t11, cs, sn, temp )
216 $
CALL crot( n-k-1, t( k, k+2 ), ldt, t( k+1, k+2 ), ldt, cs,
218 CALL crot( k-1, t( 1, k ), 1, t( 1, k+1 ), 1, cs, conjg( sn ) )
227 CALL crot( n, q( 1, k ), 1, q( 1, k+1 ), 1, cs,
subroutine xerbla(srname, info)
subroutine clartg(f, g, c, s, r)
CLARTG generates a plane rotation with real cosine and complex sine.
subroutine crot(n, cx, incx, cy, incy, c, s)
CROT applies a plane rotation with real cosine and complex sine to a pair of complex vectors.
subroutine ctrexc(compq, n, t, ldt, q, ldq, ifst, ilst, info)
CTREXC