src/transport.rs

branch
dev
changeset 32
56c8adc32b09
child 34
efa60bc4f743
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/transport.rs	Tue Dec 31 09:34:24 2024 -0500
@@ -0,0 +1,17 @@
+/// Definitions related to optimal transport
+
+use crate::types::*;
+
+pub trait TransportLipschitz<Cost> {
+    /// Type of floats
+    type FloatType : Float;
+
+    /// Returns the transport Lipschitz factor of Self.
+    ///
+    /// If `Self` is a linear operator $A$ on $ℳ(Ω)$, and `Cost` represents the spatial
+    /// cost function $c$, this factor $L$ is such that, for all $0 ≤ λ ∈ ℳ(Ω^2)$,
+    /// $$
+    ///     \norm{A(π_\#^1-π_\#^0)λ}^2 ≤ L^2 \norm{λ}_{ℳ(Ω^2)} ∫ c(x, y) dλ(x, y).
+    /// $$
+    fn transport_lipschitz_factor(&self, cost : Cost) -> Self::FloatType;
+}

mercurial