codac 1.5.6
|
Contractor for a linear system of interval equations, using a preconditioning method before calling some provided contractor. More...
#include <codac2_linear_ctc.h>
Public Member Functions | |
template<typename C> requires (std::is_base_of_v<CtcLinearBase,C> || std::is_same_v<std::shared_ptr<CtcLinearBase>,C>) | |
CtcLinearPrecond (const C &ctc_no_precond) | |
Creates a contractor performing preconditioning before calling some provided linear contractor. | |
void | contract (IntervalMatrix &A, IntervalVector &x, IntervalVector &b) const |
Creates the domains according to the linear system: \(\mathbf{A}\cdot\mathbf{x}=\mathbf{b}\). | |
Contractor for a linear system of interval equations, using a preconditioning method before calling some provided contractor.
The associated constraint is under the form \(\mathbf{A}\cdot\mathbf{x}=\mathbf{b}\), where \(\mathbf{A}\) is a squared matrix in \(\mathbb{R}^{n\times n}\) and \(\mathbf{c}\), \(\mathbf{b}\) vectors in \(\mathbb{R}^{n}\).
Contractors such as CtcGaussElim
or CtcGaussSeidel
are then likely to be efficient if they act on \(\mathbf{A}\) matrices close to the identity. This can be achieved provided that \(w([\mathbf{A}])\) is small enough and that some selected \(\mathbf{A0}\) in \([\mathbf{A}]\) is well conditioned.
Reference: Applied Interval Analysis Luc Jaulin, Michel Kieffer, Olivier Didrit, Éric Walter 2001, Springer London doi: https://doi.org/10.1007/978-1-4471-0249-6 Sec 4.3.2, Page 84
|
inline |
Creates a contractor performing preconditioning before calling some provided linear contractor.
ctc_no_precond | contractor object performing the contraction of a linear system of equations, in the case of well-conditioned systems (when the interval matrix \([\mathbf{A}]\) is close to the identity matrix). |
|
inline |
Creates the domains according to the linear system: \(\mathbf{A}\cdot\mathbf{x}=\mathbf{b}\).
A | the domain \([\mathbf{A}]\) |
x | the domain \([\mathbf{x}]\) |
b | the domain \([\mathbf{b}]\) |