codac 1.5.6
|
Contractor for a linear system of interval equations, based on the classical Gauss elimination procedure. More...
#include <codac2_linear_ctc.h>
Public Member Functions | |
CtcGaussElim () | |
Creates a contractor based on the Gauss elimination. | |
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, based on the classical Gauss elimination procedure.
No preconditioning is done (see CtcLinearPrecond
for preconditioning).
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{x}\), \(\mathbf{b}\) vectors in \(\mathbb{R}^{n}\).
Note that because the condition \(0\in[a_{ii}]\) is frequently satisfied for some \(i\), this contractor often fails to contract. It is however efficient, for instance, when the interval matrix \([\mathbf{A}]\) is close to the identity matrix. See the CtcLinearPrecond
for this purpose.
Note also that this contractor is idempotent: if it is run again, \([\mathbf{x}]\) is not contracted any more.
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.2.2, Page 70
void codac2::CtcGaussElim::contract | ( | IntervalMatrix & | A, |
IntervalVector & | x, | ||
IntervalVector & | b ) const |
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}]\) |