Eigen solver. More...
#include <core/alien/core/backend/EigenSolver.h>
Public Types | |
| typedef AlgebraTraits< Tag >::eigen_solver_type | KernelSolver |
| Type of the eigen solver used. | |
| Public Types inherited from Alien::IEigenSolver | |
| enum | eEigenValuesOrder { SmallestMagnitude , LargestMagnitude , SmallestReal , LargestReal , SmallestImaginary , LargestImaginary } |
| Eigen values order. More... | |
Public Member Functions | |
| EigenSolver (Arccore::MessagePassing::IMessagePassingMng *parallel_mng=nullptr, IOptions *options=nullptr) | |
| Eigen solver constructor. | |
| virtual | ~EigenSolver () |
| Free resources. | |
| Arccore::String | getBackEndName () const |
| Get kernel back end name. | |
| void | init () |
| Initialize the eigen solver. | |
| bool | solve (EigenProblem &p) |
| Solve the eigen problem. | |
| bool | hasParallelSupport () const |
| Indicates if the kernel is parallel. | |
| const IEigenSolver::Status & | getStatus () const |
| Get solver resolution status. | |
| KernelSolver * | implem () |
| Get kernel solver implementation. | |
| Public Member Functions inherited from Alien::IEigenSolver | |
| IEigenSolver () | |
| Constructor. | |
| virtual | ~IEigenSolver () |
| Free resources. | |
Private Types | |
| typedef AlgebraTraits< Tag >::matrix_type | KernelMatrix |
| Type of the matrix used. | |
| typedef AlgebraTraits< Tag >::vector_type | KernelVector |
| Type of the vector used. | |
Private Attributes | |
| std::unique_ptr< KernelSolver > | m_solver |
| The eigen solver. | |
Eigen solver.
Solves an eigen problem and retrieve eigen vectors
| Tag | The type of kernel used to compute eigen values |
Definition at line 192 of file EigenSolver.h.
|
private |
Type of the matrix used.
Definition at line 246 of file EigenSolver.h.
| typedef AlgebraTraits<Tag>::eigen_solver_type Alien::EigenSolver< Tag >::KernelSolver |
Type of the eigen solver used.
Definition at line 196 of file EigenSolver.h.
|
private |
Type of the vector used.
Definition at line 248 of file EigenSolver.h.
| Alien::EigenSolver< Tag >::EigenSolver | ( | Arccore::MessagePassing::IMessagePassingMng * | parallel_mng = nullptr, |
| IOptions * | options = nullptr ) |
Eigen solver constructor.
| [in] | parallel_mng | The parallel manager for parallel solve |
| [in] | options | Options passed to the eigen solver |
Definition at line 93 of file EigenSolverT.h.
References m_solver.
|
inlinevirtual |
Free resources.
Definition at line 208 of file EigenSolver.h.
|
virtual |
Get kernel back end name.
Implements Alien::IEigenSolver.
Definition at line 102 of file EigenSolverT.h.
|
virtual |
Get solver resolution status.
Implements Alien::IEigenSolver.
Definition at line 139 of file EigenSolverT.h.
References m_solver.
|
virtual |
Indicates if the kernel is parallel.
Implements Alien::IEigenSolver.
Definition at line 129 of file EigenSolverT.h.
References m_solver.
| EigenSolver< Tag >::KernelSolver * Alien::EigenSolver< Tag >::implem | ( | ) |
Get kernel solver implementation.
Definition at line 149 of file EigenSolverT.h.
References m_solver.
|
virtual |
Initialize the eigen solver.
Implements Alien::IEigenSolver.
Definition at line 111 of file EigenSolverT.h.
References m_solver.
|
virtual |
Solve the eigen problem.
| [in,out] | p | The eigen problem |
Implements Alien::IEigenSolver.
Definition at line 120 of file EigenSolverT.h.
References m_solver.
|
private |
The eigen solver.
Definition at line 250 of file EigenSolver.h.
Referenced by EigenSolver(), getStatus(), hasParallelSupport(), implem(), init(), and solve().