ginkgo/core/solver/batch_bicgstab.hpp Source File

ginkgo/core/solver/batch_bicgstab.hpp Source File#

Reference API: ginkgo/core/solver/batch_bicgstab.hpp Source File
Reference API
batch_bicgstab.hpp
1// SPDX-FileCopyrightText: 2017 - 2025 The Ginkgo authors
2//
3// SPDX-License-Identifier: BSD-3-Clause
4
5#ifndef GKO_PUBLIC_CORE_SOLVER_BATCH_BICGSTAB_HPP_
6#define GKO_PUBLIC_CORE_SOLVER_BATCH_BICGSTAB_HPP_
7
8
9#include <vector>
10
11#include <ginkgo/core/base/batch_lin_op.hpp>
12#include <ginkgo/core/base/batch_multi_vector.hpp>
13#include <ginkgo/core/base/exception_helpers.hpp>
14#include <ginkgo/core/base/lin_op.hpp>
15#include <ginkgo/core/base/types.hpp>
16#include <ginkgo/core/solver/batch_solver_base.hpp>
17#include <ginkgo/core/stop/batch_stop_enum.hpp>
18
19
20namespace gko {
21namespace batch {
22namespace solver {
23
24
48template <typename ValueType = default_precision>
49class Bicgstab final
50 : public EnableBatchSolver<Bicgstab<ValueType>, ValueType> {
51 friend class EnableBatchLinOp<Bicgstab>;
53
54public:
55 using value_type = ValueType;
56 using real_type = gko::remove_complex<ValueType>;
57
58 class Factory;
59
65
66private:
67 explicit Bicgstab(std::shared_ptr<const Executor> exec);
68
69 explicit Bicgstab(const Factory* factory,
70 std::shared_ptr<const BatchLinOp> system_matrix);
71
72 void solver_apply(
74 log::detail::log_data<real_type>* log_data) const override;
75};
76
77
78} // namespace solver
79} // namespace batch
80} // namespace gko
81
82
83#endif // GKO_PUBLIC_CORE_SOLVER_BATCH_BICGSTAB_HPP_
Definition polymorphic_object.hpp:668
Definition batch_lin_op.hpp:59
Definition batch_lin_op.hpp:252
Definition batch_multi_vector.hpp:59
Definition batch_bicgstab.hpp:63
Definition batch_bicgstab.hpp:50
Definition batch_solver_base.hpp:206
#define GKO_ENABLE_BATCH_LIN_OP_FACTORY(_batch_lin_op, _parameters_name, _factory_name)
Definition batch_lin_op.hpp:358
#define GKO_ENABLE_BUILD_METHOD(_factory_name)
Definition abstract_factory.hpp:394
The Ginkgo namespace.
Definition abstract_factory.hpp:20
typename detail::remove_complex_s< T >::type remove_complex
Definition math.hpp:260
Definition batch_bicgstab.hpp:62