monolish  0.17.1
MONOlithic LInear equation Solvers for Highly-parallel architecture
Modules | Functions
Generalized eigen

Solve generalized eigenvalues and eigenvectors problem. More...

Modules

 monolish::standard_eigen::LOBPCG
 LOBPCG solver.
 
 monolish::standard_eigen::DC
 Devide and Conquer solver.
 

Functions

void monolish::generalized_eigen::LOBPCG< MATRIX, Float >::apply_precond (const vector< Float > &r, vector< Float > &z)
 
void monolish::generalized_eigen::DC< MATRIX, Float >::apply_precond (const vector< Float > &r, vector< Float > &z)
 
void monolish::generalized_eigen::LOBPCG< MATRIX, Float >::create_precond (MATRIX &A)
 
void monolish::generalized_eigen::DC< MATRIX, Float >::create_precond (MATRIX &A)
 
int monolish::generalized_eigen::DC< MATRIX, Float >::LAPACK_DC (MATRIX &A, MATRIX &B, vector< Float > &lambda, int itype)
 
int monolish::generalized_eigen::LOBPCG< MATRIX, Float >::monolish_LOBPCG (MATRIX &A, MATRIX &B, vector< Float > &lambda, matrix::Dense< Float > &x, int itype)
 
std::string monolish::generalized_eigen::LOBPCG< MATRIX, Float >::name () const
 get solver name "monolish::generalized_eigen::LOBPCG" More...
 
std::string monolish::generalized_eigen::DC< MATRIX, Float >::name () const
 get solver name "monolish::generalized_eigen::DC" More...
 
int monolish::generalized_eigen::DC< MATRIX, Float >::solve (MATRIX &A, MATRIX &B, vector< Float > &lambda, int itype)
 
int monolish::generalized_eigen::LOBPCG< MATRIX, Float >::solve (MATRIX &A, MATRIX &B, vector< Float > &lambda, matrix::Dense< Float > &x, int itype)
 
std::string monolish::generalized_eigen::LOBPCG< MATRIX, Float >::solver_name () const
 get solver name "LOBPCG" More...
 
std::string monolish::generalized_eigen::DC< MATRIX, Float >::solver_name () const
 get solver name "DC" More...
 

Detailed Description

Solve generalized eigenvalues and eigenvectors problem.

Function Documentation

◆ apply_precond() [1/2]

template<typename MATRIX , typename Float >
void monolish::generalized_eigen::LOBPCG< MATRIX, Float >::apply_precond ( const vector< Float > &  r,
vector< Float > &  z 
)
inline

Definition at line 54 of file monolish_generalized_eigen.hpp.

◆ apply_precond() [2/2]

template<typename MATRIX , typename Float >
void monolish::generalized_eigen::DC< MATRIX, Float >::apply_precond ( const vector< Float > &  r,
vector< Float > &  z 
)
inline

Definition at line 114 of file monolish_generalized_eigen.hpp.

◆ create_precond() [1/2]

template<typename MATRIX , typename Float >
void monolish::generalized_eigen::LOBPCG< MATRIX, Float >::create_precond ( MATRIX &  A)
inline

Definition at line 50 of file monolish_generalized_eigen.hpp.

◆ create_precond() [2/2]

template<typename MATRIX , typename Float >
void monolish::generalized_eigen::DC< MATRIX, Float >::create_precond ( MATRIX &  A)
inline

Definition at line 110 of file monolish_generalized_eigen.hpp.

◆ LAPACK_DC()

template<typename MATRIX , typename Float >
int monolish::generalized_eigen::DC< MATRIX, Float >::LAPACK_DC ( MATRIX &  A,
MATRIX &  B,
vector< Float > &  lambda,
int  itype 
)
private

◆ monolish_LOBPCG()

template<typename MATRIX , typename Float >
int monolish::generalized_eigen::LOBPCG< MATRIX, Float >::monolish_LOBPCG ( MATRIX &  A,
MATRIX &  B,
vector< Float > &  lambda,
matrix::Dense< Float > &  x,
int  itype 
)
private

◆ name() [1/2]

template<typename MATRIX , typename Float >
std::string monolish::generalized_eigen::LOBPCG< MATRIX, Float >::name ( ) const
inline

get solver name "monolish::generalized_eigen::LOBPCG"

Note
  • # of computation: 1
  • Multi-threading: false
  • GPU acceleration: false

Definition at line 65 of file monolish_generalized_eigen.hpp.

◆ name() [2/2]

template<typename MATRIX , typename Float >
std::string monolish::generalized_eigen::DC< MATRIX, Float >::name ( ) const
inline

get solver name "monolish::generalized_eigen::DC"

Note
  • # of computation: 1
  • Multi-threading: false
  • GPU acceleration: false

Definition at line 125 of file monolish_generalized_eigen.hpp.

◆ solve() [1/2]

template<typename MATRIX , typename Float >
int monolish::generalized_eigen::DC< MATRIX, Float >::solve ( MATRIX &  A,
MATRIX &  B,
vector< Float > &  lambda,
int  itype 
)

◆ solve() [2/2]

template<typename MATRIX , typename Float >
int monolish::generalized_eigen::LOBPCG< MATRIX, Float >::solve ( MATRIX &  A,
MATRIX &  B,
vector< Float > &  lambda,
matrix::Dense< Float > &  x,
int  itype 
)

◆ solver_name() [1/2]

template<typename MATRIX , typename Float >
std::string monolish::generalized_eigen::LOBPCG< MATRIX, Float >::solver_name ( ) const
inline

get solver name "LOBPCG"

Note
  • # of computation: 1
  • Multi-threading: false
  • GPU acceleration: false

Definition at line 76 of file monolish_generalized_eigen.hpp.

◆ solver_name() [2/2]

template<typename MATRIX , typename Float >
std::string monolish::generalized_eigen::DC< MATRIX, Float >::solver_name ( ) const
inline

get solver name "DC"

Note
  • # of computation: 1
  • Multi-threading: false
  • GPU acceleration: false

Definition at line 136 of file monolish_generalized_eigen.hpp.