The following look very fishy:

(13) -> i1 := interval(1,2)$Interval(Float) + interval(1,2)$Interval(Float)

   (13)  [2.0,4.0000000000_000000001]
                                                        Type: Interval(Float)
(14) -> i1 - interval(1,2)$Interval(Float) - interval(1,2)$Interval(Float)

   (14)  [- 2.0000000000_000000001,2.0000000000_000000001]
                                                        Type: Interval(Float)
(15) -> i1 - (interval(1,2)$Interval(Float) + interval(1,2)$Interval(Float))

   (15)  [0.0,0.0]
                                                        Type: Interval(Float)

Also:

(16) -> interval(1,2)$Interval(Float) -  interval(1,2)$Interval(Float)

   (16)  [0.0,0.0]
                                                        Type: Interval(Float)

is problematic.

Comments says that getting [0.0, 0.0] as a difference of equal intervals
is a a hack to make sure that ring axioms hold, however:

- the first sequence shows that associativity is violated much
  more that rounding error would suggest
- such cancelation is a serious problem when trying to use intervals
  to get rogorous error estimates


-- 
                              Waldek Hebisch
[email protected] 

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to