23 #include <cusp/detail/config.h>
97 template <
typename ValueType,
typename MemorySpace>
103 ValueType default_omega;
123 template <
typename MatrixType>
124 sor(
const MatrixType& A,
const ValueType omega, sweep default_direction=SYMMETRIC)
125 : default_omega(omega), temp(A.num_cols), gs(A, default_direction) {}
133 template<
typename MemorySpace2>
135 : default_omega(A.default_omega), temp(A.temp), gs(A.gs) {}
148 template <
typename MatrixType,
typename VectorType1,
typename VectorType2>
149 void operator()(
const MatrixType& A,
const VectorType1& b, VectorType2& x);
164 template <
typename MatrixType,
typename VectorType1,
typename VectorType2>
165 void operator()(
const MatrixType& A,
const VectorType1& b, VectorType2& x,
const ValueType omega, sweep direction);
173 #include <cusp/relaxation/detail/sor.inl>
sor(const MatrixType &A, const ValueType omega, sweep default_direction=SYMMETRIC)
sor(const sor< ValueType, MemorySpace2 > &A)
Represents a Successive Over-Relaxation relaxation scheme.
Represents a Gauss-Seidel relaxation scheme.
Abstract representation of a linear operator.
Abstract interface for iterative solvers.
1D array of elements that may reside in "host" or "device" memory space
void operator()(const MatrixType &A, const VectorType1 &b, VectorType2 &x)