240
edits
m (Fixed correctness) |
|||
Line 281: | Line 281: | ||
[3.9999999999999982, 4.0000000000000018] | [3.9999999999999982, 4.0000000000000018] | ||
[4.9999999999999973, 5.0000000000000027] | [4.9999999999999973, 5.0000000000000027] | ||
==== Notes on linear systems ==== | |||
A system of linear equations in the form A''x'' = b with intervals can be seen as a range of ''classical'' linear systems, which can be solved simultaneously. Whereas classical algorithms compute an approximation for a single solution of a single linear system, interval algorithms compute an enclosure for all possible solutions of (possibly several) linear systems. Some characteristics should definitely be known when linear interval systems are solved: | |||
* If the linear system is underdetermined and has infinitely many solutions, the interval solution will be unbound in at least one of its coordinates. Contrariwise, from an unbound result it can not be concluded whether the linear system is underdetermined or has solutions. | |||
* If the interval result is empty in at least one of its coordinates, the linear system is guaranteed to be underdetermined and has no solutions. Contrariwise, from a non-empty result it can not be concluded whether all or some of the systems have solutions or not. | |||
* Wide intervals within the matrix A can easily lead to a superposition of cases, where the rank of A is no longer unique. If the linear interval system contains cases of linear independent equations as well as linear dependent equations, the resulting enclosure of solutions will inevitably be very broad. | |||
* Due to the [http://en.wikipedia.org/wiki/Interval_arithmetic#Dependency_problem dependency problem in interval arithmetic], it may happen that the current solving algorithm produces poor results for some inputs. | |||
However, solving linear systems with interval arithmetic can produce useful results in many cases and automatically carries a guaranty for error boundaries. Additionally, it can give better information than the floating-point variants for some cases. | |||
{| class="wikitable" style="margin: auto" | |||
!Standard floating point arithmetic | |||
!Interval arithmetic | |||
|- | |||
| style = "vertical-align: top" | | |||
octave:1> A = [1, 0; 2, 0]; | |||
octave:2> A \ [3; 0] # no solution | |||
warning: matrix singular to machine precision, rcond = 0 | |||
ans = | |||
0.60000 | |||
0.00000 | |||
octave:3> A \ [4; 8] # many solutions | |||
ans = | |||
4 | |||
0 | |||
| style = "vertical-align: top" | | |||
octave:4> A = infsup (A); | |||
octave:5> A \ [3; 0] # no solution | |||
ans = 2×1 interval vector | |||
[Empty] | |||
[Empty] | |||
octave:6> A \ [4; 8] # many solutions | |||
ans = 2×1 interval vector | |||
[4] | |||
[Entire] | |||
|} | |||
=== Error handling === | === Error handling === |
edits