Alien  1.3.0
User documentation
Loading...
Searching...
No Matches
Alien::GeneralizedEigenSolver< Tag > Class Template Reference

Generalized eigen solver. More...

#include <core/alien/core/backend/EigenSolver.h>

Public Types

typedef AlgebraTraits< Tag >::generalized_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

 GeneralizedEigenSolver (IMessagePassingMng *parallel_mng=nullptr, IOptions *options=nullptr)
 Eigen solver constructor.
virtual ~GeneralizedEigenSolver ()
 Free resources.
Arccore::String getBackEndName () const
 Get kernel back end name.
void init ()
 Initialize the eigen solver.
bool solve (GeneralizedEigenProblem &A)
 Solve the eigen problem.
bool hasParallelSupport () const
 Indicates if the kernel is parallel.
const IEigenSolver::StatusgetStatus () const
 Get solver resolution status.
KernelSolverimplem ()
 Get kernel solver implementation.
Public Member Functions inherited from Alien::IGeneralizedEigenSolver
 IGeneralizedEigenSolver ()
 Constructor.
virtual ~IGeneralizedEigenSolver ()
 Free resources.
virtual bool solve (EigenProblem &problem)=0
 Solve an eigen problem.
Public Member Functions inherited from Alien::IEigenSolver
 IEigenSolver ()
 Constructor.
virtual ~IEigenSolver ()
 Free resources.

Detailed Description

template<class Tag>
class Alien::GeneralizedEigenSolver< Tag >

Generalized eigen solver.

Solves a generalized eigen problem and retrieve eigen vectors

Template Parameters
TagThe type of kernel used to compute eigen values

Definition at line 265 of file EigenSolver.h.

Member Typedef Documentation

◆ KernelSolver

template<class Tag>
typedef AlgebraTraits<Tag>::generalized_eigen_solver_type Alien::GeneralizedEigenSolver< Tag >::KernelSolver

Type of the eigen solver used.

Definition at line 269 of file EigenSolver.h.

Constructor & Destructor Documentation

◆ GeneralizedEigenSolver()

template<class Tag>
Alien::GeneralizedEigenSolver< Tag >::GeneralizedEigenSolver ( IMessagePassingMng * parallel_mng = nullptr,
IOptions * options = nullptr )

Eigen solver constructor.

Parameters
[in]parallel_mngThe parallel manager for parallel solve
[in]optionsOptions passed to the eigen solver

Definition at line 158 of file EigenSolverT.h.

◆ ~GeneralizedEigenSolver()

template<class Tag>
virtual Alien::GeneralizedEigenSolver< Tag >::~GeneralizedEigenSolver ( )
inlinevirtual

Free resources.

Definition at line 281 of file EigenSolver.h.

Member Function Documentation

◆ getBackEndName()

template<class Tag>
String Alien::GeneralizedEigenSolver< Tag >::getBackEndName ( ) const
virtual

Get kernel back end name.

Returns
The kernel name as a string

Implements Alien::IEigenSolver.

Definition at line 168 of file EigenSolverT.h.

◆ getStatus()

template<class Tag>
const IEigenSolver::Status & Alien::GeneralizedEigenSolver< Tag >::getStatus ( ) const
virtual

Get solver resolution status.

Returns
The solver status

Implements Alien::IEigenSolver.

Definition at line 196 of file EigenSolverT.h.

◆ hasParallelSupport()

template<class Tag>
bool Alien::GeneralizedEigenSolver< Tag >::hasParallelSupport ( ) const
virtual

Indicates if the kernel is parallel.

Returns
Parallel support capability

Implements Alien::IEigenSolver.

◆ implem()

template<class Tag>
GeneralizedEigenSolver< Tag >::KernelSolver * Alien::GeneralizedEigenSolver< Tag >::implem ( )

Get kernel solver implementation.

Returns
Eigen solver actual implementation

Definition at line 206 of file EigenSolverT.h.

◆ init()

template<class Tag>
void Alien::GeneralizedEigenSolver< Tag >::init ( )
virtual

Initialize the eigen solver.

Implements Alien::IEigenSolver.

Definition at line 177 of file EigenSolverT.h.

◆ solve()

template<class Tag>
bool Alien::GeneralizedEigenSolver< Tag >::solve ( GeneralizedEigenProblem & A)
virtual

Solve the eigen problem.

Parameters
[in,out]AThe generalized eigen problem
Returns
Solver success status

Implements Alien::IGeneralizedEigenSolver.

Definition at line 186 of file EigenSolverT.h.


The documentation for this class was generated from the following files: