198 SUBROUTINE ctgexc( WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z,
199 $ LDZ, IFST, ILST, INFO )
207 INTEGER IFST, ILST, INFO, LDA, LDB, LDQ, LDZ, N
210 COMPLEX A( LDA, * ), B( LDB, * ), Q( LDQ, * ),
231 ELSE IF( lda.LT.max( 1, n ) )
THEN
233 ELSE IF( ldb.LT.max( 1, n ) )
THEN
235 ELSE IF( ldq.LT.1 .OR. wantq .AND. ( ldq.LT.max( 1, n ) ) )
THEN
237 ELSE IF( ldz.LT.1 .OR. wantz .AND. ( ldz.LT.max( 1, n ) ) )
THEN
239 ELSE IF( ifst.LT.1 .OR. ifst.GT.n )
THEN
241 ELSE IF( ilst.LT.1 .OR. ilst.GT.n )
THEN
245 CALL xerbla(
'CTGEXC', -info )
256 IF( ifst.LT.ilst )
THEN
264 CALL ctgex2( wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz,
281 CALL ctgex2( wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz,
subroutine xerbla(srname, info)
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 ctgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)
CTGEXC