monolish  0.14.0
MONOlithic LIner equation Solvers for Highly-parallel architecture
Public Member Functions | Private Member Functions | List of all members
monolish::standard_eigen::DC< MATRIX, Float > Class Template Reference

Devide and Conquer solver. More...

#include <monolish_standard_eigen.hpp>

Inheritance diagram for monolish::standard_eigen::DC< MATRIX, Float >:
Inheritance graph
Collaboration diagram for monolish::standard_eigen::DC< MATRIX, Float >:
Collaboration graph

Public Member Functions

void apply_precond (const vector< Float > &r, vector< Float > &z)
 
void create_precond (MATRIX &A)
 
std::string name () const
 get solver name "monolish::standard_eigen::DC" More...
 
int solve (MATRIX &A, vector< Float > &lambda)
 
- Public Member Functions inherited from monolish::solver::solver< MATRIX, Float >
initvec_scheme get_initvec_scheme () const
 get handling scheme of initial vector handling More...
 
int get_lib () const
 get library option More...
 
size_t get_maxiter () const
 get maxiter More...
 
size_t get_miniter () const
 get miniter More...
 
bool get_print_rhistory () const
 get print rhistory status More...
 
size_t get_residual_method () const
 get residual method(default=0) More...
 
double get_tol () const
 get tolerance More...
 
template<class PRECOND >
void set_apply_precond (PRECOND &p)
 set precondition apply fucntion More...
 
template<class PRECOND >
void set_create_precond (PRECOND &p)
 set precondition create fucntion More...
 
void set_initvec_scheme (initvec_scheme scheme)
 set how to handle initial vector More...
 
void set_lib (int l)
 set library option (to change library, monolish, cusolver, etc.) More...
 
void set_maxiter (size_t max)
 set max iter. (default = SIZE_MAX) More...
 
void set_miniter (size_t min)
 set min iter. (default = 0) More...
 
void set_print_rhistory (bool flag)
 print rhistory to standart out true/false. (default = false) More...
 
void set_residual_method (size_t r)
 set residual method (default=0) More...
 
void set_rhistory_filename (std::string file)
 rhistory filename More...
 
void set_tol (double t)
 set tolerance (default:1.0e-8) More...
 
 solver ()
 create solver class More...
 
 ~solver ()
 delete solver class More...
 

Private Member Functions

int LAPACK_DC (MATRIX &A, vector< Float > &lambda)
 

Additional Inherited Members

- Protected Member Functions inherited from monolish::solver::solver< MATRIX, Float >
Float get_residual (vector< Float > &x)
 
- Protected Attributes inherited from monolish::solver::solver< MATRIX, Float >
initvec_scheme initvecscheme = initvec_scheme::RANDOM
 
int lib = 0
 
size_t maxiter = SIZE_MAX
 
size_t miniter = 0
 
precondition< MATRIX, Float > precond
 
bool print_rhistory = false
 
size_t resid_method = 0
 
std::string rhistory_file
 
std::ostream * rhistory_stream
 
double tol = 1.0e-8
 

Detailed Description

template<typename MATRIX, typename Float>
class monolish::standard_eigen::DC< MATRIX, Float >

Devide and Conquer solver.

Note
attribute:
  • solver : true
  • preconditioner : false
input / archtecture
  • Dense / Intel : true
  • Dense / NVIDIA : true
  • Dense / OSS : true
  • Sparse / Intel : false
  • Sparse / NVIDIA : false
  • Sparse / OSS : false

Definition at line 86 of file monolish_standard_eigen.hpp.

Member Function Documentation

◆ apply_precond()

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 97 of file monolish_standard_eigen.hpp.

◆ create_precond()

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

Definition at line 93 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

◆ name()

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 108 of file monolish_standard_eigen.hpp.

◆ solve()

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

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