158template<
class cmptType>
163 std::is_floating_point<cmptType>::value,
164 "EigenMatrix operates only with scalar base type."
173 DiagonalMatrix<cmptType> EValsRe_;
177 DiagonalMatrix<cmptType> EValsIm_;
190 void tridiagonaliseSymmMatrix();
193 void symmTridiagonalQL();
243 const SquareMatrix<cmptType>&
EVecs()
const
static const Foam::dimensionedScalar A("", Foam::dimPressure, 611.21)
A templated (N x N) diagonal matrix of objects of <Type>, effectively containing N elements,...
EigenMatrix (i.e. eigendecomposition or spectral decomposition) decomposes a diagonalisable nonsymmet...
const SquareMatrix< cmptType > & EVecs() const
EigenMatrix(const EigenMatrix &)=delete
No copy construct.
const DiagonalMatrix< cmptType > & EValsIm() const
const DiagonalMatrix< cmptType > & EValsRe() const
Return real eigenvalues or real part of complex eigenvalues.
EigenMatrix()=delete
No default construct.
EigenMatrix & operator=(const EigenMatrix &)=delete
No copy assignment.
const SquareMatrix< complex > complexEVecs() const
Return right eigenvectors in unpacked form.
A templated (N x N) square matrix of objects of <Type>, containing N*N elements, derived from Matrix.