Ginkgo: gko::solver Namespace Reference

| 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
Linear Operators » Solvers

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 LinOp > | get_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.
Ir & | operator= (const Ir &)
| Copy-assigns an IR solver.
Ir & | operator= (Ir &&)
| Move-assigns an IR solver.
| Ir (const Ir &)
| Copy-constructs an IR solver.
| Ir (Ir &&)
| Move-constructs an IR solver.
const parameters_type & | get_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

enum class gko::solver::initial_guess_mode
| strong

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

enum class gko::solver::trisolve_algorithm
| strong

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_solver | the new inner solver