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,
subroutine zlartg(F, G, CS, SN, R)
ZLARTG generates a plane rotation with real cosine and complex sine.
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrexc(COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO)
ZTREXC
subroutine zrot(N, CX, INCX, CY, INCY, C, S)
ZROT applies a plane rotation with real cosine and complex sine to a pair of complex vectors...