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.