Title: RE: New Module Proposal - Math::Interval

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

Reply via email to