Ken Williams wrote:

Hi Brendan,

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.

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.

 -Ken

This type of interval is also know as a Confidence Interval.

Spencer

Reply via email to