125 SUBROUTINE ztrexc( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO )
134 INTEGER ifst, ilst, info, ldq, ldt, n
137 COMPLEX*16 q( ldq, * ), t( ldt, * )
144 INTEGER k, m1, m2, m3
146 COMPLEX*16 sn, t11, t22, temp
156 INTRINSIC dconjg, max
163 wantq =
lsame( compq,
'V' )
164 IF( .NOT.
lsame( compq,
'N' ) .AND. .NOT.wantq )
THEN
166 ELSE IF( n.LT.0 )
THEN
168 ELSE IF( ldt.LT.max( 1, n ) )
THEN
170 ELSE IF( ldq.LT.1 .OR. ( wantq .AND. ldq.LT.max( 1, n ) ) )
THEN
172 ELSE IF( ifst.LT.1 .OR. ifst.GT.n )
THEN
174 ELSE IF( ilst.LT.1 .OR. ilst.GT.n )
THEN
178 CALL
xerbla(
'ZTREXC', -info )
184 IF( n.EQ.1 .OR. ifst.EQ.ilst )
187 IF( ifst.LT.ilst )
THEN
203 DO 10 k = ifst + m1, ilst + m2, m3
212 CALL
zlartg( t( k, k+1 ), t22-t11, cs, sn, temp )
217 $ CALL
zrot( n-k-1, t( k, k+2 ), ldt, t( k+1, k+2 ), ldt, cs,
219 CALL
zrot( k-1, t( 1, k ), 1, t( 1, k+1 ), 1, cs,
229 CALL
zrot( n, q( 1, k ), 1, q( 1, k+1 ), 1, cs,