xlifepp::internalEigenSolver – Functions – S#
swapComplexSchurInPlace#
-
template<typename MatrixType>
void xlifepp::internalEigenSolver::swapComplexSchurInPlace(MatrixType &matrixT, const std::vector<int> &order)#
-
template<typename MatrixType>
void xlifepp::internalEigenSolver::swapComplexSchurInPlace(MatrixType &matrixT, MatrixType &matrixQ, const std::vector<int> &order)#
swapRealSchurInPlace#
-
template<typename MatrixType>
void xlifepp::internalEigenSolver::swapRealSchurInPlace(MatrixType &matrixT, MatrixType &matrixQ, unsigned int ifst, unsigned int ilst)#
-
Given the quasi-triangular matrix T and orthogonal matrix Q obtained from the real Schur decomposition, this function reorders the eigenvalues appearing on the (block) diagonal of matrix T The diagonal element of block of T with row index ifst is moved to row ilst.
This is implemented from “On Swapping Diagonal Blocks in Real Schur Form”
- Parameters:
-
matrixT – [inout] quasi-triangular matrix of real Schur decomposition
matrixQ – [inout] orthogonal of real Schur decomposition
ifst – [in] index of row needs moving
ilst – [in] index of destination row