Interval package: Difference between revisions

Jump to navigation Jump to search
2,426 bytes added ,  9 November 2014
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 ===
240

edits

Navigation menu