solver Namespace Reference

solver Namespace Reference#

Reference API: gko::solver Namespace Reference
Reference API
gko::solver Namespace Reference

The ginkgo Solve namespace. More...

Namespaces

namespace  multigrid
 The solver multigrid namespace.
 

Classes

class  ApplyWithInitialGuess
 
class  Bicg
 
class  Bicgstab
 
class  CbGmres
 
class  Cg
 
class  Cgs
 
struct  enable_iterative_solver_factory_parameters
 
struct  enable_preconditioned_iterative_solver_factory_parameters
 
class  EnableApplyWithInitialGuess
 
class  EnableIterativeBase
 
class  EnablePreconditionable
 
class  EnablePreconditionedIterativeSolver
 
class  EnableSolverBase
 
class  Fcg
 
class  Gcr
 
class  Gmres
 
struct  has_with_criteria
 
struct  has_with_criteria< SolverType, std::void_t< decltype(SolverType::build().with_criteria(std::shared_ptr< const stop::CriterionFactory >()))> >
 
class  Idr
 
class  Ir
 
class  IterativeBase
 
class  LowerTrs
 
class  Minres
 
class  Multigrid
 
class  SolverBase
 
class  UpperTrs
 
struct  workspace_traits
 
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< Gmres< ValueType > >
 
struct  workspace_traits< Idr< ValueType > >
 
struct  workspace_traits< Ir< ValueType > >
 
struct  workspace_traits< LowerTrs< ValueType, IndexType > >
 
struct  workspace_traits< Minres< ValueType > >
 
struct  workspace_traits< Multigrid >
 
struct  workspace_traits< UpperTrs< ValueType, IndexType > >
 

Typedefs

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

Enumerations

enum class  initial_guess_mode { zero , rhs , provided }
 
enum class  trisolve_algorithm { sparselib , syncfree }
 

Functions

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

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)