Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::GeneralizedEigenProblemT< Tag, VectorT > Class Template Reference

Generalized eigen problem definition. More...

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

Inheritance diagram for Alien::GeneralizedEigenProblemT< Tag, VectorT >:
Collaboration diagram for Alien::GeneralizedEigenProblemT< Tag, VectorT >:

Public Types

typedef AlgebraTraits< Tag >::matrix_type KernelMatrix
 Type of the matrix used.
typedef AlgebraTraits< Tag >::vector_type KernelVector
 Type of the vector used.

Public Member Functions

 GeneralizedEigenProblemT (IMatrix const &A, IMatrix const &B)
 Generalized eigen problem constructor.
virtual ~GeneralizedEigenProblemT ()
 Free resources.
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.
KernelMatrix const & getB () const
 Get the second eigen matrix of the generalized eigen problem.
Arccore::Integer getNbEigenVectors () const
 Get the number of eigen vectors.
std::vector< VectorT > & getEigenVectors ()
 Get the eigen vectors.
Public Member Functions inherited from Alien::GeneralizedEigenProblem
 GeneralizedEigenProblem (IMatrix const &A, IMatrix const &B)
 Constructor.
virtual ~GeneralizedEigenProblem ()
 Free resources.
IMatrix const & getB () const
 Get the second matrix.
Public Member Functions inherited from Alien::EigenProblem
 EigenProblem (IMatrix const &A)
 Constructor.
virtual ~EigenProblem ()
 Free resources.
IMatrix const & getA () const
 Get the matrix.
std::vector< Arccore::Real > const & getRealEigenValues () const
 Get real eigen values.
std::vector< Arccore::Real > & getRealEigenValues ()
 Get real eigen values.
std::vector< Arccore::Real > const & getImaginaryEigenValues () const
 Get imaginary eigen values.
std::vector< Arccore::Real > & getImaginaryEigenValues ()
 Get imaginary eigen values.

Private Attributes

std::vector< VectorT > m_eigen_vectors
 Eigen vectors.

Additional Inherited Members

Protected Attributes inherited from Alien::GeneralizedEigenProblem
IMatrix const & m_B
 The second matrix.
Protected Attributes inherited from Alien::EigenProblem
IMatrix const & m_A
 The eigen matrix.
std::vector< Arccore::Real > m_real_eigen_values
 The real eigen values.
std::vector< Arccore::Real > m_imaginary_eigen_values
 The imaginary eigen values.

Detailed Description

template<class Tag, typename VectorT>
class Alien::GeneralizedEigenProblemT< Tag, VectorT >

Generalized eigen problem definition.

Allows to specify the matrices and get the number of generalized eigen vectors as well as the generalized eigen vectors

Template Parameters
TagThe type of kernel used to compute eigen values
VectorTThe type of kernel used to store eigen vectors

Definition at line 125 of file EigenSolver.h.

Member Typedef Documentation

◆ KernelMatrix

template<class Tag, typename VectorT>
typedef AlgebraTraits<Tag>::matrix_type Alien::GeneralizedEigenProblemT< Tag, VectorT >::KernelMatrix

Type of the matrix used.

Definition at line 141 of file EigenSolver.h.

◆ KernelVector

template<class Tag, typename VectorT>
typedef AlgebraTraits<Tag>::vector_type Alien::GeneralizedEigenProblemT< Tag, VectorT >::KernelVector

Type of the vector used.

Definition at line 143 of file EigenSolver.h.

Constructor & Destructor Documentation

◆ GeneralizedEigenProblemT()

template<class Tag, typename VectorT>
Alien::GeneralizedEigenProblemT< Tag, VectorT >::GeneralizedEigenProblemT ( IMatrix const & A,
IMatrix const & B )
inline

Generalized eigen problem constructor.

Parameters
[in]AThe first matrix of the generalized eigen problem
[in]BThe second matrix of the generalized eigen problem

Definition at line 133 of file EigenSolver.h.

References Alien::GeneralizedEigenProblem::GeneralizedEigenProblem().

Here is the call graph for this function:

◆ ~GeneralizedEigenProblemT()

template<class Tag, typename VectorT>
virtual Alien::GeneralizedEigenProblemT< Tag, VectorT >::~GeneralizedEigenProblemT ( )
inlinevirtual

Free resources.

Definition at line 138 of file EigenSolver.h.

Member Function Documentation

◆ getA()

template<class TagT, typename VectorT>
GeneralizedEigenProblemT< TagT, VectorT >::KernelMatrix const & Alien::GeneralizedEigenProblemT< TagT, VectorT >::getA ( ) const

Get the first eigen matrix of the generalized eigen problem.

Returns
The first eigen matrix

Definition at line 74 of file EigenSolverT.h.

References Alien::EigenProblem::m_A.

◆ getB()

template<class TagT, typename VectorT>
GeneralizedEigenProblemT< TagT, VectorT >::KernelMatrix const & Alien::GeneralizedEigenProblemT< TagT, VectorT >::getB ( ) const

Get the second eigen matrix of the generalized eigen problem.

Returns
The second eigen matrix

Definition at line 84 of file EigenSolverT.h.

References Alien::GeneralizedEigenProblem::m_B.

◆ getEigenVectors()

template<class Tag, typename VectorT>
std::vector< VectorT > & Alien::GeneralizedEigenProblemT< Tag, VectorT >::getEigenVectors ( )
inline

Get the eigen vectors.

Returns
The eigen vectors

Definition at line 173 of file EigenSolver.h.

References m_eigen_vectors.

◆ getNbEigenVectors()

template<class Tag, typename VectorT>
Arccore::Integer Alien::GeneralizedEigenProblemT< Tag, VectorT >::getNbEigenVectors ( ) const
inlinevirtual

Get the number of eigen vectors.

Returns
The number of eigen vectors

Implements Alien::EigenProblem.

Definition at line 167 of file EigenSolver.h.

References m_eigen_vectors.

◆ localSize()

template<class TagT, typename VectorT>
Integer Alien::GeneralizedEigenProblemT< TagT, VectorT >::localSize ( ) const

Get the local size of the problem.

Returns
Local size of the problem

Definition at line 64 of file EigenSolverT.h.

References Alien::EigenProblem::m_A.

Member Data Documentation

◆ m_eigen_vectors

template<class Tag, typename VectorT>
std::vector<VectorT> Alien::GeneralizedEigenProblemT< Tag, VectorT >::m_eigen_vectors
private

Eigen vectors.

Definition at line 177 of file EigenSolver.h.

Referenced by getEigenVectors(), and getNbEigenVectors().


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