On Mar 2, 2006, at 4:28, 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.
Agreed.
AFAIK the canonical name for this topic is "Interval Arithmetic"
http://en.wikipedia.org/wiki/Interval_arithmetic#Interval_arithmetic
which is the basis of "Interval Analysis".
Thus, having some math background one would identify
Math::Interval::Arithmetic (or maybe more proper,
Math::IntervalArithmetic) at a glance in a search for "interval".
Additionally the name suggests "arithmetic-like operations on
intervals" to whom does not know that such a thing exists. That still
may suggest "set-like operations" to some, but the name would be
already correct and specific and the docs would clarify that.
-- fxn