AERN-RnToRm-0.5.0.1: polynomial function enclosures (PFEs) approximating exact real functions

Portability portable experimental mik@konecny.aow.cz

Data.Number.ER.RnToRm.UnitDom.ChebyshevBase.Polynom.Bounds

Description

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

Implementation of various functions related to the bounds of polynomials.

Synopsis

# Documentation

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try -> ERChebPoly box b -> b

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

Quick method that does not converge to exact result with increasing effort index.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try -> ERChebPoly box b -> b

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

Quick method that does not converge to exact result with increasing effort index.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try -> ERChebPoly box b -> (b, b)

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

Quick method that does not converge to exact result with increasing effort index.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try -> ERChebPoly box b -> b

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

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try -> ERChebPoly box b -> b

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

Quick method that does not converge to exact result with increasing effort index.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try -> ERChebPoly box b -> (b, b)

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

Quick method that does not converge to exact result with increasing effort index.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box) => EffortIndex how 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.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => EffortIndex how hard to try looking for peaks -> ERChebPoly box b -> (b, b)

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

Approximates all local extrema and computes their maximum.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int maximum polynomial degree -> Int maximum 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

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int maximum polynomial degree -> Int maximum 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

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int maximum polynomial degree -> Int maximum 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.

Arguments

 :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int maximum polynomial degree -> Int maximum 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, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => 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).