196 SUBROUTINE ztgexc( WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z,
197 $ LDZ, IFST, ILST, INFO )
205 INTEGER IFST, ILST, INFO, LDA, LDB, LDQ, LDZ, N
208 COMPLEX*16 A( LDA, * ), B( LDB, * ), Q( LDQ, * ),
229 ELSE IF( lda.LT.max( 1, n ) )
THEN
231 ELSE IF( ldb.LT.max( 1, n ) )
THEN
233 ELSE IF( ldq.LT.1 .OR. wantq .AND. ( ldq.LT.max( 1, n ) ) )
THEN
235 ELSE IF( ldz.LT.1 .OR. wantz .AND. ( ldz.LT.max( 1, n ) ) )
THEN
237 ELSE IF( ifst.LT.1 .OR. ifst.GT.n )
THEN
239 ELSE IF( ilst.LT.1 .OR. ilst.GT.n )
THEN
243 CALL xerbla(
'ZTGEXC', -info )
254 IF( ifst.LT.ilst )
THEN
262 CALL ztgex2( wantq, wantz, n, a, lda, b, ldb, q, ldq, z,
280 CALL ztgex2( wantq, wantz, n, a, lda, b, ldb, q, ldq, z,
subroutine ztgex2(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, j1, info)
ZTGEX2 swaps adjacent diagonal blocks in an upper (quasi) triangular matrix pair by an unitary equiva...
subroutine ztgexc(wantq, wantz, n, a, lda, b, ldb, q, ldq, z, ldz, ifst, ilst, info)
ZTGEXC