140 #ifndef Foam_EigenMatrix_H 141 #define Foam_EigenMatrix_H 157 template<
class cmptType>
162 std::is_floating_point<cmptType>::value,
163 "EigenMatrix operates only with scalar base type." 172 DiagonalMatrix<cmptType> EValsRe_;
189 void tridiagonaliseSymmMatrix();
192 void symmTridiagonalQL();
EigenMatrix()=delete
No default construct.
EigenMatrix & operator=(const EigenMatrix &)=delete
No copy assignment.
const DiagonalMatrix< cmptType > & EValsIm() const noexcept
Return zero-matrix for real eigenvalues or imaginary part of complex eigenvalues. ...
const SquareMatrix< complex > complexEVecs() const
Return right eigenvectors in unpacked form.
const DiagonalMatrix< cmptType > & EValsRe() const noexcept
Return real eigenvalues or real part of complex eigenvalues.
const SquareMatrix< cmptType > & EVecs() const noexcept
Return right eigenvectors matrix where each column is a right eigenvector that corresponds to an eige...
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
EigenMatrix (i.e. eigendecomposition or spectral decomposition) decomposes a diagonalisable nonsymmet...