Ginkgo Generated from branch based on main. Ginkgo version 1.11.0
A numerical linear algebra library targeting many-core architectures
Loading...
Searching...
No Matches
gko::solver Namespace Reference

The ginkgo Solve namespace. More...

Namespaces

namespace  multigrid
 The solver multigrid namespace.

Classes

class  Bicg
 BICG or the Biconjugate gradient method is a Krylov subspace solver. More...
struct  workspace_traits< Bicg< ValueType > >
class  Bicgstab
 BiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver. More...
struct  workspace_traits< Bicgstab< ValueType > >
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...
struct  workspace_traits< Cg< ValueType > >
class  Cgs
 CGS or the conjugate gradient square method is an iterative type Krylov subspace method which is suitable for general systems. More...
struct  workspace_traits< Cgs< ValueType > >
class  Chebyshev
 Chebyshev iteration is an iterative method for solving nonsymmetric problems based on some knowledge of the spectrum of the (preconditioned) system matrix. More...
struct  workspace_traits< Chebyshev< ValueType > >
struct  workspace_traits< gko::experimental::solver::Direct< ValueType, IndexType > >
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...
struct  workspace_traits< Fcg< ValueType > >
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...
struct  workspace_traits< Gcr< ValueType > >
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  workspace_traits< Gmres< ValueType > >
class  Idr
 IDR(s) is an efficient method for solving large nonsymmetric systems of linear equations. More...
struct  workspace_traits< Idr< ValueType > >
struct  parameters_type
class  Factory
class  Minres
 Minres is an iterative type Krylov subspace method, which is suitable for indefinite and full-rank symmetric/hermitian operators. More...
struct  workspace_traits< Minres< ValueType > >
class  Multigrid
 Multigrid methods have a hierarchy of many levels, whose corase level is a subset of the fine level, of the problem. More...
struct  workspace_traits< Multigrid >
class  PipeCg
 PIPE_CG or the pipelined conjugate gradient method is an iterative type Krylov subspace method which is suitable for symmetric positive definite methods. More...
struct  workspace_traits< PipeCg< ValueType > >
class  ApplyWithInitialGuess
 ApplyWithInitialGuess provides a way to give the input guess for apply function. More...
class  EnableApplyWithInitialGuess
 EnableApplyWithInitialGuess providing default operation for ApplyWithInitialGuess with correct validation and log. More...
struct  workspace_traits
 Traits class providing information on the type and location of workspace vectors inside a solver. More...
class  EnablePreconditionable
 Mixin providing default operation for Preconditionable with correct value semantics. More...
class  SolverBase
class  EnableSolverBase
 A LinOp deriving from this CRTP class stores a system matrix. More...
class  IterativeBase
 A LinOp implementing this interface stores a stopping criterion factory. More...
class  EnableIterativeBase
 A LinOp deriving from this CRTP class stores a stopping criterion factory and allows applying with a guess. More...
class  EnablePreconditionedIterativeSolver
 A LinOp implementing this interface stores a system matrix and stopping criterion factory. More...
struct  enable_iterative_solver_factory_parameters
struct  enable_preconditioned_iterative_solver_factory_parameters
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  UpperTrs
 UpperTrs is the triangular solver which solves the system U x = b, when U is an upper triangular matrix. More...
class  LowerTrs
 LowerTrs is the triangular solver which solves the system L x = b, when L is a lower triangular matrix. More...
struct  workspace_traits< LowerTrs< ValueType, IndexType > >
struct  workspace_traits< UpperTrs< ValueType, IndexType > >

Enumerations

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

Functions

bool apply_uses_initial_guess () const override
 Iterative refinement (IR) is an iterative method that uses another coarse method to approximate the error of the current solution via the current residual.
std::shared_ptr< const LinOpget_solver () const
 Returns the solver operator used as the inner solver.
void set_solver (std::shared_ptr< const LinOp > new_solver)
 Sets the solver operator used as the inner solver.
Iroperator= (const Ir &)
 Copy-assigns an IR solver.
Iroperator= (Ir &&)
 Move-assigns an IR solver.
 Ir (const Ir &)
 Copy-constructs an IR solver.
 Ir (Ir &&)
 Move-constructs an IR solver.
const parameters_typeget_parameters () const

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

◆ get_solver()

std::shared_ptr< const LinOp > gko::solver::get_solver ( ) const

Returns the solver operator used as the inner solver.

Returns
the solver operator used as the inner solver

◆ Ir() [1/2]

gko::solver::Ir ( const Ir & )

Copy-constructs an IR solver.

Inherits the executor, shallow-copies inner solver, stopping criterion and system matrix.

References Ir().

Referenced by Ir(), Ir(), operator=(), and operator=().

◆ Ir() [2/2]

gko::solver::Ir ( Ir && )

Move-constructs an IR solver.

Preserves the executor, moves inner solver, stopping criterion and system matrix. The moved-from object is empty (0x0 and nullptr inner solver, stopping criterion and system matrix)

References Ir().

◆ operator=() [1/2]

Ir & gko::solver::operator= ( const Ir & )

Copy-assigns an IR solver.

Preserves the executor, shallow-copies inner solver, stopping criterion and system matrix. If the executors mismatch, clones inner solver, stopping criterion and system matrix onto this executor.

References Ir().

◆ operator=() [2/2]

Ir & gko::solver::operator= ( Ir && )

Move-assigns an IR solver.

Preserves the executor, moves inner solver, stopping criterion and system matrix. If the executors mismatch, clones inner solver, stopping criterion and system matrix onto this executor. The moved-from object is empty (0x0 and nullptr inner solver, stopping criterion and system matrix)

References Ir().

◆ set_solver()

void gko::solver::set_solver ( std::shared_ptr< const LinOp > new_solver)

Sets the solver operator used as the inner solver.

Parameters
new_solverthe new inner solver