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__
76template <
typename TDomain,
typename TAlgebra>
95 virtual const char*
name()
const {
return "Projected GaussSeidel";}
114template <
typename TDomain,
typename TAlgebra>
133 virtual const char*
name()
const {
return "Projected Backward GaussSeidel";}
154template <
typename TDomain,
typename TAlgebra>
173 virtual const char*
name()
const {
return "Projected Symmetric GaussSeidel";}
Definition smart_pointer.h:108
Interface for Projected GaussSeidel Preconditioner.
Definition proj_gauss_seidel_interface.h:74
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
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
virtual SmartPtr< ILinearIterator< vector_type > > clone()
Clone.
Definition proj_gauss_seidel.h:143
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
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
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 SmartPtr< ILinearIterator< vector_type > > clone()
Clone.
Definition proj_gauss_seidel.h:105
virtual const char * name() const
name
Definition proj_gauss_seidel.h:95
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 SmartPtr< ILinearIterator< vector_type > > clone()
Clone.
Definition proj_gauss_seidel.h:184
IProjGaussSeidel< TDomain, TAlgebra > base_type
Base class type.
Definition proj_gauss_seidel.h:160
virtual const char * name() const
name
Definition proj_gauss_seidel.h:173
algebra_type::vector_type vector_type
Vector type.
Definition proj_gauss_seidel.h:169
double number
Definition types.h:124
SmartPtr< T, FreePolicy > make_sp(T *inst)
returns a SmartPtr for the passed raw pointer
Definition smart_pointer.h:836