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

Internal module for Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.

Implementation of various functions related to the bounds of polynomials.

Synopsis
chplUpperBound :: (ERRealBase b, DomainBox box varid Int, Ord box) => EffortIndex -> ERChebPoly box b -> b
chplLowerBound :: (ERRealBase b, DomainBox box varid Int, Ord box) => EffortIndex -> ERChebPoly box b -> b
chplBounds :: (ERRealBase b, DomainBox box varid Int, Ord box) => EffortIndex -> ERChebPoly box b -> (b, b)
chplBoundsAffine :: (ERRealBase b, DomainBox box varid Int, Ord box) => EffortIndex -> ERChebPoly box b -> (b, b)
chplUpperBoundQuadr :: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box, DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b], DomainBoxMappable boxra boxra varid (ERInterval b) (ERInterval b), DomainIntBox boxra varid (ERInterval b), Num varid, Enum varid) => EffortIndex -> ERChebPoly box b -> b
chplMax :: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box) => Int -> Int -> ERChebPoly box b -> ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)
chplMin :: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box) => Int -> Int -> ERChebPoly box b -> ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)
chplNonneg :: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box) => Int -> Int -> ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)
chplNonnegCubic :: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box) => Int -> Int -> ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)
chplTimesLoHi :: (ERRealBase b, DomainBox box varid Int, Ord box) => ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b, b) -> (ERChebPoly box b, ERChebPoly box b, b)
Documentation
chplUpperBoundSource
:: (ERRealBase b, DomainBox box varid Int, Ord box)
=> EffortIndexhow hard to try
-> ERChebPoly box b
-> b
Find an upper bound on a polynomial over the unit domain [-1,1]^n.
chplLowerBoundSource
:: (ERRealBase b, DomainBox box varid Int, Ord box)
=> EffortIndexhow hard to try
-> ERChebPoly box b
-> b
Find a lower bound on a polynomial over the unit domain [-1,1]^n.
chplBoundsSource
:: (ERRealBase b, DomainBox box varid Int, Ord box)
=> EffortIndexhow hard to try
-> ERChebPoly box b
-> (b, b)
Find both lower and upper bounds on a polynomial over the unit domain [-1,1]^n.
chplBoundsAffineSource
:: (ERRealBase b, DomainBox box varid Int, Ord box)
=> EffortIndexhow hard to try
-> ERChebPoly box b
-> (b, b)

Find bounds on a polynomial over the unit domain [-1,1]^n.

Fast but inaccurate method, in essence taking the maximum of the upper affine reduction.

chplUpperBoundQuadrSource
:: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box, DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b], DomainBoxMappable boxra boxra varid (ERInterval b) (ERInterval b), DomainIntBox boxra varid (ERInterval b), Num varid, Enum varid)
=> EffortIndexhow hard to try looking for peaks
-> ERChebPoly box b
-> b

Find a close upper bound on a quadratic polynomial over the unit domain [-1,1]^n.

Much slower and somewhat more accurate method, in essence taking the maximum of the upper quadratic reduction.

!!! Not yet properly tested !!!

chplMaxSource
:: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box)
=> Intmaximum polynomial degree
-> Intmaximum term count
-> ERChebPoly box b
-> ERChebPoly box b
-> (ERChebPoly box b, ERChebPoly box b)
Approximate from below and from above the pointwise maximum of two polynomials
chplMinSource
:: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box)
=> Intmaximum polynomial degree
-> Intmaximum term count
-> ERChebPoly box b
-> ERChebPoly box b
-> (ERChebPoly box b, ERChebPoly box b)
Approximate from below and from above the pointwise minimum of two polynomials
chplNonnegSource
:: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box)
=> Intmaximum polynomial degree
-> Intmaximum term count
-> ERChebPoly box b
-> (ERChebPoly box b, ERChebPoly box b)
Approximate the function max(0,p(x)) by a polynomial from below and from above.
chplNonnegCubicSource
:: (ERRealBase b, RealFrac b, DomainBox box varid Int, Ord box)
=> Intmaximum polynomial degree
-> Intmaximum term count
-> ERChebPoly box b
-> (ERChebPoly box b, ERChebPoly box b)
A version of chplNonneg using a cubic approximation.
chplTimesLoHi :: (ERRealBase b, DomainBox box varid Int, Ord box) => ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b, b) -> (ERChebPoly box b, ERChebPoly box b, b)Source
Multiply a polynomial by an enclosure (with non-negated lower bound).
Produced by Haddock version 2.4.2