Ken Williams wrote on Thursday, March 02, 2006 4:28 AM
> On Feb 26, 2006, at 6:46 PM, Brendan Leber wrote:
>
> > First I need to explain a bit about intervals. In this context an
> > interval is a new type of number just like a complex. Intervals
> > are used to represent values in calculations where the answer can
> > not be exactly represented. For example, the quantity 1/3 does not
> > have an exact binary representation so you must round the answer to
> > the nearest representable value. When evaluating calculations with
> > an interval the results are "rounded out" so that the real answer
> > is somewhere between a lower and upper bound. (The lower bound is
> > rounded down toward negative infinity and the upper bound is
> > rounded up to positive infinity.) So dividing 1 by 3 could result
> > in the interval [0.333; 0.334]. If you want to learn more the best
> > place to start is at: http://www.cs.utep.edu/interval-comp/
>
> I fear that the name "interval" might be somewhat misleading here.
> If I saw Math::Interval on CPAN, I'd expect it to deal with
> connected subsets of the real number line, and to support methods like
> intersect(), overlaps(), contains(), and so on. This is the sense that we'd
> find in, say, the Rivest/Cormen/et-al algorithms book.
I agree.
> Your sense of intervals seems rather to be more akin to error bars on
> a calculated variable, right? Is this interpretation of intervals
> necessarily incompatible with the more "traditional" sense - in other
> words, could a single interface support both notions?
>
> If not, I might suggest something like Math::CalcInterval or
> something like that, so people know it's this calculational sense
> that the code deals with.
Or maybe Math::Interval::Compute? Allowing Math::Interval to provide intersect(), overlaps(), contains()....
Yves