![]() |
Ginkgo
Generated from pipelines/2662685947 branch based on develop. Ginkgo version 2.0.0
A numerical linear algebra library targeting many-core architectures
|
BiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver. More...
#include <ginkgo/core/solver/batch_bicgstab.hpp>
Classes | |
| class | Factory |
| struct | parameters_type |
Public Types | |
| using | value_type = ValueType |
| using | real_type = gko::remove_complex< ValueType > |
Public Types inherited from gko::batch::solver::EnableBatchSolver< Bicgstab< ValueType >, ValueType > | |
| using | real_type = remove_complex< ValueType > |
Public Member Functions | |
| const parameters_type & | get_parameters () const |
Public Member Functions inherited from gko::batch::solver::EnableBatchSolver< Bicgstab< ValueType >, ValueType > | |
| void | apply (ptr_param< const MultiVector< ValueType >> b, ptr_param< MultiVector< ValueType >> x) const |
| void | apply (ptr_param< const MultiVector< ValueType >> alpha, ptr_param< const MultiVector< ValueType >> b, ptr_param< const MultiVector< ValueType >> beta, ptr_param< MultiVector< ValueType >> 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. More... | |
| std::shared_ptr< const BatchLinOp > | get_preconditioner () const |
| Returns the generated preconditioner. More... | |
| double | get_tolerance () const |
| Get the residual tolerance used by the solver. More... | |
| void | reset_tolerance (double res_tol) |
| Update the residual tolerance to be used by the solver. More... | |
| int | get_max_iterations () const |
| Get the maximum number of iterations set on the solver. More... | |
| 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. More... | |
| ::gko::batch::stop::tolerance_type | get_tolerance_type () const |
| Get the tolerance type. More... | |
| void | reset_tolerance_type (::gko::batch::stop::tolerance_type tol_type) |
| Set the type of tolerance check to use inside the solver. More... | |
Public Member Functions inherited from gko::batch::BatchLinOp | |
| size_type | get_num_batch_items () const noexcept |
| Returns the number of items in the batch operator. More... | |
| dim< 2 > | get_common_size () const |
| Returns the common size of the batch items. More... | |
| const batch_dim< 2 > & | get_size () const noexcept |
| Returns the size of the batch operator. More... | |
| template<typename ValueType > | |
| void | validate_application_parameters (const MultiVector< ValueType > *b, MultiVector< ValueType > *x) const |
| Validates the sizes for the apply(b,x) operation in the concrete BatchLinOp. | |
| template<typename ValueType > | |
| void | validate_application_parameters (const MultiVector< ValueType > *alpha, const MultiVector< ValueType > *b, const MultiVector< ValueType > *beta, MultiVector< ValueType > *x) const |
| Validates the sizes for the apply(alpha, b , beta, x) operation in the concrete BatchLinOp. | |
Public Member Functions inherited from gko::PolymorphicObject | |
| PolymorphicObject & | operator= (const PolymorphicObject &) |
| std::shared_ptr< const Executor > | get_executor () const noexcept |
| Returns the Executor of the object. More... | |
Public Member Functions inherited from gko::log::EnableLogging< PolymorphicObject > | |
| void | add_logger (std::shared_ptr< const Logger > logger) override |
| void | remove_logger (const Logger *logger) override |
| void | remove_logger (ptr_param< const Logger > logger) |
| const std::vector< std::shared_ptr< const Logger > > & | get_loggers () const override |
| void | clear_loggers () override |
Public Member Functions inherited from gko::log::Loggable | |
| void | remove_logger (ptr_param< const Logger > logger) |
Static Public Member Functions | |
| static auto | build () -> decltype(Factory ::create()) |
Friends | |
| class | BatchLinOp |
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.
| ValueType | precision of matrix elements |
1.8.16