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)
XERBLA
subroutine ctgexc(WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, IFST, ILST, INFO)
CTGEXC
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...