DGtal 1.4.0
Loading...
Searching...
No Matches
CLinearAlgebraSolver.h
1
17#pragma once
18
31#if defined(CLinearAlgebraSolver_RECURSES)
32#error Recursive header files inclusion detected in CLinearAlgebraSolver.h
33#else // defined(CLinearAlgebraSolver_RECURSES)
35#define CLinearAlgebraSolver_RECURSES
36
37#if !defined CLinearAlgebraSolver_h
39#define CLinearAlgebraSolver_h
40
42// Inclusions
43#include <iostream>
44#include "DGtal/base/Common.h"
45#include "DGtal/math/linalg/CLinearAlgebra.h"
47
48namespace DGtal
49{
50namespace concepts
51{
53// class CLinearAlgebraSolver
102template <typename S, typename V, typename M>
104{
105 // ----------------------- Concept checks ------------------------------
106public:
107 typedef S Solver;
108 typedef V Vector;
109 typedef M Matrix;
110
112
114 {
115 solver.compute(a);
116 status_return = static_cast<int>(const_solver.info());
117 x = const_solver.solve(y);
118 }
119 // ------------------------- Private Datas --------------------------------
120private:
124 const Matrix a;
125 const Vector y;
126 V x;
127
128 // ------------------------- Internals ------------------------------------
129private:
130
131}; // end of concept CLinearAlgebraSolver
132}
133} // namespace DGtal
134
135// //
137
138#endif // !defined CLinearAlgebraSolver_h
139
140#undef CLinearAlgebraSolver_RECURSES
141#endif // else defined(CLinearAlgebraSolver_RECURSES)
DGtal is the top-level namespace which contains all DGtal functions and types.
Aim: Describe a linear solver defined over a linear algebra. Problems are of the form:
BOOST_CONCEPT_ASSERT((CLinearAlgebra< Vector, Matrix >))
Aim: Check right multiplication between matrix and vector and internal matrix multiplication....
Go to http://www.sgi.com/tech/stl/DefaultConstructible.html.
Definition Boost.dox:30