table of contents
other versions
- jessie 3.5.0-4
- jessie-backports 3.7.0-1~bpo8+1
- stretch 3.7.0-2
- testing 3.8.0-1
- unstable 3.8.0-1
| dtgex2.f(3) | LAPACK | dtgex2.f(3) |
NAME¶
dtgex2.f -SYNOPSIS¶
Functions/Subroutines¶
subroutine dtgex2 (WANTQ, WANTZ, N, A, LDA, B, LDB, Q, LDQ, Z, LDZ, J1, N1, N2, WORK, LWORK, INFO)
Function/Subroutine Documentation¶
subroutine dtgex2 (logicalWANTQ, logicalWANTZ, integerN, double precision, dimension( lda, * )A, integerLDA, double precision, dimension( ldb, * )B, integerLDB, double precision, dimension( ldq, * )Q, integerLDQ, double precision, dimension( ldz, * )Z, integerLDZ, integerJ1, integerN1, integerN2, double precision, dimension( * )WORK, integerLWORK, integerINFO)¶
DTGEX2 swaps adjacent diagonal blocks in an upper (quasi) triangular matrix pair by an orthogonal equivalence transformation. Purpose: DTGEX2 swaps adjacent diagonal blocks (A11, B11) and (A22, B22)
of size 1-by-1 or 2-by-2 in an upper (quasi) triangular matrix pair
(A, B) by an orthogonal equivalence transformation.
(A, B) must be in generalized real Schur canonical form (as returned
by DGGES), i.e. A is block upper triangular with 1-by-1 and 2-by-2
diagonal blocks. B is upper triangular.
Optionally, the matrices Q and Z of generalized Schur vectors are
updated.
Q(in) * A(in) * Z(in)**T = Q(out) * A(out) * Z(out)**T
Q(in) * B(in) * Z(in)**T = Q(out) * B(out) * Z(out)**T
WANTQ
Author:
WANTQ is LOGICAL
.TRUE. : update the left transformation matrix Q;
.FALSE.: do not update Q.
WANTZ
WANTZ is LOGICAL
.TRUE. : update the right transformation matrix Z;
.FALSE.: do not update Z.
N
N is INTEGER
The order of the matrices A and B. N >= 0.
A
A is DOUBLE PRECISION array, dimensions (LDA,N)
On entry, the matrix A in the pair (A, B).
On exit, the updated matrix A.
LDA
LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,N).
B
B is DOUBLE PRECISION array, dimensions (LDB,N)
On entry, the matrix B in the pair (A, B).
On exit, the updated matrix B.
LDB
LDB is INTEGER
The leading dimension of the array B. LDB >= max(1,N).
Q
Q is DOUBLE PRECISION array, dimension (LDQ,N)
On entry, if WANTQ = .TRUE., the orthogonal matrix Q.
On exit, the updated matrix Q.
Not referenced if WANTQ = .FALSE..
LDQ
LDQ is INTEGER
The leading dimension of the array Q. LDQ >= 1.
If WANTQ = .TRUE., LDQ >= N.
Z
Z is DOUBLE PRECISION array, dimension (LDZ,N)
On entry, if WANTZ =.TRUE., the orthogonal matrix Z.
On exit, the updated matrix Z.
Not referenced if WANTZ = .FALSE..
LDZ
LDZ is INTEGER
The leading dimension of the array Z. LDZ >= 1.
If WANTZ = .TRUE., LDZ >= N.
J1
J1 is INTEGER
The index to the first block (A11, B11). 1 <= J1 <= N.
N1
N1 is INTEGER
The order of the first block (A11, B11). N1 = 0, 1 or 2.
N2
N2 is INTEGER
The order of the second block (A22, B22). N2 = 0, 1 or 2.
WORK
WORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)).LWORK
LWORK is INTEGER
The dimension of the array WORK.
LWORK >= MAX( 1, N*(N2+N1), (N2+N1)*(N2+N1)*2 )
INFO
INFO is INTEGER
=0: Successful exit
>0: If INFO = 1, the transformed matrix (A, B) would be
too far from generalized Schur form; the blocks are
not swapped and (A, B) and (Q, Z) are unchanged.
The problem of swapping is too ill-conditioned.
<0: If INFO = -16: LWORK is too small. Appropriate value
for LWORK is returned in WORK(1).
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date:
September 2012
Further Details:
In the current code both weak and strong stability tests
are performed. The user can omit the strong stability test by changing the
internal logical parameter WANDS to .FALSE.. See ref. [2] for details.
Contributors:
Bo Kagstrom and Peter Poromaa, Department of Computing
Science, Umea University, S-901 87 Umea, Sweden.
References:
[1] B. Kagstrom; A Direct Method for Reordering Eigenvalues in the
Generalized Real Schur Form of a Regular Matrix Pair (A, B), in
M.S. Moonen et al (eds), Linear Algebra for Large Scale and
Real-Time Applications, Kluwer Academic Publ. 1993, pp 195-218.
[2] B. Kagstrom and P. Poromaa; Computing Eigenspaces with Specified
Eigenvalues of a Regular Matrix Pair (A, B) and Condition
Estimation: Theory, Algorithms and Software,
Report UMINF - 94.04, Department of Computing Science, Umea
University, S-901 87 Umea, Sweden, 1994. Also as LAPACK Working
Note 87. To appear in Numerical Algorithms, 1996.
Author¶
Generated automatically by Doxygen for LAPACK from the source code.| Wed Oct 15 2014 | Version 3.4.2 |