AERN-RnToRm-0.4.9.1: polynomial function enclosures (PFEs) approximating exact real functionsSource codeContentsIndex
Data.Number.ER.RnToRm.UnitDom.Approx
Portabilityportable
Stabilityexperimental
Maintainermik@konecny.aow.cz
Description

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

To be imported qualified, usually with the synonym UFA.

Synopsis
class ERFnApprox box varid domra ranra fa => ERUnitFnApprox box varid domra ranra fa | fa -> box varid domra ranra where
bottomApprox :: fa
const :: [ranra] -> fa
affine :: [ranra] -> Map varid [ranra] -> fa
composeWithThin :: fa -> Map varid fa -> fa
volume :: [varid] -> fa -> ranra
intersectMeasureImprovement :: EffortIndex -> [varid] -> fa -> fa -> (fa, ranra)
integrate :: EffortIndex -> fa -> varid -> domra -> fa -> fa
keyPointsConsistencyCheck :: ERUnitFnApprox box varid domra ranra fa => (box -> ranra) -> fa -> [(box, ranra, ranra)]
keyPointsPointwiseConsistencyCheck :: ERUnitFnApprox box varid domra ranra fa => ([ranra] -> ranra) -> [fa] -> fa -> [(box, ranra, ranra)]
Documentation
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.
Methods
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.
affineSource
:: [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.
composeWithThinSource
:: faenclosure of f
-> Map varid faspecifies the variables to substitute and for each such variable v, gives an exact enclosure of a function f_v to substitute for v
-> fa

enclosure of f[v |-> f_v]

BEWARE: Enclosure is probably incorrect where values of f_v are outside the domain of v in f.

A simple and limited composition of functions.

It is primarily intended to be used for precomposition with affine functions.

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.

intersectMeasureImprovementSource
:: EffortIndex
-> [varid]
-> fa
-> fa
-> (fa, ranra)enclosure intersection and measurement of improvement analogous to the one returned by the pointwise intersectMeasureImprovement

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

(Use 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.

integrateSource
:: EffortIndexhow hard to try
-> fafunction to integrate
-> varidx = variable to integrate by
-> domraorigin in terms of x; this has to be exact!
-> favalues at origin
-> fa
Safely integrate a [-1,1]^n -> R^m function enclosure with some initial condition (origin and function at origin).
show/hide Instances
(ERUnitFnBase boxb boxra varid b ra fb, Show varid, Show boxra) => ERUnitFnApprox boxra varid ra ra (ERFnInterval fb ra)
keyPointsConsistencyCheckSource
:: ERUnitFnApprox box varid domra ranra fa
=> box -> ranrafunction G acting on tuples of real numbers
-> faalleged approximation of G over a domain box
-> [(box, ranra, ranra)]

Check that a function approximation is consistent with a real function that is meant to compute the same function.

The result of this function is the list of points in which the consistency check failed. The result of the operation is also included both for the real number version and the function approximation version.

keyPointsPointwiseConsistencyCheckSource
:: ERUnitFnApprox box varid domra ranra fa
=> [ranra] -> ranrafunction G acting on real numbers
-> [fa]approximations of input functions
-> faalleged approximation of G applied pointwise to the above function approximations
-> [(box, ranra, ranra)]

Check that a pointwise operation previously performed on function approximations is consistent with the same operation performed on selected points in the domain of these functions. The selected points are the centres of all faces of all dimensions, which includes the corners.

The result of this function is the list of points in which the consistency check failed. The result of the operation is also included both for the real number version and the function approximation version.

Produced by Haddock version 2.4.2