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 } |
|