|
◆ Ztrexc()
Sub Ztrexc |
( |
Compq As |
String, |
|
|
N As |
Long, |
|
|
T() As |
Complex, |
|
|
Q() As |
Complex, |
|
|
Ifst As |
Long, |
|
|
Ilst As |
Long, |
|
|
Info As |
Long |
|
) |
| |
Reordering of Schur factorization of complex matrix
- Purpose
- This routine reorders the Schur factorization of a complex matrix A = Q*T*Q^H, so that the diagonal block of T with row index Ifst is moved to row Ilst.
The Schur form T is reordered by a unitary similarity transformation Z^H*T*Z, and optionally the matrix Q of Schur vectors is updated by postmultiplying it with Z.
- Parameters
-
[in] | Compq | = "V": Update the matrix Q of Schur vectors.
= "N": Do not update Q. |
[in] | N | Order of the matrix T. (N >= 0) (If N = 0, returns without computation) |
[in,out] | T() | Array T(LT1 - 1, LT2 - 1) (LT1 >= N, LT2 >= N)
[in] The upper triangular matrix T.
[out] The reordered upper triangular matrix. |
[in,out] | Q() | Array Q(LQ1 - 1, LQ2 - 1) (LQ1 >= N, LQ2 >= N)
If Compq = "V",
[in] The matrix Q of Schur vectors.
[out] Q has been postmultiplied by the unitary transformation matrix Z which reorders T.
If Compq = "N", Q() is not referenced. |
[in] | Ifst | |
[in] | Ilst | Specify the reordering of the diagonal elements of T. The element with row index Ifst is moved to row Ilst, by a sequence of transpositions between adjacent elements.
(1 <= Ifst <= N, 1 <= Ilst <= N) |
[out] | Info | = 0: Successful exit.
= -1: The argument Compq had an illegal value. (Copq <> "V" nor "N")
= -2: The argument N had an illegal value. (N < 0)
= -3: The argument T() is invalid.
= -4: The argument Q() is invalid.
= -5: The argument Ifst had an illegal value. (Ifst < 1 or Ifst > N)
= -6: The argument Ilst had an illegal value. (Ilst < 1 or Ilst > N) |
- Reference
- LAPACK
|