Ginkgo: gko::batch::solver::Bicgstab< ValueType > Class Template 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::batch::solver::Bicgstab< ValueType > Class Template Referencefinal
Linear Operators » Solvers | BatchLinOp

BiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver. More...

`#include <ginkgo/core/solver/batch_bicgstab.hpp>`

Inheritance diagram for gko::batch::solver::Bicgstab< ValueType >:
[legend]
Collaboration diagram for gko::batch::solver::Bicgstab< ValueType >:
[legend]

## Classes
struct | parameters_type
class | Factory

## Public Types
using | value_type = ValueType
using | real_type = gko::remove_complex<ValueType>
Public Types inherited from gko::batch::solver::EnableBatchSolver< Bicgstab< default_precision >, default_precision >
using | real_type
Public Types inherited from gko::EnablePolymorphicAssignment< Bicgstab< default_precision > >
using | result_type

## Public Member Functions
const parameters_type & | get_parameters () const
Public Member Functions inherited from gko::batch::solver::EnableBatchSolver< Bicgstab< default_precision >, default_precision >
const Bicgstab< default_precision > * | apply (ptr_param< const MultiVector< default_precision > > b, ptr_param< MultiVector< default_precision > > x) const
Public Member Functions inherited from gko::batch::solver::BatchSolver
std::shared_ptr< const BatchLinOp > | get_system_matrix () const
| Returns the system operator (matrix) of the linear system.
std::shared_ptr< const BatchLinOp > | get_preconditioner () const
| Returns the generated preconditioner.
double | get_tolerance () const
| Get the residual tolerance used by the solver.
void | reset_tolerance (double res_tol)
| Update the residual tolerance to be used by the solver.
int | get_max_iterations () const
| Get the maximum number of iterations set on the solver.
void | reset_max_iterations (int max_iterations)
| Set the maximum number of iterations for the solver to use, independent of the factory that created it.
::gko::batch::stop::tolerance_type | get_tolerance_type () const
| Get the tolerance type.
void | reset_tolerance_type (::gko::batch::stop::tolerance_type tol_type)
| Set the type of tolerance check to use inside the solver.
Public Member Functions inherited from gko::EnablePolymorphicAssignment< Bicgstab< default_precision > >
void | convert_to (result_type *result) const override
void | move_to (result_type *result) override

## Static Public Member Functions
static auto | build () -> decltype(Factory::create())

## Friends
class | EnableBatchLinOp< Bicgstab >
class | EnablePolymorphicObject< Bicgstab, BatchLinOp >

## Detailed Description

template<typename ValueType = default_precision>
class gko::batch::solver::Bicgstab< ValueType >

BiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver.

Being a generic solver, it is capable of solving general matrices, including non-s.p.d matrices.

This solver solves a batch of linear systems using the Bicgstab algorithm. Each linear system in the batch can converge independently.

Unless otherwise specified via the preconditioner factory parameter, this implementation does not use any preconditioner by default. The type of tolerance (absolute or relative) and the maximum number of iterations to be used in the stopping criterion can be set via the factory parameters.

Note
  The tolerance check is against the internal residual computed within the solver process. This implicit (internal) residual, can diverge from the true residual (||b - Ax||). A posterori checks (by computing the true residual, ||b - Ax||) are recommended to ensure that the solution has converged to the desired tolerance.

Template Parameters

  ValueType | precision of matrix elements

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

- ginkgo/core/solver/batch_bicgstab.hpp