11 #include "dolfinx/common/MPI.h"
22 class VectorSpaceBasis;
27 class SLEPcEigenSolver
31 explicit SLEPcEigenSolver(MPI_Comm comm);
34 SLEPcEigenSolver(EPS eps,
bool inc_ref_count);
37 SLEPcEigenSolver(
const SLEPcEigenSolver&) =
delete;
40 SLEPcEigenSolver(SLEPcEigenSolver&& solver);
46 SLEPcEigenSolver& operator=(
const SLEPcEigenSolver&) =
delete;
49 SLEPcEigenSolver& operator=(SLEPcEigenSolver&& solver);
53 void set_operators(
const Mat A,
const Mat B);
59 void solve(std::int64_t n);
62 std::complex<PetscReal> get_eigenvalue(
int i)
const;
65 void get_eigenpair(PetscScalar& lr, PetscScalar& lc, Vec r, Vec c,
69 int get_iteration_number()
const;
72 std::int64_t get_number_converged()
const;
76 void set_options_prefix(std::string options_prefix);
80 std::string get_options_prefix()
const;
83 void set_from_options()
const;
89 MPI_Comm mpi_comm()
const;