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.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=dp), | intent(inout) | :: | T(:,:) | |||
| complex(kind=dp), | intent(inout) | :: | Q(:,:) | |||
| logical, | intent(in) | :: | selected(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| complex(kind=sp), | intent(inout) | :: | T(:,:) | |||
| complex(kind=sp), | intent(inout) | :: | Q(:,:) | |||
| logical, | intent(in) | :: | selected(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(inout) | :: | T(:,:) | |||
| real(kind=dp), | intent(inout) | :: | Q(:,:) | |||
| logical, | intent(in) | :: | selected(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=sp), | intent(inout) | :: | T(:,:) | |||
| real(kind=sp), | intent(inout) | :: | Q(:,:) | |||
| logical, | intent(in) | :: | selected(:) |