23#include <cusp/detail/config.h>
103template <
typename ValueType,
typename MemorySpace>
112 sweep default_direction;
129 template <
typename MatrixType>
131 thrust::detail::enable_if_convertible_t<typename MatrixType::format,cusp::csr_format>* = 0);
139 template<
typename MemorySpace2>
141 : ordering(A.ordering), color_offsets(A.color_offsets), default_direction(A.default_direction) {}
154 template <
typename MatrixType,
typename VectorType1,
typename VectorType2>
155 void operator()(
const MatrixType& A,
const VectorType1& b, VectorType2& x);
169 template <
typename MatrixType,
typename VectorType1,
typename VectorType2>
170 void operator()(
const MatrixType& A,
const VectorType1& b, VectorType2& x, sweep direction);
178#include <cusp/relaxation/detail/gauss_seidel.inl>
The array1d class is a 1D vector container that may contain elements stored in "host" or "device" mem...
Abstract representation of a linear operator.
Represents a Gauss-Seidel relaxation scheme.
void operator()(const MatrixType &A, const VectorType1 &b, VectorType2 &x)
void operator()(const MatrixType &A, const VectorType1 &b, VectorType2 &x, sweep direction)
gauss_seidel(const gauss_seidel< ValueType, MemorySpace2 > &A)
gauss_seidel(const MatrixType &A, sweep default_direction=SYMMETRIC, thrust::detail::enable_if_convertible_t< typename MatrixType::format, cusp::csr_format > *=0)
Abstract interface for iterative solvers.