AERN-Real-0.9.9: arbitrary precision interval arithmetic for approximating exact real numbers

Portability portable experimental mik@konecny.aow.cz

Data.Number.ER.Real.Approx.Interval

Description

This module defines an arbitrary precision interval type and most of its interval arithmetic operations.

Synopsis

# Documentation

data ERInterval base Source

Type for arbitrary precision interval arithmetic.

Constructors

 ERIntervalEmpty usually represents computation error (top element in the interval domain) ERIntervalAny represents no knowledge of result (bottom element in the interval domain) ERInterval Fieldserintv_left :: base erintv_right :: base

Instances

 Typeable1 ERInterval ERRealBase b => Eq (ERInterval b) ERRealBase b => Fractional (ERInterval b) Data base => Data (ERInterval base) ERRealBase b => Num (ERInterval b) ERRealBase b => Ord (ERInterval b) ERRealBase b => Show (ERInterval b) Binary a => Binary (ERInterval a) (ERRealBase b, HTML b) => HTML (ERInterval b) (ERRealBase b, RealFrac b) => ERIntApprox (ERInterval b) (ERRealBase b, RealFrac b) => ERApprox (ERInterval b) (ERRealBase b, RealFrac b) => ERApproxElementary (ERInterval b)

convert to a normal form, ie:

• no NaNs as endpoints
• `l <= r`
• no (-Infty, +Infty)

Multiply two real approximations, assuming the approximations are `inner` as opposed to `outer`:

• `outer`: the approximation contains all the number(s) of interest * `inner`: all numbers eligible for the approximation are numbers of interest

Add two real approximations, assuming the approximations are `inner` as opposed to `outer`:

• `outer`: the approximation contains all the number(s) of interest * `inner`: all numbers eligible for the approximation are numbers of interest