9#include <arccore/message_passing/MessagePassingGlobal.h>
10#include <alien/utils/Precomp.h>
15#include <alien/core/backend/BackEnd.h>
45template <
class Tag,
typename VectorT>
108 std::vector<VectorT> m_eigen_vectors;
124template <
class Tag,
typename VectorT>
177 std::vector<VectorT> m_eigen_vectors;
204 EigenSolver(Arccore::MessagePassing::IMessagePassingMng* parallel_mng =
nullptr,
205 IOptions* options =
nullptr);
250 std::unique_ptr<KernelSolver> m_solver;
278 IMessagePassingMng* parallel_mng =
nullptr, IOptions* options =
nullptr);
323 std::unique_ptr<KernelSolver> m_solver;
AlgebraTraits< Tag >::vector_type KernelVector
Type of the vector used.
AlgebraTraits< Tag >::matrix_type KernelMatrix
Type of the matrix used.
EigenProblemT(IMatrix const &A)
Eigen problem constructor.
KernelMatrix const & getA() const
Get the eigen matrix.
std::vector< VectorT > & getEigenVectors()
Get the eigen vectors.
virtual ~EigenProblemT()
Free resources.
Arccore::Integer getNbEigenVectors() const
Get the number of eigen vectors.
Arccore::Integer localSize() const
Get the local size of the problem.
Defines an eigen problem.
EigenProblem(IMatrix const &A)
Constructor.
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.
virtual ~EigenSolver()
Free resources.
void init()
Initialize the eigen solver.
bool solve(EigenProblem &p)
Solve the eigen problem.
EigenSolver(Arccore::MessagePassing::IMessagePassingMng *parallel_mng=nullptr, IOptions *options=nullptr)
Eigen solver constructor.
virtual ~GeneralizedEigenProblemT()
Free resources.
GeneralizedEigenProblemT(IMatrix const &A, IMatrix const &B)
Generalized eigen problem 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.
AlgebraTraits< Tag >::vector_type KernelVector
Type of the vector used.
Arccore::Integer getNbEigenVectors() const
Get the number of eigen vectors.
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.
std::vector< VectorT > & getEigenVectors()
Get the eigen vectors.
Defines a generalized eigen problem.
GeneralizedEigenProblem(IMatrix const &A, IMatrix const &B)
Constructor.
const IEigenSolver::Status & getStatus() const
Get solver resolution status.
bool hasParallelSupport() const
Indicates if the kernel is parallel.
AlgebraTraits< Tag >::generalized_eigen_solver_type KernelSolver
Type of the eigen solver used.
bool solve(GeneralizedEigenProblem &A)
Solve the eigen problem.
virtual ~GeneralizedEigenSolver()
Free resources.
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.
IEigenSolver()
Constructor.
IGeneralizedEigenSolver()
Constructor.
Interface for all matrices.
Interface for all vectors.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --