Interval package: Difference between revisions

Improved accuracy of linear system solving operations
m (Updated accuracy of matrix operations)
(Improved accuracy of linear system solving operations)
Line 239: Line 239:


''Technical background information: The interval package simulates a [http://books.google.de/books?hl=de&id=I7X9EVfeV5EC&q=accumulator Kulisch accumulator] in software to produce tightly rounded results for vector and matrix operations.''
''Technical background information: The interval package simulates a [http://books.google.de/books?hl=de&id=I7X9EVfeV5EC&q=accumulator Kulisch accumulator] in software to produce tightly rounded results for vector and matrix operations.''
  octave:1> A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 0], [1, 2, 3; 4, 0, 6; 0, 0, 1])
  octave:1> A = infsup ([1, 2, 3; 4, 0, 0; 0, 0, 1], [1, 2, 3; 4, 0, 6; 0, 0, 1])
  A = 3×3 interval matrix
  A = 3×3 interval matrix
   
   
     [1]  [2]      [3]
     [1]  [2]      [3]
     [4]  [0]  [0, 6]
     [4]  [0]  [0, 6]
     [0]  [0]   [0, 1]
     [0]  [0]     [1]
   
   
  octave:2> B = inv (A)
  octave:2> B = inv (A)
  B = 3×3 interval matrix
  B = 3×3 interval matrix
   
   
     [0]    [.25]  [Entire]
     [0]    [.25]  [-1.5, 0]
     [.5]  [-.125]   [Entire]
     [.5]  [-.125]   [-1.125]
     [0]      [0]   [Entire]
     [0]      [0]         [1]
   
   
  octave:3> A * B
  octave:3> A * B
  ans = 3×3 interval matrix
  ans = 3×3 interval matrix
   
   
     [1]  [0]  [Entire]
     [1]  [0]  [-.75, +.75]
     [0]  [1]   [Entire]
     [0]  [1]       [-6, +6]
     [0]  [0]   [Entire]
     [0]  [0]           [1]
   
   


Line 271: Line 271:
  c ⊂ 3×1 interval vector
  c ⊂ 3×1 interval vector
   
   
     [.18333333333333323, .18333333333333344]
     [.18333333333333332, .18333333333333341]
     [.43333333333333318, .43333333333333352]
     [.43333333333333323, .43333333333333352]
    [.18333333333333323, .18333333333333344]
    [.18333333333333326, .1833333333333333]
   
   
  octave:6> A * c
  octave:6> A * c
  ans ⊂ 3×1 interval vector
  ans ⊂ 3×1 interval vector
   
   
     [2.9999999999999982, 3.0000000000000018]
     [2.9999999999999991, 3.0000000000000009]
     [3.9999999999999982, 4.0000000000000027]
     [3.9999999999999986, 4.0000000000000009]
     [4.9999999999999973, 5.0000000000000027]
     [4.9999999999999982, 5.0000000000000027]


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

edits