Interval package: Difference between revisions

1,105 bytes added ,  31 October 2014
(Note on overridden isempty function)
Line 232: Line 232:
  octave:1> infsup (1, 3) <= infsup (2, 4)
  octave:1> infsup (1, 3) <= infsup (2, 4)
  ans =  1
  ans =  1
=== Matrix operations ===
Above mentioned operations can usually also be applied to interval vectors and matrices. Many operations use [http://www.gnu.org/software/octave/doc/interpreter/Vectorization-and-Faster-Code-Execution.html#Vectorization-and-Faster-Code-Execution vectorization techniques].
The implemented interval matrix operations comprise: exact dot product, exact matrix multiplication, exact vector sums, (not-exact) matrix inversion, matrix powers and solving linear systems. As a result of missing hardware / low-level library support, these operations are quite slow compared to familiar operations in floating-point arithmetic.
octave:1> A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 0], [1, 2, 3; 4, 0, 6; 0, 0, 1])
A = 3×3 interval matrix
    [1]  [2]      [3]
    [4]  [0]  [0, 6]
    [0]  [0]  [0, 1]
octave:2> B = inv (A)
B = 3×3 interval matrix
    [0]    [.25]      [-Inf, 0]
    [.5]  [-.125]  [-Inf, -.75]
    [0]      [0]      [1, Inf]
octave:3> A * B
ans = 3×3 interval matrix
    [1]  [0]  [Entire]
    [0]  [1]  [Entire]
    [0]  [0]  [0, Inf]


=== Error handling ===
=== Error handling ===
240

edits