26#include <alien/core/backend/EigenSolver.h>
42template <
class TagT,
typename VectorT>
46 return this->
m_A.impl()->distribution().rowDistribution().localSize();
52template <
class TagT,
typename VectorT>
56 return this->
m_A.impl()->template get<TagT>();
62template <
class TagT,
typename VectorT>
66 return this->
m_A.impl()->distribution().rowDistribution().localSize();
72template <
class TagT,
typename VectorT>
76 return this->
m_A.impl()->template get<TagT>();
82template <
class TagT,
typename VectorT>
86 return this->
m_B.impl()->template get<TagT>();
131 return m_solver->hasParallelSupport();
159IMessagePassingMng* parallel_mng, IOptions* options)
AlgebraTraits< Tag >::matrix_type KernelMatrix
Type of the matrix used.
KernelMatrix const & getA() const
Get the eigen matrix.
Arccore::Integer localSize() const
Get the local size of the problem.
Defines an eigen problem.
IMatrix const & m_A
The eigen matrix.
bool hasParallelSupport() const
Indicates if the kernel is parallel.
AlgebraTraits< Tag >::eigen_solver_type KernelSolver
Type of the eigen solver used.
KernelSolver * implem()
Get kernel solver implementation.
const IEigenSolver::Status & getStatus() const
Get solver resolution status.
Arccore::String getBackEndName() const
Get kernel back end name.
void init()
Initialize the eigen solver.
std::unique_ptr< KernelSolver > m_solver
The eigen solver.
bool solve(EigenProblem &p)
Solve the eigen problem.
EigenSolver(Arccore::MessagePassing::IMessagePassingMng *parallel_mng=nullptr, IOptions *options=nullptr)
Eigen solver constructor.
AlgebraTraits< Tag >::matrix_type KernelMatrix
Type of the matrix used.
KernelMatrix const & getB() const
Get the second eigen matrix of the generalized eigen problem.
Arccore::Integer localSize() const
Get the local size of the problem.
KernelMatrix const & getA() const
Get the first eigen matrix of the generalized eigen problem.
Defines a generalized eigen problem.
IMatrix const & m_B
The second matrix.
const IEigenSolver::Status & getStatus() const
Get solver resolution status.
std::unique_ptr< KernelSolver > m_solver
The generalized eigen solver.
AlgebraTraits< Tag >::generalized_eigen_solver_type KernelSolver
Type of the eigen solver used.
bool solve(GeneralizedEigenProblem &A)
Solve the eigen problem.
GeneralizedEigenSolver(IMessagePassingMng *parallel_mng=nullptr, IOptions *options=nullptr)
Eigen solver constructor.
KernelSolver * implem()
Get kernel solver implementation.
Arccore::String getBackEndName() const
Get kernel back end name.
void init()
Initialize the eigen solver.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --