DGtal  1.4.beta
DGtal::concepts::CLinearAlgebraSolver< S, V, M > Struct Template Reference

Aim: Describe a linear solver defined over a linear algebra. Problems are of the form: More...

#include <DGtal/math/linalg/CLinearAlgebraSolver.h>

Inheritance diagram for DGtal::concepts::CLinearAlgebraSolver< S, V, M >:
[legend]

Public Types

typedef S Solver
 
typedef V Vector
 
typedef M Matrix
 

Public Member Functions

 BOOST_CONCEPT_ASSERT ((CLinearAlgebra< Vector, Matrix >))
 
 BOOST_CONCEPT_USAGE (CLinearAlgebraSolver)
 

Private Attributes

int status_return
 
const Solver const_solver
 
Solver solver
 
const Matrix a
 
const Vector y
 
x
 

Detailed Description

template<typename S, typename V, typename M>
struct DGtal::concepts::CLinearAlgebraSolver< S, V, M >

Aim: Describe a linear solver defined over a linear algebra. Problems are of the form:

Description of concept 'CLinearAlgebraSolver'

a * x = y

where a type is a model of CMatrix and x, y type is a model of CVector. Matrix and vector types should be a model of CLinearAlgebra.

Refinement of

  • boost::DefaultConstructible<S>
  • CLinearAlgebra<V, M>

Associated types

Notation

  • Solver : A type that is a model of CLinearAlgebraSolver
  • Vector : A type that is a model of CVector
  • Matrix : A type that is a model of CMatrix
  • Info : The type returned by solver.status(), problem solved successfully if true when compared to 0
  • y : object of type Vector, input of the linear problem
  • x : object of type Vector, solution of the linear problem
  • a : object of type Matrix
  • info : object of type Info

Definitions

Valid expressions and semantics

Name Expression Type requirements Return type Precondition Semantics Post condition Complexity
Problem factorization / matrix input solver.compute(a) return *this.
Problem resolution / vector input x = solver.solve(y) Vector
Status solver.status()

Invariants

Models

Notes

Template Parameters
Sthe type that should be a model of CLinearAlgebraSolver.
Vthe type that should be a model of CVector
Mthe type that should be a model of CMatrix

Definition at line 103 of file CLinearAlgebraSolver.h.

Member Typedef Documentation

◆ Matrix

template<typename S , typename V , typename M >
typedef M DGtal::concepts::CLinearAlgebraSolver< S, V, M >::Matrix

Definition at line 109 of file CLinearAlgebraSolver.h.

◆ Solver

template<typename S , typename V , typename M >
typedef S DGtal::concepts::CLinearAlgebraSolver< S, V, M >::Solver

Definition at line 107 of file CLinearAlgebraSolver.h.

◆ Vector

template<typename S , typename V , typename M >
typedef V DGtal::concepts::CLinearAlgebraSolver< S, V, M >::Vector

Definition at line 108 of file CLinearAlgebraSolver.h.

Member Function Documentation

◆ BOOST_CONCEPT_ASSERT()

template<typename S , typename V , typename M >
DGtal::concepts::CLinearAlgebraSolver< S, V, M >::BOOST_CONCEPT_ASSERT ( (CLinearAlgebra< Vector, Matrix >)  )

◆ BOOST_CONCEPT_USAGE()

Field Documentation

◆ a

template<typename S , typename V , typename M >
const Matrix DGtal::concepts::CLinearAlgebraSolver< S, V, M >::a
private

Definition at line 124 of file CLinearAlgebraSolver.h.

◆ const_solver

template<typename S , typename V , typename M >
const Solver DGtal::concepts::CLinearAlgebraSolver< S, V, M >::const_solver
private

◆ solver

template<typename S , typename V , typename M >
Solver DGtal::concepts::CLinearAlgebraSolver< S, V, M >::solver
private

◆ status_return

template<typename S , typename V , typename M >
int DGtal::concepts::CLinearAlgebraSolver< S, V, M >::status_return
private

◆ x

template<typename S , typename V , typename M >
V DGtal::concepts::CLinearAlgebraSolver< S, V, M >::x
private

Definition at line 126 of file CLinearAlgebraSolver.h.

◆ y

template<typename S , typename V , typename M >
const Vector DGtal::concepts::CLinearAlgebraSolver< S, V, M >::y
private

Definition at line 125 of file CLinearAlgebraSolver.h.


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