127 SUBROUTINE ztrexc( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO )
136 INTEGER IFST, ILST, INFO, LDQ, LDT, N
139 COMPLEX*16 Q( ldq, * ), T( ldt, * )
146 INTEGER K, M1, M2, M3
148 COMPLEX*16 SN, T11, T22, TEMP
158 INTRINSIC dconjg, max
165 wantq = lsame( compq,
'V' )
166 IF( .NOT.lsame( compq,
'N' ) .AND. .NOT.wantq )
THEN
168 ELSE IF( n.LT.0 )
THEN
170 ELSE IF( ldt.LT.max( 1, n ) )
THEN
172 ELSE IF( ldq.LT.1 .OR. ( wantq .AND. ldq.LT.max( 1, n ) ) )
THEN
174 ELSE IF(( ifst.LT.1 .OR. ifst.GT.n ).AND.( n.GT.0 ))
THEN
176 ELSE IF(( ilst.LT.1 .OR. ilst.GT.n ).AND.( n.GT.0 ))
THEN
180 CALL xerbla(
'ZTREXC', -info )
186 IF( n.LE.1 .OR. ifst.EQ.ilst )
189 IF( ifst.LT.ilst )
THEN
205 DO 10 k = ifst + m1, ilst + m2, m3
214 CALL zlartg( t( k, k+1 ), t22-t11, cs, sn, temp )
219 $
CALL zrot( n-k-1, t( k, k+2 ), ldt, t( k+1, k+2 ), ldt, cs,
221 CALL zrot( k-1, t( 1, k ), 1, t( 1, k+1 ), 1, cs,
231 CALL zrot( n, q( 1, k ), 1, q( 1, k+1 ), 1, cs,
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...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrexc(COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO)
ZTREXC
subroutine zlartg(F, G, CS, SN, R)
ZLARTG generates a plane rotation with real cosine and complex sine.