codac 2.0.0
|
Go to the source code of this file.
Functions | |
template<LeftOrRightInv O = LEFT_INV, typename OtherDerived, typename OtherDerived_> | |
IntervalMatrix | codac2::inverse_correction (const Eigen::MatrixBase< OtherDerived > &A, const Eigen::MatrixBase< OtherDerived_ > &B) |
Correct the approximation of the inverse \(\mathbf{B}\approx\mathbf{A}^{-1}\) of a square matrix \(\mathbf{A}\) by providing a reliable enclosure \([\mathbf{A}^{-1}]\). | |
template<typename OtherDerived> | |
IntervalMatrix | codac2::inverse_enclosure (const Eigen::MatrixBase< OtherDerived > &A) |
Enclosure of the inverse of a (non-singular) matrix expression, possibly an interval matrix. | |
IntervalMatrix | codac2::infinite_sum_enclosure (const IntervalMatrix &A, double &mrad) |
Compute an upper bound of \(\left([\mathbf{A}]+[\mathbf{A}]^2+[\mathbf{A}]^3+\dots\right)\), with \([\mathbf{A}]\) a matrix of intervals as an "error term" (uses only bounds on coefficients). | |
|
inline |
Correct the approximation of the inverse \(\mathbf{B}\approx\mathbf{A}^{-1}\) of a square matrix \(\mathbf{A}\) by providing a reliable enclosure \([\mathbf{A}^{-1}]\).
O | If LEFT_INV , use the inverse of \(\mathbf{BA}\) (otherwise use the inverse of \(\mathbf{AB}\), left inverse is normally better). In Python/Matlab, this template parameter is provided as a last boolean argument, and is left_inv = True by default. |
A | A matrix expression, possibly interval. |
B | An (almost punctual) approximation of its inverse. |
|
inline |
Enclosure of the inverse of a (non-singular) matrix expression, possibly an interval matrix.
A | A matrix expression, possibly interval. |
IntervalMatrix codac2::infinite_sum_enclosure | ( | const IntervalMatrix & | A, |
double & | mrad ) |
Compute an upper bound of \(\left([\mathbf{A}]+[\mathbf{A}]^2+[\mathbf{A}]^3+\dots\right)\), with \([\mathbf{A}]\) a matrix of intervals as an "error term" (uses only bounds on coefficients).
The function also returns mrad
, which gives an idea of the magnification of the matrix during calculation. In particular, if mrad
= \(\infty\), then the inversion calculation (e.g., performed by Eigen) has somehow failed and some coefficients of the output interval matrix are \([-\infty,\infty]\).
A | A matrix of intervals (supposed around \(\mathbf{0}\)). |
mrad | The maximum radius of the result added (output argument). |