|Portability||non-portable (requires fenv.h)|
This module bundles some of the most important functionality of the AERN-RnToRm package. It is intended to be imported *qualified*.
datatypes and abstractions for approximating functions
D -> R^m where
D is a bounded interval in
with non-empty interior.
Abstractions are provided via 4 type classes:
ERUnitFnBase: generalises polynomials with floating point coefficients. (Not exported here, used only internally.)
ERFnApprox: generalises functions enclosures on a certain unspecified domain.
ERFnApprox): generalises function graph enclosures on the domain
[-1,1]^n. (Not exported here, used only internally.)
ERFnApprox): generalises function enclosures over a specified and queriable domain box (instance of class
At all levels, all field operations are supported as well as some elementary operations, namely exp, sin and cos. Log and sqrt are planned to be added soon.
By using the Chebyshev basis on domain
we gain simple and optimally rounding degree reduction
as well as relatively simple handling of rounding
in other operations.
ERFnDomTranslApprox: builds a basic implementation using an instance of
ERFnTuple: extends another implementation of
ERFnDomApproxto work with lists of functions simultaneously.
ERFnDomEdgesApprox: separately enclose a function on its domain box as well as on all the domain's hyper-edges (including the corners) using another implementation of
ERFnPiecewise: allows the domain box to be bisected to an arbitrary finite depth and uses another implementation of
ERFnDomApproxto approximate the function on each segment.