33#ifndef GKO_PUBLIC_CORE_SOLVER_BATCH_BICGSTAB_HPP_
34#define GKO_PUBLIC_CORE_SOLVER_BATCH_BICGSTAB_HPP_
40#include <ginkgo/core/base/batch_lin_op.hpp>
41#include <ginkgo/core/base/batch_multi_vector.hpp>
42#include <ginkgo/core/base/exception_helpers.hpp>
43#include <ginkgo/core/base/lin_op.hpp>
44#include <ginkgo/core/base/types.hpp>
45#include <ginkgo/core/solver/batch_solver_base.hpp>
46#include <ginkgo/core/stop/batch_stop_enum.hpp>
78template <
typename ValueType = default_precision>
85 using value_type = ValueType;
92 parameters_type, Factory> {};
97 explicit Bicgstab(std::shared_ptr<const Executor> exec)
102 std::shared_ptr<const BatchLinOp> system_matrix)
104 std::
move(system_matrix),
105 factory->get_parameters()),
106 parameters_{factory->get_parameters()}
111 log::detail::log_data<real_type>* log_data)
const override;
This mixin inherits from (a subclass of) PolymorphicObject and provides a base implementation of a ne...
Definition polymorphic_object.hpp:691
std::shared_ptr< const Executor > get_executor() const noexcept
Returns the Executor of the object.
Definition polymorphic_object.hpp:263
Definition batch_lin_op.hpp:88
The EnableBatchLinOp mixin can be used to provide sensible default implementations of the majority of...
Definition batch_lin_op.hpp:281
MultiVector stores multiple vectors in a batched fashion and is useful for batched operations.
Definition batch_multi_vector.hpp:85
Definition batch_bicgstab.hpp:93
BiCGSTAB or the Bi-Conjugate Gradient-Stabilized is a Krylov subspace solver.
Definition batch_bicgstab.hpp:80
This mixin provides apply and common iterative solver functionality to all the batched solvers.
Definition batch_solver_base.hpp:234
#define GKO_ENABLE_BATCH_LIN_OP_FACTORY(_batch_lin_op, _parameters_name, _factory_name)
This macro will generate a default implementation of a BatchLinOpFactory for the BatchLinOp subclass ...
Definition batch_lin_op.hpp:387
#define GKO_ENABLE_BUILD_METHOD(_factory_name)
Defines a build method for the factory, simplifying its construction by removing the repetitive typin...
Definition abstract_factory.hpp:422
The Ginkgo namespace.
Definition abstract_factory.hpp:48
constexpr T one()
Returns the multiplicative identity for T.
Definition math.hpp:803
typename detail::remove_complex_s< T >::type remove_complex
Obtain the type which removed the complex of complex/scalar type or the template parameter of class b...
Definition math.hpp:354
Definition batch_bicgstab.hpp:92
Definition batch_solver_base.hpp:182