AERN-RnToRm-0.3.0: AERN-RnToRm.cabal
Name: AERN-RnToRm
Version: 0.3.0
Cabal-Version: >= 1.2
Build-Type: Simple
License: BSD3
License-File: LICENCE
Author: Michal Konecny (Aston University)
Copyright: (c) 2007-2008 Michal Konecny
Maintainer: mik@konecny.aow.cz
Stability: experimental
Category: Data, Math
Synopsis: polynomial function enclosures (PFEs) approximating exact real functions
Tested-with: GHC ==6.8.2
Description:
AERN-RnToRm provides
datatypes and abstractions for approximating functions
of type @D -> R^m@ where @D@ is a bounded interval in @R^n@
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.
.
* ERUnitFnApprox (extends ERFnApprox): generalises function graph enclosures
on the domain @[-1,1]^n@.
(/Not exported here, used only internally./)
.
* ERFnDomApprox (extends ERFnApprox):
generalises function enclosures over a specified and queriable domain box
(instance of class DomainBox).
.
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.
.
Implementations of ERUnitFnBase:
.
* ERChebPoly
.
By using the Chebyshev basis on domain @[-1,1]^n@,
we gain simple and optimally rounding degree reduction
as well as relatively simple handling of rounding
in other operations.
.
Implementations of ERUnitFnApprox:
.
* ERFnInterval
.
Implementations of ERFnDomApprox:
.
* ERFnDomTranslApprox:
builds a basic implementation
using an instance of ERUnitFnApprox.
.
* ERFnTuple:
extends another implementation of ERFnDomApprox
to 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 ERFnDomApprox.
.
* ERFnPiecewise:
allows the domain box to be bisected
to an arbitrary finite depth
and uses another implementation of ERFnDomApprox
to approximate the function on each segment.
.
Simple examples of usage can be found in tests/Demo.hs.
Extra-source-files:
ChangeLog tests/Demo.hs
Flag containers-in-base
Default: False
Library
hs-source-dirs: src
if flag(containers-in-base)
Build-Depends:
base < 3, binary >= 0.4, AERN-Real == 0.9.6
else
Build-Depends:
base >= 3, containers, binary >= 0.4, AERN-Real == 0.9.6
Exposed-modules:
Data.Number.ER.RnToRm,
Data.Number.ER.RnToRm.BisectionTree.Path,
Data.Number.ER.RnToRm.BisectionTree.Integration,
Data.Number.ER.RnToRm.BisectionTree,
Data.Number.ER.RnToRm.DefaultRepr,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Basic,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Elementary,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Field,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Integration,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Eval,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Bounds,
Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom,
Data.Number.ER.RnToRm.UnitDom.Base,
Data.Number.ER.RnToRm.UnitDom.Approx.Interval,
Data.Number.ER.RnToRm.UnitDom.Approx,
Data.Number.ER.RnToRm.Approx.DomTransl,
Data.Number.ER.RnToRm.Approx.PieceWise,
Data.Number.ER.RnToRm.Approx.DomEdges,
Data.Number.ER.RnToRm.Approx.Tuple,
Data.Number.ER.RnToRm.Approx,
Data.Number.ER.RnToRm.TestingDefs
Extensions:
CPP,
DeriveDataTypeable,
FlexibleContexts,
FlexibleInstances,
FunctionalDependencies,
MultiParamTypeClasses,
UndecidableInstances