AERN-RnToRm- polynomial function enclosures (PFEs) approximating exact real functions




Approximation of continuous real functions defined on the unit rectangle domain of a certain dimension.

To be imported qualified, usually with the synonym UFA.



class ERFnApprox box varid domra ranra fa => ERUnitFnApprox box varid domra ranra fa | fa -> box varid domra ranra whereSource

This class extends ERFnApprox by:

  • assuming that the domain of the function enclosures is always [-1,1]^n for some n;
  • allowing the construction of basic function enclosures where the domain has to be known.


bottomApprox :: faSource

A function enclosure with no information about the function's values.

const :: [ranra] -> faSource

Construct a constant enclosure for a tuple of functions.



:: [ranra]

values at 0

-> Map varid [ranra]

ascents of each base vector

-> fa 

Construct the exact enclosure of an affine function on [-1,1]^n.

volume :: [varid] -> fa -> ranraSource

Find close upper and lower bounds of the volume of the entire enclosure. A negative volume means that the enclosure is certainly inconsistent.

Explicitly specify the variables to identify the dimension of the domain.



:: EffortIndex 
-> [varid] 
-> fa 
-> fa 
-> (fa, ranra)

enclosure intersection and measurement of improvement analogous to the one returned by the pointwise RA.intersectMeasureImprovement

Intersect two enclosures and measure the global improvement as one number.

(Use RA.intersectMeasureImprovement defined in module Data.Number.ER.Real.Approx to measure the improvement using a function enclosure.)

Explicitly specify the variables to identify the dimension of the domain.



:: EffortIndex

how hard to try

-> fa

function to integrate

-> varid

x = variable to integrate by

-> domra

origin in terms of x; this has to be exact!

-> fa

values at origin

-> fa 

Safely integrate a [-1,1]^n -> R^m function enclosure with some initial condition (origin and function at origin).


ERUnitFnBase boxb boxra varid b ra fb => ERUnitFnApprox boxra varid ra ra (ERFnInterval fb ra)