![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine dlaexc | ( | logical | WANTQ, |
| integer | N, | ||
| double precision, dimension( ldt, * ) | T, | ||
| integer | LDT, | ||
| double precision, dimension( ldq, * ) | Q, | ||
| integer | LDQ, | ||
| integer | J1, | ||
| integer | N1, | ||
| integer | N2, | ||
| double precision, dimension( * ) | WORK, | ||
| integer | INFO | ||
| ) |
DLAEXC swaps adjacent diagonal blocks of a real upper quasi-triangular matrix in Schur canonical form, by an orthogonal similarity transformation.
Download DLAEXC + dependencies [TGZ] [ZIP] [TXT]
DLAEXC swaps adjacent diagonal blocks T11 and T22 of order 1 or 2 in an upper quasi-triangular matrix T by an orthogonal similarity transformation. T must be in Schur canonical form, that is, block upper triangular with 1-by-1 and 2-by-2 diagonal blocks; each 2-by-2 diagonal block has its diagonal elemnts equal and its off-diagonal elements of opposite sign.
| [in] | WANTQ | WANTQ is LOGICAL
= .TRUE. : accumulate the transformation in the matrix Q;
= .FALSE.: do not accumulate the transformation. |
| [in] | N | N is INTEGER
The order of the matrix T. N >= 0. |
| [in,out] | T | T is DOUBLE PRECISION array, dimension (LDT,N)
On entry, the upper quasi-triangular matrix T, in Schur
canonical form.
On exit, the updated matrix T, again in Schur canonical form. |
| [in] | LDT | LDT is INTEGER
The leading dimension of the array T. LDT >= max(1,N). |
| [in,out] | Q | Q is DOUBLE PRECISION array, dimension (LDQ,N)
On entry, if WANTQ is .TRUE., the orthogonal matrix Q.
On exit, if WANTQ is .TRUE., the updated matrix Q.
If WANTQ is .FALSE., Q is not referenced. |
| [in] | LDQ | LDQ is INTEGER
The leading dimension of the array Q.
LDQ >= 1; and if WANTQ is .TRUE., LDQ >= N. |
| [in] | J1 | J1 is INTEGER
The index of the first row of the first block T11. |
| [in] | N1 | N1 is INTEGER
The order of the first block T11. N1 = 0, 1 or 2. |
| [in] | N2 | N2 is INTEGER
The order of the second block T22. N2 = 0, 1 or 2. |
| [out] | WORK | WORK is DOUBLE PRECISION array, dimension (N) |
| [out] | INFO | INFO is INTEGER
= 0: successful exit
= 1: the transformed matrix T would be too far from Schur
form; the blocks are not swapped and T and Q are
unchanged. |
Definition at line 140 of file dlaexc.f.