| Copyright | Predictable Network Solutions Ltd. 2020-2024 |
|---|---|
| License | BSD-3-Clause |
| Safe Haskell | Safe-Inferred |
| Language | Haskell2010 |
Numeric.Measure.Discrete
Description
Synopsis
- data Discrete a
- fromMap :: (Ord a, Num a) => Map a a -> Discrete a
- toMap :: Num a => Discrete a -> Map a a
- zero :: Num a => Discrete a
- dirac :: (Ord a, Num a) => a -> Discrete a
- distribution :: (Ord a, Num a) => Discrete a -> Piecewise (Poly a)
- total :: Num a => Discrete a -> a
- integrate :: (Ord a, Num a) => (a -> a) -> Discrete a -> a
- add :: (Ord a, Num a) => Discrete a -> Discrete a -> Discrete a
- scale :: (Ord a, Num a) => a -> Discrete a -> Discrete a
- translate :: (Ord a, Num a) => a -> Discrete a -> Discrete a
- beforeOrAt :: (Ord a, Num a) => a -> Discrete a -> Discrete a
- after :: (Ord a, Num a) => a -> Discrete a -> Discrete a
- convolve :: (Ord a, Num a) => Discrete a -> Discrete a -> Discrete a
Type
A discrete, finite signed measure on the number line.
fromMap :: (Ord a, Num a) => Map a a -> Discrete a Source #
Construct a discrete measure from a collection of points and their measures.
toMap :: Num a => Discrete a -> Map a a Source #
Decompose the discrete measure into a collection of points and their measures.
dirac :: (Ord a, Num a) => a -> Discrete a Source #
A Dirac measure at the given point x.
total (dirac x) = 1
distribution :: (Ord a, Num a) => Discrete a -> Piecewise (Poly a) Source #
eval (distribution m) x is the measure of the interval \( (-∞, x] \).
This is known as the distribution function.
Observations
total :: Num a => Discrete a -> a Source #
The total of the measure applied to the set of real numbers.
integrate :: (Ord a, Num a) => (a -> a) -> Discrete a -> a Source #
Integrate a function f with respect to the given measure m, \( \int f(x) dm(x) \).
Operations, numerical
add :: (Ord a, Num a) => Discrete a -> Discrete a -> Discrete a Source #
Add two measures.
total (add mx my) = total mx + total my
scale :: (Ord a, Num a) => a -> Discrete a -> Discrete a Source #
Scale a measure by a constant.
total (scale a mx) = a * total mx
translate :: (Ord a, Num a) => a -> Discrete a -> Discrete a Source #
Translate a measure along the number line.
eval (distribution (translate y m)) x = eval (distribution m) (x - y)
beforeOrAt :: (Ord a, Num a) => a -> Discrete a -> Discrete a Source #
Intersect a measure with the interval (-∞, x].
The measure of the interval (-∞, t] with beforeOrAt x m is the same as the measure of the intersection (-∞, t] ∩ (-∞, x] with m.