packages feed

AERN-RnToRm-0.3.0.2: AERN-RnToRm.cabal

Name:           AERN-RnToRm
Version:        0.3.0.2
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.
     .
     * ERFnApprox:
        generalises functions enclosures on a certain unspecified domain.
     .
     * ERUnitFnApprox (extends ERFnApprox): generalises function graph enclosures
        on the domain @[-1,1]^n@.
     .
     * ERFnDomApprox (extends ERFnApprox):
        generalises function enclosures over a specified and queriable domain box
        (an 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.
     
     End users are expected to work only with implementations of ERFnDomApprox.
     .
     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