Macaulay2 Engine
Loading...
Searching...
No Matches

◆ eigenvectors()

template<typename T>
bool MutableMat< T >::eigenvectors ( MutableMatrix * eigenvals,
MutableMatrix * eigenvecs,
bool is_symm_or_hermitian ) const
virtual

Implements MutableMatrix.

Definition at line 280 of file mutablemat-imp.hpp.

283{
284 if (!is_dense())
285 throw exc::engine_error(
286 "'eigenvalues' is only implemented for dense matrices");
288 {
293 if (E1 == 0 or evecs1 == 0)
294 throw exc::engine_error(
295 "eigenvalue/vector matrix is of the wrong type/ring");
297 }
298 else
299 {
303 if (E1 == 0 or evecs1 == 0)
304 throw exc::engine_error(
305 "eigenvalue/vector matrix is of the wrong type/ring");
307 }
308}
virtual bool is_dense() const
MatT * coerce()
Definition mat.hpp:151
bool eigenvectors(const Mat &A, Mat2 &eigenvals, Mat3 &eigenvecs)
bool eigenvectorsHermitian(const Mat &A, Mat2 &eigenvals, Mat3 &eigenvecs)

References MutableMatrix::coerce(), MatrixOps::eigenvectors(), MatrixOps::eigenvectorsHermitian(), is_dense(), mat, and MutableMatrix::MutableMatrix().