22 #ifndef __HERMES_EIGENSOLVER_H
23 #define __HERMES_EIGENSOLVER_H
30 #include "python_API/python_api.h"
34 #include "Teuchos_RCP.hpp"
36 #include "Teuchos_RCP.hpp"
48 template <
typename Scalar>
49 class HERMES_API EigenSolver
52 EigenSolver(
const RCP<Algebra::Matrix<Scalar> > &A,
const RCP<Algebra::Matrix<Scalar> > &B);
58 void solve(
int n_eigs = 4,
double target_value = -1,
double tol = 1e-6,
67 double get_eigenvalue(
int i);
73 void get_eigenvector(
int i,
double **vec,
int *n);
75 void print_eigenvalues()
77 printf(
"Eigenvalues:\n");
78 for (
int i = 0; i < this->get_n_eigs(); i++)
79 printf(
"%3d: %f\n", i, this->get_eigenvalue(i));
83 RCP<Algebra::Matrix<Scalar> > A, B;