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 xerbla(SRNAME, INFO)
XERBLA
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real b(3) integer i
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...