Ginkgo  Generated from pipelines/1570051012 branch based on develop. Ginkgo version 1.9.0
A numerical linear algebra library targeting many-core architectures
Namespaces | Classes | Typedefs | Enumerations | Functions | Variables
gko::solver Namespace Reference

The ginkgo Solve namespace. More...

Namespaces

 multigrid
 The solver multigrid namespace.
 

Classes

class  ApplyWithInitialGuess
 ApplyWithInitialGuess provides a way to give the input guess for apply function. More...
 
class  Bicg
 BICG or the Biconjugate gradient method is a Krylov subspace solver. More...
 
class  Bicgstab
 BiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver. More...
 
class  CbGmres
 CB-GMRES or the compressed basis generalized minimal residual method is an iterative type Krylov subspace method which is suitable for nonsymmetric linear systems. More...
 
class  Cg
 CG or the conjugate gradient method is an iterative type Krylov subspace method which is suitable for symmetric positive definite methods. More...
 
class  Cgs
 CGS or the conjugate gradient square method is an iterative type Krylov subspace method which is suitable for general systems. More...
 
struct  enable_iterative_solver_factory_parameters
 
struct  enable_preconditioned_iterative_solver_factory_parameters
 
class  EnableApplyWithInitialGuess
 EnableApplyWithInitialGuess providing default operation for ApplyWithInitialGuess with correct validation and log. More...
 
class  EnableIterativeBase
 A LinOp deriving from this CRTP class stores a stopping criterion factory and allows applying with a guess. More...
 
class  EnablePreconditionable
 Mixin providing default operation for Preconditionable with correct value semantics. More...
 
class  EnablePreconditionedIterativeSolver
 A LinOp implementing this interface stores a system matrix and stopping criterion factory. More...
 
class  EnableSolverBase
 A LinOp deriving from this CRTP class stores a system matrix. More...
 
class  Fcg
 FCG or the flexible conjugate gradient method is an iterative type Krylov subspace method which is suitable for symmetric positive definite methods. More...
 
class  Gcr
 GCR or the generalized conjugate residual method is an iterative type Krylov subspace method similar to GMRES which is suitable for nonsymmetric linear systems. More...
 
class  Gmres
 GMRES or the generalized minimal residual method is an iterative type Krylov subspace method which is suitable for nonsymmetric linear systems. More...
 
struct  has_with_criteria
 Helper structure to test if the Factory of SolverType has a function with_criteria. More...
 
struct  has_with_criteria< SolverType, std::void_t< decltype(SolverType::build().with_criteria(std::shared_ptr< const stop::CriterionFactory >()))> >
 Helper structure to test if the Factory of SolverType has a function with_criteria.
 
class  Idr
 IDR(s) is an efficient method for solving large nonsymmetric systems of linear equations. More...
 
class  Ir
 Iterative refinement (IR) is an iterative method that uses another coarse method to approximate the error of the current solution via the current residual. More...
 
class  IterativeBase
 A LinOp implementing this interface stores a stopping criterion factory. More...
 
class  LowerTrs
 LowerTrs is the triangular solver which solves the system L x = b, when L is a lower triangular matrix. More...
 
class  Multigrid
 Multigrid methods have a hierarchy of many levels, whose corase level is a subset of the fine level, of the problem. More...
 
class  SolverBase
 
class  UpperTrs
 UpperTrs is the triangular solver which solves the system U x = b, when U is an upper triangular matrix. More...
 
struct  workspace_traits
 Traits class providing information on the type and location of workspace vectors inside a solver. More...
 
struct  workspace_traits< Bicg< ValueType > >
 
struct  workspace_traits< Bicgstab< ValueType > >
 
struct  workspace_traits< Cg< ValueType > >
 
struct  workspace_traits< Cgs< ValueType > >
 
struct  workspace_traits< Fcg< ValueType > >
 
struct  workspace_traits< Gcr< ValueType > >
 
struct  workspace_traits< gko::experimental::solver::Direct< ValueType, IndexType > >
 
struct  workspace_traits< Gmres< ValueType > >
 
struct  workspace_traits< Idr< ValueType > >
 
struct  workspace_traits< Ir< ValueType > >
 
struct  workspace_traits< LowerTrs< ValueType, IndexType > >
 
struct  workspace_traits< Multigrid >
 
struct  workspace_traits< UpperTrs< ValueType, IndexType > >
 

Typedefs

template<typename ValueType = default_precision>
using Richardson = Ir< ValueType >
 

Enumerations

enum  initial_guess_mode { initial_guess_mode::zero, initial_guess_mode::rhs, initial_guess_mode::provided }
 Give a initial guess mode about the input of the apply method. More...
 
enum  trisolve_algorithm { sparselib, syncfree }
 A helper for algorithm selection in the triangular solvers. More...
 

Functions

template<typename ValueType >
auto build_smoother (std::shared_ptr< const LinOpFactory > factory, size_type iteration=1, ValueType relaxation_factor=0.9)
 build_smoother gives a shortcut to build a smoother by IR(Richardson) with limited stop criterion(iterations and relacation_factor). More...
 
template<typename ValueType >
auto build_smoother (std::shared_ptr< const LinOp > solver, size_type iteration=1, ValueType relaxation_factor=0.9)
 build_smoother gives a shortcut to build a smoother by IR(Richardson) with limited stop criterion(iterations and relacation_factor). More...
 

Variables

constexpr size_type gcr_default_krylov_dim = 100u
 
constexpr size_type default_krylov_dim = 100u
 
constexpr size_type gmres_default_krylov_dim = 100u
 

Detailed Description

The ginkgo Solve namespace.

The ginkgo Solver namespace.

Enumeration Type Documentation

◆ initial_guess_mode

Give a initial guess mode about the input of the apply method.

Enumerator
zero 

the input is zero

rhs 

the input is right hand side

provided 

the input is provided

◆ trisolve_algorithm

A helper for algorithm selection in the triangular solvers.

It currently only matters for the Cuda executor as there, we have a choice between the Ginkgo syncfree and cuSPARSE implementations.

Function Documentation

◆ build_smoother() [1/2]

template<typename ValueType >
auto gko::solver::build_smoother ( std::shared_ptr< const LinOp solver,
size_type  iteration = 1,
ValueType  relaxation_factor = 0.9 
)

build_smoother gives a shortcut to build a smoother by IR(Richardson) with limited stop criterion(iterations and relacation_factor).

Parameters
solverthe shared pointer of solver
iterationthe maximum number of iteration, which default is 1
relaxation_factorthe relaxation factor for Richardson
Returns
the pointer of Ir(Richardson)
Note
this is the overload function for LinOp.

◆ build_smoother() [2/2]

template<typename ValueType >
auto gko::solver::build_smoother ( std::shared_ptr< const LinOpFactory factory,
size_type  iteration = 1,
ValueType  relaxation_factor = 0.9 
)

build_smoother gives a shortcut to build a smoother by IR(Richardson) with limited stop criterion(iterations and relacation_factor).

Parameters
factorythe shared pointer of factory
iterationthe maximum number of iteration, which default is 1
relaxation_factorthe relaxation factor for Richardson
Returns
the pointer of Ir(Richardson)