23#include <cusp/detail/config.h>
24#include <cusp/detail/execution_policy.h>
25#include <cusp/detail/format.h>
27#include <thrust/detail/type_traits.h>
40template <
typename DerivedPolicy,
class LinearOperator,
41 class VectorType1,
class VectorType2,
class VectorType3>
42void bicgstab_m(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
44 VectorType1& x, VectorType2& b, VectorType3& sigma);
49template <
class LinearOperator,
50 class VectorType1,
class VectorType2,
class VectorType3>
51thrust::detail::enable_if_convertible_t<typename LinearOperator::format,cusp::known_format>
53 VectorType1& x, VectorType2& b, VectorType3& sigma);
55template <
typename DerivedPolicy,
57 class VectorType1,
class VectorType2,
class VectorType3,
59void bicgstab_m(
const thrust::detail::execution_policy_base<DerivedPolicy> &exec,
61 VectorType1& x, VectorType2& b, VectorType3& sigma,
137template <
class LinearOperator,
138 class VectorType1,
class VectorType2,
class VectorType3,
140thrust::detail::enable_if_convertible_t<typename LinearOperator::format,cusp::known_format>
142 VectorType1& x, VectorType2& b, VectorType3& sigma,
150#include<cusp/krylov/detail/bicgstab_m.inl>
Implements standard convergence criteria and reporting for iterative solvers.
thrust::detail::enable_if_convertible_t< typename LinearOperator::format, cusp::known_format > bicgstab_m(LinearOperator &A, VectorType1 &x, VectorType2 &b, VectorType3 &sigma, Monitor &monitor)
Multi-mass Biconjugate Gradient stabilized method.