Plugins
Loading...
Searching...
No Matches
ug::LeftTransformIterator< TAlgebra, TTransform > Class Template Reference

Transforming preconditioner. More...

#include <df_transforming.h>

+ Inheritance diagram for ug::LeftTransformIterator< TAlgebra, TTransform >:

Public Types

typedef TAlgebra algebra_type
 Algebra type.
 
typedef ILinearIterator< typename TAlgebra::vector_type > base_type
 Base type.
 
typedef TAlgebra::matrix_type matrix_type
 Matrix type.
 
typedef TTransform transform_type
 Transform type.
 
typedef TAlgebra::vector_type vector_type
 Vector type.
 
- Public Types inherited from ug::ITransformingIteration< TAlgebra, LeftTransformIterator< TAlgebra, TTransform > >
typedef TAlgebra algebra_type
 
typedef algebra_type::matrix_type matrix_type
 
typedef algebra_type::vector_type vector_type
 
- Public Types inherited from ug::ILinearIterator< TAlgebra::vector_type >
typedef Y codomain_function_type
 
typedef X domain_function_type
 
- Public Types inherited from ug::DebugWritingObject< typename TAlgebra >
typedef TAlgebra algebra_type
 
typedef TAlgebra::matrix_type matrix_type
 
typedef TAlgebra::vector_type vector_type
 
- Public Types inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type >
typedef TVector vector_type
 

Public Member Functions

bool apply_transformed (vector_type &c, const vector_type &d)
 map: dtilde -> ctilde (CRTP)
 
virtual SmartPtr< ILinearIterator< vector_type > > clone ()
 
bool init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u)
 implementation of init for non-linear (CRTP)
 
bool init (SmartPtr< ILinearOperator< vector_type > > L)
 implementation of init for linear (CRTP)
 
 LeftTransformIterator ()
 
SmartPtr< ILinearOperator< vector_type > > original_operator ()
 original operator (CRTP)
 
void set_preconditioner (SmartPtr< base_type > pprecond)
 
bool transform_defect (vector_type &c, const vector_type &d)
 map: d -> dtilde (CRTP)
 
bool untransform_correction (vector_type &c, const vector_type &d)
 map: ctilde -> c (CRTP)
 
- Public Member Functions inherited from ug::ITransformingIteration< TAlgebra, LeftTransformIterator< TAlgebra, TTransform > >
virtual bool apply (vector_type &c, const vector_type &d)
 
bool apply_transformed (vector_type &c, const vector_type &d)
 
virtual bool apply_update_defect (vector_type &c, vector_type &d)
 
bool init (SmartPtr< ILinearOperator< vector_type > > J, const vector_type &u)
 
bool init (SmartPtr< ILinearOperator< vector_type > > L)
 
 ITransformingIteration ()
 
 ITransformingIteration (const ITransformingIteration &ti)
 
SmartPtr< ILinearOperator< vector_type > > original_operator ()
 
bool transform_defect (vector_type &c, const vector_type &d)
 
bool untransform_correction (vector_type &c, const vector_type &d)
 
- Public Member Functions inherited from ug::ILinearIterator< TAlgebra::vector_type >
virtual bool apply (Y &c, const X &d)=0
 
virtual bool apply_update_defect (Y &c, X &d)=0
 
virtual std::string config_string () const
 
SmartPtr< IDamping< X, Y > > damping ()
 
 ILinearIterator ()
 
 ILinearIterator (const ILinearIterator< X, Y > &parent)
 
virtual bool init (SmartPtr< ILinearOperator< Y, X > > J, const Y &u)=0
 
virtual bool init (SmartPtr< ILinearOperator< Y, X > > L)=0
 
void set_damp (number factor)
 
void set_damp (SmartPtr< IDamping< X, Y > > spScaling)
 
virtual ~ILinearIterator ()
 
- Public Member Functions inherited from ug::DebugWritingObject< typename TAlgebra >
SmartPtr< IDebugWriter< algebra_type > > debug_writer ()
 
ConstSmartPtr< IDebugWriter< algebra_type > > debug_writer () const
 
bool debug_writer_valid () const
 
 DebugWritingObject ()
 
 DebugWritingObject (const DebugWritingObject< algebra_type > &parent)
 
 DebugWritingObject (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter)
 
virtual void set_debug (SmartPtr< IDebugWriter< algebra_type > > spDebugWriter)
 
virtual ~DebugWritingObject ()
 
- Public Member Functions inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type >
virtual void set_debug (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter)
 
SmartPtr< IVectorDebugWriter< vector_type > > vector_debug_writer ()
 
ConstSmartPtr< IVectorDebugWriter< vector_type > > vector_debug_writer () const
 
bool vector_debug_writer_valid () const
 
 VectorDebugWritingObject ()
 
 VectorDebugWritingObject (SmartPtr< IVectorDebugWriter< vector_type > > spDebugWriter)
 
void write_debug (const vector_type &vec, const char *filename)
 
virtual ~VectorDebugWritingObject ()
 

Protected Member Functions

SmartPtr< base_typeget_preconditioner ()
 
transform_typeget_transform ()
 
virtual const char * name () const
 
virtual bool supports_parallel () const
 
SmartPtr< MatrixOperator< matrix_type, vector_type > > transformed_matrix ()
 
vector_typetransformed_rhs ()
 
- Protected Member Functions inherited from ug::DebugWritingObject< typename TAlgebra >
void enter_debug_writer_section (const char *secDir)
 
void enter_debug_writer_section (std::string secDir)
 
void leave_debug_writer_section ()
 
void write_debug (const matrix_type &mat, const char *filename)
 
void write_debug (const matrix_type &mat, std::string name)
 
- Protected Member Functions inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type >
void enter_vector_debug_writer_section (const char *secDir)
 
void enter_vector_debug_writer_section (std::string secDir)
 
void leave_vector_debug_writer_section ()
 
void print_debugger_message (const char *msg)
 
void print_debugger_message (std::string msg)
 
virtual void write_debug (const vector_type &vec, std::string name)
 

Protected Attributes

vector_type m_dTransformed
 
SmartPtr< base_typem_pprecond
 
SmartPtr< MatrixOperator< matrix_type, vector_type > > m_spOpTransformed
 
SmartPtr< ILinearOperator< vector_type > > m_spOriginalOp
 operator of original system
 
transform_type m_transform
 
- Protected Attributes inherited from ug::ILinearIterator< TAlgebra::vector_type >
SmartPtr< IDamping< X, Y > > m_spDamping
 
- Protected Attributes inherited from ug::DebugWritingObject< typename TAlgebra >
SmartPtr< IDebugWriter< algebra_type > > m_spDebugWriter
 
- Protected Attributes inherited from ug::VectorDebugWritingObject< TAlgebra::vector_type >
SmartPtr< IVectorDebugWriter< vector_type > > m_spVectorDebugWriter
 

Private Member Functions

bool init (SmartPtr< MatrixOperator< matrix_type, vector_type > > pOp)
 transform operator and forward call to original
 

Detailed Description

template<typename TAlgebra, typename TTransform>
class ug::LeftTransformIterator< TAlgebra, TTransform >

Transforming preconditioner.

This class implements a simple (left) transforming preconditioner It provides an adapter for any linear iterator

Member Typedef Documentation

◆ algebra_type

template<typename TAlgebra , typename TTransform >
typedef TAlgebra ug::LeftTransformIterator< TAlgebra, TTransform >::algebra_type

Algebra type.

◆ base_type

template<typename TAlgebra , typename TTransform >
typedef ILinearIterator<typename TAlgebra::vector_type> ug::LeftTransformIterator< TAlgebra, TTransform >::base_type

Base type.

◆ matrix_type

template<typename TAlgebra , typename TTransform >
typedef TAlgebra::matrix_type ug::LeftTransformIterator< TAlgebra, TTransform >::matrix_type

Matrix type.

◆ transform_type

template<typename TAlgebra , typename TTransform >
typedef TTransform ug::LeftTransformIterator< TAlgebra, TTransform >::transform_type

Transform type.

◆ vector_type

template<typename TAlgebra , typename TTransform >
typedef TAlgebra::vector_type ug::LeftTransformIterator< TAlgebra, TTransform >::vector_type

Vector type.

Constructor & Destructor Documentation

◆ LeftTransformIterator()

template<typename TAlgebra , typename TTransform >
ug::LeftTransformIterator< TAlgebra, TTransform >::LeftTransformIterator ( )
inline

Member Function Documentation

◆ apply_transformed()

template<typename TAlgebra , typename TTransform >
bool ug::LeftTransformIterator< TAlgebra, TTransform >::apply_transformed ( vector_type c,
const vector_type d 
)
inline

◆ clone()

template<typename TAlgebra , typename TTransform >
virtual SmartPtr< ILinearIterator< vector_type > > ug::LeftTransformIterator< TAlgebra, TTransform >::clone ( )
inlinevirtual

◆ get_preconditioner()

template<typename TAlgebra , typename TTransform >
SmartPtr< base_type > ug::LeftTransformIterator< TAlgebra, TTransform >::get_preconditioner ( )
inlineprotected

◆ get_transform()

◆ init() [1/3]

◆ init() [2/3]

◆ init() [3/3]

◆ name()

template<typename TAlgebra , typename TTransform >
virtual const char * ug::LeftTransformIterator< TAlgebra, TTransform >::name ( ) const
inlineprotectedvirtual

◆ original_operator()

template<typename TAlgebra , typename TTransform >
SmartPtr< ILinearOperator< vector_type > > ug::LeftTransformIterator< TAlgebra, TTransform >::original_operator ( )
inline

◆ set_preconditioner()

template<typename TAlgebra , typename TTransform >
void ug::LeftTransformIterator< TAlgebra, TTransform >::set_preconditioner ( SmartPtr< base_type pprecond)
inline

◆ supports_parallel()

template<typename TAlgebra , typename TTransform >
virtual bool ug::LeftTransformIterator< TAlgebra, TTransform >::supports_parallel ( ) const
inlineprotectedvirtual

◆ transform_defect()

template<typename TAlgebra , typename TTransform >
bool ug::LeftTransformIterator< TAlgebra, TTransform >::transform_defect ( vector_type c,
const vector_type d 
)
inline

◆ transformed_matrix()

template<typename TAlgebra , typename TTransform >
SmartPtr< MatrixOperator< matrix_type, vector_type > > ug::LeftTransformIterator< TAlgebra, TTransform >::transformed_matrix ( )
inlineprotected

◆ transformed_rhs()

template<typename TAlgebra , typename TTransform >
vector_type & ug::LeftTransformIterator< TAlgebra, TTransform >::transformed_rhs ( )
inlineprotected

◆ untransform_correction()

template<typename TAlgebra , typename TTransform >
bool ug::LeftTransformIterator< TAlgebra, TTransform >::untransform_correction ( vector_type c,
const vector_type d 
)
inline

map: ctilde -> c (CRTP)

Member Data Documentation

◆ m_dTransformed

◆ m_pprecond

template<typename TAlgebra , typename TTransform >
SmartPtr<base_type> ug::LeftTransformIterator< TAlgebra, TTransform >::m_pprecond
protected

◆ m_spOpTransformed

◆ m_spOriginalOp

◆ m_transform

template<typename TAlgebra , typename TTransform >
transform_type ug::LeftTransformIterator< TAlgebra, TTransform >::m_transform
protected

The documentation for this class was generated from the following file: