LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
|
subroutine ztgex2 | ( | logical | wantq, |
logical | wantz, | ||
integer | n, | ||
complex*16, dimension( lda, * ) | a, | ||
integer | lda, | ||
complex*16, dimension( ldb, * ) | b, | ||
integer | ldb, | ||
complex*16, dimension( ldq, * ) | q, | ||
integer | ldq, | ||
complex*16, dimension( ldz, * ) | z, | ||
integer | ldz, | ||
integer | j1, | ||
integer | info ) |
ZTGEX2 swaps adjacent diagonal blocks in an upper (quasi) triangular matrix pair by an unitary equivalence transformation.
Download ZTGEX2 + dependencies [TGZ] [ZIP] [TXT]
!> !> ZTGEX2 swaps adjacent diagonal 1 by 1 blocks (A11,B11) and (A22,B22) !> in an upper triangular matrix pair (A, B) by an unitary equivalence !> transformation. !> !> (A, B) must be in generalized Schur canonical form, that is, A and !> B are both upper triangular. !> !> Optionally, the matrices Q and Z of generalized Schur vectors are !> updated. !> !> Q(in) * A(in) * Z(in)**H = Q(out) * A(out) * Z(out)**H !> Q(in) * B(in) * Z(in)**H = Q(out) * B(out) * Z(out)**H !> !>
[in] | WANTQ | !> WANTQ is LOGICAL !> .TRUE. : update the left transformation matrix Q; !> .FALSE.: do not update Q. !> |
[in] | WANTZ | !> WANTZ is LOGICAL !> .TRUE. : update the right transformation matrix Z; !> .FALSE.: do not update Z. !> |
[in] | N | !> N is INTEGER !> The order of the matrices A and B. N >= 0. !> |
[in,out] | A | !> A is COMPLEX*16 array, dimensions (LDA,N) !> On entry, the matrix A in the pair (A, B). !> On exit, the updated matrix A. !> |
[in] | LDA | !> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !> |
[in,out] | B | !> B is COMPLEX*16 array, dimensions (LDB,N) !> On entry, the matrix B in the pair (A, B). !> On exit, the updated matrix B. !> |
[in] | LDB | !> LDB is INTEGER !> The leading dimension of the array B. LDB >= max(1,N). !> |
[in,out] | Q | !> Q is COMPLEX*16 array, dimension (LDQ,N) !> If WANTQ = .TRUE, on entry, the unitary matrix Q. On exit, !> the updated matrix Q. !> Not referenced if WANTQ = .FALSE.. !> |
[in] | LDQ | !> LDQ is INTEGER !> The leading dimension of the array Q. LDQ >= 1; !> If WANTQ = .TRUE., LDQ >= N. !> |
[in,out] | Z | !> Z is COMPLEX*16 array, dimension (LDZ,N) !> If WANTZ = .TRUE, on entry, the unitary matrix Z. On exit, !> the updated matrix Z. !> Not referenced if WANTZ = .FALSE.. !> |
[in] | LDZ | !> LDZ is INTEGER !> The leading dimension of the array Z. LDZ >= 1; !> If WANTZ = .TRUE., LDZ >= N. !> |
[in] | J1 | !> J1 is INTEGER !> The index to the first block (A11, B11). !> |
[out] | INFO | !> INFO is INTEGER !> =0: Successful exit. !> =1: The transformed matrix pair (A, B) would be too far !> from generalized Schur form; the problem is ill- !> conditioned. !> |
Definition at line 186 of file ztgex2.f.