TSparseSolver< F > Class Template Referenceabstract
Uncategorized

solver for sparse systems of equations More...

`#include <mia/core/sparse_solver.hh>`

Inheritance diagram for TSparseSolver< F >:
[legend]
Collaboration diagram for TSparseSolver< F >:
[legend]

## Data Structures

class | A_mult_x
| A class that implements the multiplication of a cell of the matrix A with the field x. More...

## Public Types

typedef Field::const_iterator | const_field_iterator
| type of the field random access const_iterator
typedef dim_traits< F >::dimsize_type | dimsize_type
| typeef of the dimension type
typedef F | Field
| typedef for the field the solver works on
typedef Field::iterator | field_iterator
| type of the field random access iterator
typedef F | plugin_data
| helper typedef for the plug-in handling
typedef TSparseSolver< F > | plugin_type
| helper for the plug-in handling
typedef Field::value_type | value_type
| type of the values stored in Field
Public Types inherited from CPropertyFlagHolder
typedef std::set< const char * > | Set
| define the type of the set of flags

## Public Member Functions

virtual int | solve (const Field &rhs, Field &x, const A_mult_x &mult) const =0
virtual | ~TSparseSolver ()
Public Member Functions inherited from CProductBase
const char * | get_init_string () const
void | set_init_string (const char *init)
void | set_module (PPluginModule module)
Public Member Functions inherited from CPropertyFlagHolder
void | add (const char *property)
Set | get_missing_properties (const CPropertyFlagHolder &testset) const
bool | has (const char *property) const
bool | has_all_in (const CPropertyFlagHolder &testset) const
virtual | ~CPropertyFlagHolder ()

## Static Public Attributes

static const char *const | type_descr
| plugin type component of plugin path descriptor

## Detailed Description

template<typename F>
class TSparseSolver< F >

solver for sparse systems of equations

This is the templatex base class for solvers for systems of equations Ax=b if A where the multiplication Ax can be expressed as a convolution operation with a N dimansional operator.

Template Parameters

  F | the field this solver works on. The Field type must provide the types const_iterator and iterator that implement random access iterators.

Remarks
  this class is currently not used at all and it may actually be better to design it to interface with a library like LAPACK etc.

Definition at line 43 of file sparse_solver.hh.

## Member Typedef Documentation

## const_field_iterator

template<typename F>

typedef Field::const_iterator TSparseSolver< F >::const_field_iterator

type of the field random access const_iterator

Definition at line 65 of file sparse_solver.hh.

## dimsize_type

template<typename F>

typedef dim_traits<F>::dimsize_type TSparseSolver< F >::dimsize_type

typeef of the dimension type

Definition at line 53 of file sparse_solver.hh.

## Field

template<typename F>

typedef F TSparseSolver< F >::Field

typedef for the field the solver works on

Definition at line 47 of file sparse_solver.hh.

## field_iterator

template<typename F>

typedef Field::iterator TSparseSolver< F >::field_iterator

type of the field random access iterator

Definition at line 62 of file sparse_solver.hh.

## plugin_data

template<typename F>

typedef F TSparseSolver< F >::plugin_data

helper typedef for the plug-in handling

Definition at line 50 of file sparse_solver.hh.

## plugin_type

template<typename F>

typedef TSparseSolver<F> TSparseSolver< F >::plugin_type

helper for the plug-in handling

Definition at line 56 of file sparse_solver.hh.

## value_type

template<typename F>

typedef Field::value_type TSparseSolver< F >::value_type

type of the values stored in Field

Definition at line 68 of file sparse_solver.hh.

## Constructor & Destructor Documentation

## ~TSparseSolver()

template<typename F>

virtual TSparseSolver< F >::~TSparseSolver | ( |  | ) |

inline virtual

Definition at line 127 of file sparse_solver.hh.

## Member Function Documentation

## solve()

template<typename F>

virtual int TSparseSolver< F >::solve | ( | const Field & | rhs,
|  | Field & | x,
|  | const A_mult_x & | mult ) const

pure virtual

Run the solver

Parameters

  | rhs | the right hand side of teh system of linear equations to be solved
  [in,out] | x | at input an initial estimate of the solution, on output the solution
  | mult | the class implementing the multiplication with matrix A

Returns
  0 if all went fine and an algorithm specific error value if something went wrong.

## Field Documentation

## type_descr

template<typename F>

const char* const TSparseSolver< F >::type_descr

static

plugin type component of plugin path descriptor

Definition at line 59 of file sparse_solver.hh.

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

- sparse_solver.hh