Tue, 01 Aug 2023 10:32:12 +0300
merge
32 | 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^2 \norm{λ}_{ℳ(Ω^2)} ∫ c(x, y) dλ(x, y). | |
15 | /// $$ | |
16 | fn transport_lipschitz_factor(&self, cost : Cost) -> Self::FloatType; | |
17 | } |