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

Portabilityportable
Stabilityexperimental
Maintainermik@konecny.aow.cz

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

Description

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

Implementation of selected operations working on pairs of polynomials understood as function enclosures. These are needed to define composition and some elementary operations.

Synopsis

Documentation

enclThin :: (ERRealBase b, DomainBox box varid Int, Ord box) => ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)Source

enclConst :: (ERRealBase b, DomainBox box varid Int, Ord box) => b -> (ERChebPoly box b, ERChebPoly box b)Source

enclRAConst :: (ERRealBase b, DomainBox box varid Int, Ord box) => ERInterval b -> (ERChebPoly box b, ERChebPoly box b)Source

enclAddSource

Arguments

:: (ERRealBase b, DomainBox box varid Int, Ord box) 
=> Int

maximum polynomial degree

-> Int

maximum term count

-> (ERChebPoly box b, ERChebPoly box b) 
-> (ERChebPoly box b, ERChebPoly box b) 
-> (ERChebPoly box b, ERChebPoly box b) 

enclMultiplySource

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) 
-> (ERChebPoly box b, ERChebPoly box b) 

enclSquareSource

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) 

enclScaleNonnegSource

Arguments

:: (ERRealBase b, DomainBox box varid Int, Ord box) 
=> b

ratio to scale by

-> (ERChebPoly box b, ERChebPoly box b) 
-> (ERChebPoly box b, ERChebPoly box b) 

Multiply an enclosure by a scalar assuming the enclosure is non-negative on the whole unit domain.

enclScaleSource

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

-> b

ratio to scale by

-> (ERChebPoly box b, ERChebPoly box b) 
-> (ERChebPoly box b, ERChebPoly box b) 

Multiply an enclosure by a scalar.

enclRAScaleSource

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

-> ERInterval b 
-> (ERChebPoly box b, ERChebPoly box b) 
-> (ERChebPoly box b, ERChebPoly box b) 

chplScaleRASource

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

-> ERInterval b

lower and upper bounds on the ratio to scale by

-> ERChebPoly box b 
-> (ERChebPoly box b, ERChebPoly box b) 

Multiply a polynomial by a scalar interval, returning an enclosure.

enclEvalTsSource

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

max degree for result

-> Int

max approx size for result

-> (ERChebPoly box b, ERChebPoly box b)

bounds of a polynomial enclosure to evaluate

-> [(ERChebPoly box b, ERChebPoly box b)] 

Evaluate the Chebyshev polynomials of the first kind applied to a given polynomial, yielding a list of polynomial enclosures.

enclThinTimesSource

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, ERChebPoly box b) 

Multiply a polynomial by an enclosure using min/max