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

Solve eigenvalues and eigenvectors problem. More...

Modules

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

Functions

void monolish::standard_eigen::LOBPCG< MATRIX, Float >::apply_precond (const vector< Float > &r, vector< Float > &z)
 
void monolish::standard_eigen::DC< MATRIX, Float >::apply_precond (const vector< Float > &r, vector< Float > &z)
 
void monolish::standard_eigen::LOBPCG< MATRIX, Float >::create_precond (MATRIX &A)
 
void monolish::standard_eigen::DC< MATRIX, Float >::create_precond (MATRIX &A)
 
int monolish::standard_eigen::DC< MATRIX, Float >::LAPACK_DC (MATRIX &A, vector< Float > &lambda)
 
int monolish::standard_eigen::LOBPCG< MATRIX, Float >::monolish_LOBPCG (MATRIX &A, vector< Float > &lambda, matrix::Dense< Float > &x)
 
std::string monolish::standard_eigen::LOBPCG< MATRIX, Float >::name () const
 get solver name "monolish::standard_eigen::LOBPCG" More...
 
std::string monolish::standard_eigen::DC< MATRIX, Float >::name () const
 get solver name "monolish::standard_eigen::DC" More...
 
int monolish::standard_eigen::DC< MATRIX, Float >::solve (MATRIX &A, vector< Float > &lambda)
 
int monolish::standard_eigen::LOBPCG< MATRIX, Float >::solve (MATRIX &A, vector< Float > &lambda, matrix::Dense< Float > &x)
 calculate eigenvalues and eigenvectors or A by LOBPCG method(lib=0: monolish) More...
 
std::string monolish::standard_eigen::LOBPCG< MATRIX, Float >::solver_name () const
 get solver name "LOBPCG" More...
 
std::string monolish::standard_eigen::DC< MATRIX, Float >::solver_name () const
 get solver name "DC" More...
 

Detailed Description

Solve eigenvalues and eigenvectors problem.

Function Documentation

◆ apply_precond() [1/2]

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

Definition at line 62 of file monolish_standard_eigen.hpp.

◆ apply_precond() [2/2]

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

Definition at line 120 of file monolish_standard_eigen.hpp.

◆ create_precond() [1/2]

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

Definition at line 58 of file monolish_standard_eigen.hpp.

◆ create_precond() [2/2]

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

Definition at line 116 of file monolish_standard_eigen.hpp.

◆ LAPACK_DC()

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

◆ monolish_LOBPCG()

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

◆ name() [1/2]

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

get solver name "monolish::standard_eigen::LOBPCG"

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

Definition at line 73 of file monolish_standard_eigen.hpp.

◆ name() [2/2]

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

get solver name "monolish::standard_eigen::DC"

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

Definition at line 131 of file monolish_standard_eigen.hpp.

◆ solve() [1/2]

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

◆ solve() [2/2]

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

calculate eigenvalues and eigenvectors or A by LOBPCG method(lib=0: monolish)

Parameters
[in]ACRS format Matrix
[in]lambdaup to m smallest eigenvalue
[in]xcorresponding eigenvectors in Dense matrix format
Returns
error code (only 0 now)

◆ solver_name() [1/2]

template<typename MATRIX , typename Float >
std::string monolish::standard_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 84 of file monolish_standard_eigen.hpp.

◆ solver_name() [2/2]

template<typename MATRIX , typename Float >
std::string monolish::standard_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 142 of file monolish_standard_eigen.hpp.