KASKADE 7 development version
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Kaskade::DirectLinearSolver< Scalar, SparseInt > Class Template Reference

Direct solver.Implements Direct Solver Interface of Algorithms. More...

#include <discrete_solver.hh>

Detailed Description

template<class Scalar, class SparseInt = int>
class Kaskade::DirectLinearSolver< Scalar, SparseInt >

Direct solver.Implements Direct Solver Interface of Algorithms.

Factorizations:

Definition at line 44 of file discrete_solver.hh.

Public Member Functions

 DirectLinearSolver (std::string const &solverName_, bool verbose=false)
 default constructor More...
 
 ~DirectLinearSolver ()
 
void solve (std::vector< double > &sol, SparseLinearSystem &lin)
 solve a system, keep factorization More...
 
void resolve (std::vector< double > &sol, SparseLinearSystem const &lin) const
 solve a system again More...
 
void setRelativeAccuracy (double)
 Solves always exactly. More...
 
double getRelativeAccuracy ()
 Always exact solution. More...
 
double getAbsoluteAccuracy ()
 Always exact solution. More...
 
bool improvementPossible ()
 
void onChangedLinearization ()
 Do sth if linearization changed. More...
 
void flushFactorization ()
 flush factorization More...
 

Public Attributes

int report
 Report of progress (0=no report, 1=brief, 2=verbose) More...
 

Static Public Attributes

static const bool needMatrix = true
 needs a matrix More...
 

Constructor & Destructor Documentation

◆ DirectLinearSolver()

template<class Scalar , class SparseInt = int>
Kaskade::DirectLinearSolver< Scalar, SparseInt >::DirectLinearSolver ( std::string const &  solverName_,
bool  verbose = false 
)
inlineexplicit

default constructor

Definition at line 50 of file discrete_solver.hh.

◆ ~DirectLinearSolver()

template<class Scalar , class SparseInt = int>
Kaskade::DirectLinearSolver< Scalar, SparseInt >::~DirectLinearSolver ( )
inline

Definition at line 52 of file discrete_solver.hh.

Member Function Documentation

◆ flushFactorization()

template<class Scalar , class SparseInt = int>
void Kaskade::DirectLinearSolver< Scalar, SparseInt >::flushFactorization ( )
inline

◆ getAbsoluteAccuracy()

template<class Scalar , class SparseInt = int>
double Kaskade::DirectLinearSolver< Scalar, SparseInt >::getAbsoluteAccuracy ( )
inline

Always exact solution.

Definition at line 95 of file discrete_solver.hh.

◆ getRelativeAccuracy()

template<class Scalar , class SparseInt = int>
double Kaskade::DirectLinearSolver< Scalar, SparseInt >::getRelativeAccuracy ( )
inline

Always exact solution.

Definition at line 92 of file discrete_solver.hh.

◆ improvementPossible()

template<class Scalar , class SparseInt = int>
bool Kaskade::DirectLinearSolver< Scalar, SparseInt >::improvementPossible ( )
inline

Definition at line 97 of file discrete_solver.hh.

◆ onChangedLinearization()

template<class Scalar , class SparseInt = int>
void Kaskade::DirectLinearSolver< Scalar, SparseInt >::onChangedLinearization ( )
inline

Do sth if linearization changed.

Definition at line 101 of file discrete_solver.hh.

◆ resolve()

template<class Scalar , class SparseInt = int>
void Kaskade::DirectLinearSolver< Scalar, SparseInt >::resolve ( std::vector< double > &  sol,
SparseLinearSystem const &  lin 
) const
inline

solve a system again

Definition at line 76 of file discrete_solver.hh.

Referenced by Kaskade::DirectLinearSolver< Scalar, SparseInt >::solve().

◆ setRelativeAccuracy()

template<class Scalar , class SparseInt = int>
void Kaskade::DirectLinearSolver< Scalar, SparseInt >::setRelativeAccuracy ( double  )
inline

Solves always exactly.

Definition at line 89 of file discrete_solver.hh.

◆ solve()

template<class Scalar , class SparseInt = int>
void Kaskade::DirectLinearSolver< Scalar, SparseInt >::solve ( std::vector< double > &  sol,
SparseLinearSystem lin 
)
inline

solve a system, keep factorization

Definition at line 55 of file discrete_solver.hh.

Member Data Documentation

◆ needMatrix

template<class Scalar , class SparseInt = int>
const bool Kaskade::DirectLinearSolver< Scalar, SparseInt >::needMatrix = true
static

needs a matrix

Definition at line 48 of file discrete_solver.hh.

◆ report

template<class Scalar , class SparseInt = int>
int Kaskade::DirectLinearSolver< Scalar, SparseInt >::report

Report of progress (0=no report, 1=brief, 2=verbose)

Definition at line 109 of file discrete_solver.hh.

Referenced by Kaskade::DirectLinearSolver< Scalar, SparseInt >::resolve(), and Kaskade::DirectLinearSolver< Scalar, SparseInt >::solve().


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