200 SUBROUTINE ctgexc( WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z,
201 $ ldz, ifst, ilst, info )
210 INTEGER IFST, ILST, INFO, LDA, LDB, LDQ, LDZ, N
213 COMPLEX A( lda, * ), B( ldb, * ), Q( ldq, * ),
234 ELSE IF( lda.LT.max( 1, n ) )
THEN
236 ELSE IF( ldb.LT.max( 1, n ) )
THEN
238 ELSE IF( ldq.LT.1 .OR. wantq .AND. ( ldq.LT.max( 1, n ) ) )
THEN
240 ELSE IF( ldz.LT.1 .OR. wantz .AND. ( ldz.LT.max( 1, n ) ) )
THEN
242 ELSE IF( ifst.LT.1 .OR. ifst.GT.n )
THEN
244 ELSE IF( ilst.LT.1 .OR. ilst.GT.n )
THEN
248 CALL xerbla(
'CTGEXC', -info )
259 IF( ifst.LT.ilst )
THEN
267 CALL ctgex2( wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz,
284 CALL ctgex2( wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz,
subroutine ctgex2(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, J1, INFO)
CTGEX2 swaps adjacent diagonal blocks in an upper (quasi) triangular matrix pair by an unitary equiva...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ctgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, INFO)
CTGEXC