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