Map of a kernel by a measurable function #
We define the map and comap of a kernel along a measurable function, as well as some often useful particular cases.
Main definitions #
Kernels built from other kernels:
map (κ : Kernel α β) (f : β → γ) : Kernel α γ
∫⁻ c, g c ∂(map κ f a) = ∫⁻ b, g (f b) ∂(κ a)
comap (κ : Kernel α β) (f : γ → α) (hf : Measurable f) : Kernel γ β
∫⁻ b, g b ∂(comap κ f hf c) = ∫⁻ b, g b ∂(κ (f c))
Main statements #
lintegral_map
,lintegral_comap
: Lebesgue integral of a function against the map or comap of a kernel.
map, comap #
The pushforward of a kernel along a measurable function. This is an implementation detail,
use map κ f
instead.
Equations
- κ.mapOfMeasurable f hf = { toFun := fun (a : α) => MeasureTheory.Measure.map f (κ a), measurable' := ⋯ }
Instances For
The pushforward of a kernel along a function.
If the function is not measurable, we use zero instead. This choice of junk
value ensures that typeclass inference can infer that the map
of a kernel
satisfying IsZeroOrMarkovKernel
again satisfies this property.
Equations
- κ.map f = if hf : Measurable f then κ.mapOfMeasurable f hf else 0
Instances For
Pullback of a kernel, such that for each set s comap κ g hg c s = κ (g c) s
.
We include measurability in the assumptions instead of using junk values
to make sure that typeclass inference can infer that the comap
of a Markov kernel
is again a Markov kernel.
Instances For
Define a Kernel (γ × α) β
from a Kernel α β
by taking the comap of the projection.
Equations
Instances For
Define a Kernel (α × γ) β
from a Kernel α β
by taking the comap of the projection.
Equations
Instances For
Define a Kernel (β × α) γ
from a Kernel (α × β) γ
by taking the comap of Prod.swap
.
Instances For
Define a Kernel α (γ × β)
from a Kernel α (β × γ)
by taking the map of Prod.swap
.
We use mapOfMeasurable
in the definition for better defeqs.
Equations
- κ.swapRight = κ.mapOfMeasurable Prod.swap ⋯
Instances For
Define a Kernel α β
from a Kernel α (β × γ)
by taking the map of the first projection.
We use mapOfMeasurable
for better defeqs.
Equations
- κ.fst = κ.mapOfMeasurable Prod.fst ⋯
Instances For
Define a Kernel α γ
from a Kernel α (β × γ)
by taking the map of the second projection.
We use mapOfMeasurable
for better defeqs.
Equations
- κ.snd = κ.mapOfMeasurable Prod.snd ⋯
Instances For
Define a Kernel α γ
from a Kernel (α × β) γ
by taking the comap of fun a ↦ (a, b)
for
a given b : β
.
Instances For
Define a Kernel β γ
from a Kernel (α × β) γ
by taking the comap of fun b ↦ (a, b)
for
a given a : α
.