XLPack 6.1
Excel VBA Numerical Library Reference Manual
Loading...
Searching...
No Matches

◆ 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]NOrder 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]IlstSpecify 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