16#include <Eigen/Sparse>
19 template<
class DenseMatrix>
22 template<
typename _Scalar,
int _Rows,
int _Cols,
int _Options,
int _MaxRows,
int _MaxCols>
23 class EigenSolver<
Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols> > {
25 using Matrix_t = Eigen::Matrix<_Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols>;
28 Eigen::SelfAdjointEigenSolver<Matrix_t>
m_solver;
29 Eigen::ComputationInfo m_info = Eigen::InvalidInput;
30 Eigen::DecompositionOptions m_option = Eigen::ComputeEigenvectors;
42 m_solver.compute(m_inMatrix, m_option);
43 m_info = m_solver.info();
52 auto eigenvalues() ->
decltype(m_solver.eigenvalues())
const& {
53 return m_solver.eigenvalues();
57 return m_solver.eigenvectors();
Matrix_t & inMatrix()
Definition MatrixUtils.hpp:60
Matrix_t m_inMatrix
Definition MatrixUtils.hpp:27
EigenSolver(EigenSolver const &)=delete
EigenSolver & compute()
Definition MatrixUtils.hpp:41
Eigen::Matrix< _Scalar, _Rows, _Cols, _Options, _MaxRows, _MaxCols > Matrix_t
Definition MatrixUtils.hpp:25
EigenSolver(Matrix_t &&mat)
Definition MatrixUtils.hpp:39
EigenSolver & setOpt(Eigen::DecompositionOptions option)
Definition MatrixUtils.hpp:47
auto eigenvalues() -> decltype(m_solver.eigenvalues()) const &
Definition MatrixUtils.hpp:52
Eigen::SelfAdjointEigenSolver< Matrix_t > m_solver
Definition MatrixUtils.hpp:28
EigenSolver(int dim)
Definition MatrixUtils.hpp:36
EigenSolver(EigenSolver &&)=delete
EigenSolver(Matrix_t const &mat)=delete
auto eigenvectors() -> decltype(m_solver.eigenvectors()) const &
Definition MatrixUtils.hpp:56
Definition MatrixUtils.hpp:20
Definition OperatorSpace_test.cpp:3
Definition MatrixUtils.cuh:781