Portability | portable |
---|---|
Stability | experimental |
Maintainer | mik@konecny.aow.cz |
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.
- enclThin :: (ERRealBase b, DomainBox box varid Int, Ord box) => ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)
- enclConst :: (ERRealBase b, DomainBox box varid Int, Ord box) => b -> (ERChebPoly box b, ERChebPoly box b)
- enclRAConst :: (ERRealBase b, DomainBox box varid Int, Ord box) => ERInterval b -> (ERChebPoly box b, ERChebPoly box b)
- enclAdd :: (ERRealBase b, DomainBox box varid Int, Ord box) => Int -> Int -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
- enclMultiply :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
- enclSquare :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
- enclScaleNonneg :: (ERRealBase b, DomainBox box varid Int, Ord box) => b -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
- enclScale :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> b -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
- enclRAScale :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> ERInterval b -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
- chplScaleRA :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> ERInterval b -> ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b)
- enclEvalTs :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> (ERChebPoly box b, ERChebPoly box b) -> [(ERChebPoly box b, ERChebPoly box b)]
- enclThinTimes :: (ERRealBase b, DomainBox box varid Int, Ord box, Show varid, DomainIntBox boxra varid (ERInterval b), DomainBoxMappable boxra boxras varid (ERInterval b) [ERInterval b]) => Int -> Int -> ERChebPoly box b -> (ERChebPoly box b, ERChebPoly box b) -> (ERChebPoly box b, ERChebPoly box b)
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
:: (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) |
:: (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) |
:: (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) |
:: (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.
:: (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.
:: (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) |
:: (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.
:: (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.
:: (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