33 #ifndef __H__UG__LIB_ALGEBRA__OPERATOR__PRECONDITIONER__PROJECTED_GAUSS_SEIDEL__PROJ_GAUSS_SEIDEL__
34 #define __H__UG__LIB_ALGEBRA__OPERATOR__PRECONDITIONER__PROJECTED_GAUSS_SEIDEL__PROJ_GAUSS_SEIDEL__
76 template <
typename TDomain,
typename TAlgebra>
95 virtual const char*
name()
const {
return "Projected GaussSeidel";}
114 template <
typename TDomain,
typename TAlgebra>
133 virtual const char*
name()
const {
return "Projected Backward GaussSeidel";}
154 template <
typename TDomain,
typename TAlgebra>
173 virtual const char*
name()
const {
return "Projected Symmetric GaussSeidel";}
Definition: smart_pointer.h:108
describes a linear iterator that is based on a matrix operator
Definition: preconditioner.h:103
Interface for Projected GaussSeidel Preconditioner.
Definition: proj_gauss_seidel_interface.h:74
Wrapper for sequential matrices to handle them in parallel.
Definition: parallel_matrix.h:65
Definition: proj_gauss_seidel.h:117
ProjBackwardGaussSeidel(const ProjBackwardGaussSeidel< TDomain, TAlgebra > &parent)
clone constructor
Definition: proj_gauss_seidel.h:138
algebra_type::vector_type vector_type
Vector type.
Definition: proj_gauss_seidel.h:129
virtual SmartPtr< ILinearIterator< vector_type > > clone()
Clone.
Definition: proj_gauss_seidel.h:143
algebra_type::matrix_type matrix_type
Matrix type.
Definition: proj_gauss_seidel.h:126
IProjGaussSeidel< TDomain, TAlgebra > base_type
Base class type.
Definition: proj_gauss_seidel.h:120
virtual const char * name() const
name
Definition: proj_gauss_seidel.h:133
ProjBackwardGaussSeidel()
Definition: proj_gauss_seidel.h:136
TAlgebra algebra_type
Algebra type.
Definition: proj_gauss_seidel.h:123
virtual void step(const matrix_type &mat, vector_type &c, const vector_type &d, const number relax)
computes a new correction c = B*d and projects on the underlying constraint
Definition: proj_gauss_seidel_impl.h:91
Projected GaussSeidel (SOR) -method.
Definition: proj_gauss_seidel.h:79
ProjGaussSeidel(const ProjGaussSeidel< TDomain, TAlgebra > &parent)
copy constructor
Definition: proj_gauss_seidel.h:100
virtual SmartPtr< ILinearIterator< vector_type > > clone()
Clone.
Definition: proj_gauss_seidel.h:105
algebra_type::matrix_type matrix_type
Matrix type.
Definition: proj_gauss_seidel.h:88
algebra_type::vector_type vector_type
Vector type.
Definition: proj_gauss_seidel.h:91
ProjGaussSeidel()
Definition: proj_gauss_seidel.h:98
virtual const char * name() const
name
Definition: proj_gauss_seidel.h:95
TAlgebra algebra_type
Algebra type.
Definition: proj_gauss_seidel.h:85
IProjGaussSeidel< TDomain, TAlgebra > base_type
Base class type.
Definition: proj_gauss_seidel.h:82
virtual void step(const matrix_type &mat, vector_type &c, const vector_type &d, const number relax)
computes a new correction c = B*d and projects on the underlying constraint
Definition: proj_gauss_seidel_impl.h:77
Definition: proj_gauss_seidel.h:157
virtual void step(const matrix_type &mat, vector_type &c, const vector_type &d, const number relax)
computes a new correction c = B*d and projects on the underlying constraint
Definition: proj_gauss_seidel_impl.h:108
TAlgebra algebra_type
Algebra type.
Definition: proj_gauss_seidel.h:163
ProjSymmetricGaussSeidel()
Definition: proj_gauss_seidel.h:176
algebra_type::matrix_type matrix_type
Matrix type.
Definition: proj_gauss_seidel.h:166
ProjSymmetricGaussSeidel(const ProjSymmetricGaussSeidel< TDomain, TAlgebra > &parent)
copy constructor
Definition: proj_gauss_seidel.h:179
virtual const char * name() const
name
Definition: proj_gauss_seidel.h:173
IProjGaussSeidel< TDomain, TAlgebra > base_type
Base class type.
Definition: proj_gauss_seidel.h:160
virtual SmartPtr< ILinearIterator< vector_type > > clone()
Clone.
Definition: proj_gauss_seidel.h:184
algebra_type::vector_type vector_type
Vector type.
Definition: proj_gauss_seidel.h:169
double number
Definition: types.h:124
CPUAlgebra::vector_type vector_type
SmartPtr< T, FreePolicy > make_sp(T *inst)
returns a SmartPtr for the passed raw pointer
Definition: smart_pointer.h:836