240
edits
(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 === |
edits