|
So-Bogus
A c++ sparse block matrix library aimed at Second Order cone problems
|
Public Types | |
| typedef Base::GlobalProblemTraits | GlobalProblemTraits |
| typedef GlobalProblemTraits::Scalar | Scalar |
|
typedef BlockMatrixTraits < BlockMatrixType >::Index | Index |
|
typedef LocalProblemTraits < Base::BlockTraits::RowsPerBlock, Scalar > | BlockProblemTraits |
|
typedef BlockMatrixTraits < BlockMatrixType > | BlockTraits |
| typedef Signal< unsigned, Scalar > | CallBackType |
Public Member Functions | |
| void | useInfinityNorm (bool useInfNorm) |
| Sets whether the solver will use the infinity norm instead of the l1 one to compute the global residual from the local ones. | |
| bool | usesInfinityNorm () const |
| template<typename NSLaw , typename RhsT , typename ResT > | |
| Scalar | eval (const NSLaw &law, const ResT &y, const RhsT &x) const |
| Eval the current global residual as a function of the local ones. More... | |
| template<typename NSLaw , typename VectorT > | |
| void | projectOnConstraints (const NSLaw &projector, VectorT &x) const |
Projects the variable x on the constraints defined by projector. | |
| template<typename NSLaw , typename RhsT , typename ResT > | |
| void | dualityCOV (const NSLaw &law, const RhsT &b, ResT &x) const |
| Compute associated change of variable (see NSLaw) | |
| template<typename NSLaw , typename RhsT , typename ResT > | |
| Scalar | solve (const NSLaw &law, const RhsT &b, ResT &x) const |
| Derived & | setMatrix (const BlockObjectBase< BlockMatrixType > &matrix) |
| Sets the system matrix and initializes internal structures. More... | |
| void | setMaxIters (unsigned maxIters) |
| For iterative solvers: sets the maximum number of iterations. | |
| unsigned | maxIters () const |
| void | setTol (Scalar tol) |
| For iterative solvers: sets the solver tolerance. | |
| Scalar | tol () const |
| CallBackType & | callback () |
| Callback hook; will be triggered every N iterations, depending on the solver. More... | |
| const CallBackType & | callback () const |
|
const BlockObjectBase < BlockMatrixType > & | matrix () const |
Protected Member Functions | |
| void | updateScalings () |
Protected Attributes | |
| GlobalProblemTraits::DynVector | m_scaling |
| bool | m_useInfinityNorm |
| See useInfinityNorm(). Defaults to false. | |
|
const BlockObjectBase < BlockMatrixType > * | m_matrix |
| Pointer to the matrix of the system. | |
| unsigned | m_maxIters |
| See setMaxIters() | |
| Scalar | m_tol |
| See setTol() | |
| CallBackType | m_callback |
|
inherited |
Callback hook; will be triggered every N iterations, depending on the solver.
Useful to monitor the convergence of the solver. Can be connected to a function that takes an unsigned and a Scalar as parameters. The first argument will be the current iteration number, and the second the current residual.
| Scalar bogus::ConstrainedSolverBase< Derived, BlockMatrixType >::eval | ( | const NSLaw & | law, |
| const ResT & | y, | ||
| const RhsT & | x | ||
| ) | const |
Eval the current global residual as a function of the local ones.
y should be such that y = m_matrix * x + rhs
err defined as follow :err 
err :=
| Derived& bogus::ConstrainedSolverBase< Derived, BlockMatrixType >::setMatrix | ( | const BlockObjectBase< BlockMatrixType > & | matrix | ) |
Sets the system matrix and initializes internal structures.