src/transport.rs

Tue, 31 Dec 2024 09:25:45 -0500

author
Tuomo Valkonen <tuomov@iki.fi>
date
Tue, 31 Dec 2024 09:25:45 -0500
branch
dev
changeset 35
b087e3eab191
parent 34
efa60bc4f743
permissions
-rw-r--r--

New version of sliding.

/// 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 \norm{λ}_{ℳ(Ω^2)} ∫ c(x, y) dλ(x, y).
    /// $$
    fn transport_lipschitz_factor(&self, cost : Cost) -> Self::FloatType;
}

mercurial