gko::batch::solver::Bicgstab#
Batched stabilised biconjugate gradient. The batched analogue of
gko::solver::Bicgstab: suitable for batches
of non-symmetric systems where each item benefits from BiCGSTAB’s
short recurrence and avoidance of an explicit A^H apply. Each batch
item runs its own iteration with its own convergence test.
-
template<typename ValueType = default_precision>
class Bicgstab # Inherits from
public gko::batch::solver::EnableBatchSolver<Bicgstab<default_precision>, default_precision>
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
preconditionerfactory 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
-
struct parameters_type #
Inherits from
public gko::batch::solver::enable_preconditioned_iterative_solver_factory_parameters<parameters_type, Factory>