Given the Schur factorization and basis of a matrix, reorders it to have the selected eigenvalues in the upper left block.
This interface provides methods to re-order the Schur factorization of a real
or
complex
square matrix. Note that, if is real
, it returns the
real Schur form.
call ordschur(T, Q, selected)
T
: real
or complex
square array containing the Schur factorization of a matrix.
On exit, it is overwritten with its re-ordered counterpart. It is an intent(inout)
argument.
Q
: Two-dimensional square array of the same size, type and kind as A
. It contains
the original Schur basis on entry and the re-ordered one on exit.
It is an intent(inout)
argument.
selected
: logical
rank-1 array selecting which eigenvalues need to be moved in the
upper left block of the Schur factorization.
It is an intent(in)
arguement.
Re-order the Schur factorization from schur
such that the selected eigenvalues
are in the upper-left block.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=sp), | intent(inout) | :: | T(:,:) |
Schur matrix to be re-ordered. |
||
real(kind=sp), | intent(inout) | :: | Q(:,:) |
Schur vectors to be re-ordered. |
||
logical, | intent(in) | :: | selected(:) |
Boolean array defining the selected eigenvalues. |
Re-order the Schur factorization from schur
such that the selected eigenvalues
are in the upper-left block.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(inout) | :: | T(:,:) |
Schur matrix to be re-ordered. |
||
real(kind=dp), | intent(inout) | :: | Q(:,:) |
Schur vectors to be re-ordered. |
||
logical, | intent(in) | :: | selected(:) |
Boolean array defining the selected eigenvalues. |
Re-order the Schur factorization from schur
such that the selected eigenvalues
are in the upper-left block.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=sp), | intent(inout) | :: | T(:,:) |
Schur matrix to be re-ordered. |
||
complex(kind=sp), | intent(inout) | :: | Q(:,:) |
Schur vectors to be re-ordered. |
||
logical, | intent(in) | :: | selected(:) |
Boolean array defining the selected eigenvalues. |
Re-order the Schur factorization from schur
such that the selected eigenvalues
are in the upper-left block.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
complex(kind=dp), | intent(inout) | :: | T(:,:) |
Schur matrix to be re-ordered. |
||
complex(kind=dp), | intent(inout) | :: | Q(:,:) |
Schur vectors to be re-ordered. |
||
logical, | intent(in) | :: | selected(:) |
Boolean array defining the selected eigenvalues. |