125 SUBROUTINE ctrexc( COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO )
134 INTEGER IFST, ILST, INFO, LDQ, LDT, N
137 COMPLEX Q( ldq, * ), T( ldt, * )
144 INTEGER K, M1, M2, M3
146 COMPLEX SN, T11, T22, TEMP
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(
'CTREXC', -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 clartg( t( k, k+1 ), t22-t11, cs, sn, temp )
217 $
CALL crot( n-k-1, t( k, k+2 ), ldt, t( k+1, k+2 ), ldt, cs,
219 CALL crot( k-1, t( 1, k ), 1, t( 1, k+1 ), 1, cs, conjg( sn ) )
228 CALL crot( n, q( 1, k ), 1, q( 1, k+1 ), 1, cs,
subroutine clartg(F, G, CS, SN, R)
CLARTG generates a plane rotation with real cosine and complex sine.
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ctrexc(COMPQ, N, T, LDT, Q, LDQ, IFST, ILST, INFO)
CTREXC
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...