src/transport.rs

branch
dev
changeset 44
03251c546744
parent 43
aacd9af21b3a
child 45
5200e7090e06
equal deleted inserted replaced
43:aacd9af21b3a 44:03251c546744
1 /// Definitions related to optimal transport
2
3 use crate::types::*;
4
5 pub trait TransportLipschitz<Cost> {
6 /// Type of floats
7 type FloatType : Float;
8
9 /// Returns the transport Lipschitz factor of Self.
10 ///
11 /// If `Self` is a linear operator $A$ on $ℳ(Ω)$, and `Cost` represents the spatial
12 /// cost function $c$, this factor $L$ is such that, for all $0 ≤ λ ∈ ℳ(Ω^2)$,
13 /// $$
14 /// \norm{A(π_\#^1-π_\#^0)λ}^2 ≤ L \norm{λ}_{ℳ(Ω^2)} ∫ c(x, y) dλ(x, y).
15 /// $$
16 fn transport_lipschitz_factor(&self, cost : Cost) -> Self::FloatType;
17 }

mercurial