20 #ifndef SELDON_FILE_PRECOND_SSOR_HXX
31 typename ClassComplexType<T>::Treal
omega;
44 #ifdef SELDON_WITH_VIRTUAL
47 bool init_guess_null =
true);
55 template<
class Vector1,
class Matrix1>
56 void Solve(
const Matrix1& A,
const Vector1& r, Vector1& z,
57 bool init_guess_null =
true);
59 template<
class Vector1,
class Matrix1>
60 void TransSolve(
const Matrix1& A,
const Vector1& r, Vector1& z,
61 bool init_guess_null =
true);
68 #define SELDON_FILE_PRECOND_SSOR_HXX
void SetNumberIterations(int nb_iterations)
sets the number of SOR sweeps to perform when calling Solve/TransSolve
void InitUnSymmetricPreconditioning()
if called, forward sweep is applied when calling Solve backward sweep is applied when calling TransSo...
void InitSymmetricPreconditioning()
if called forward and backward sweep will be applied such that the preconditioning is symmetric
bool symmetric_precond
true for Symmetric relaxation
void Solve(const Matrix1 &A, const Vector1 &r, Vector1 &z, bool init_guess_null=true)
Solves M z = r.
SorPreconditioner()
Default constructor.
int nb_iter
number of iterations
void SetParameterRelaxation(const typename ClassComplexType< T >::Treal ¶m)
sets the relaxation parameter omega
ClassComplexType< T >::Treal omega
relaxation parameter
void TransSolve(const Matrix1 &A, const Vector1 &r, Vector1 &z, bool init_guess_null=true)
Solves M^t z = r.
Abstract base class for all matrices.
void CopyParameter(const Preconditioner_Base< T > &)
copies the parameters of another sor preconditioning
Base class for preconditioners.
bool IsSymmetric() const
returns true if symmetric sor is used