template<typename T, size_t N, unsigned int Flags = 0>
struct Linear::Eigendecomposition< T, N, Flags >
Struct for Eigendecomposition.
This struct finds NxN matrix Q and NxN matrix D such that \(A=QDQ^{-1}\), D is diagonal with entries equaling the eigenvalues of A and V's columns are the corresponding eigenvectors of A. Only diagonalizable matrices can be decomposed in this fashion.
- Parameters
-
T | Type to store matrix entries as. |
N | Number of rows/columns for L and D (both square). Dynamic is allowed for N. |
Flags | Flags to pass to the matrices (default = row major). |
template<typename T , size_t N, unsigned int Flags = 0>
template<size_t M2, size_t N2, unsigned int Flags2>
Computes the Eigendecomposition.
If A is not square or Q != N, then an exception is thrown. If the matrix is not diagonalizable, an exception will be thrown.
- Parameters
-