diff -r aacd9af21b3a -r 03251c546744 src/forward_model.rs --- a/src/forward_model.rs Thu Jan 23 23:39:40 2025 +0100 +++ b/src/forward_model.rs Fri Jan 31 18:00:17 2025 -0500 @@ -54,6 +54,7 @@ -> Option<(Self::FloatType, Self::FloatType)>; } +/* /// Trait for [`ForwardModel`]s whose preadjoint has Lipschitz values. pub trait LipschitzValues { type FloatType : Float; @@ -69,4 +70,16 @@ None } } +*/ +/// Trait for [`ForwardModel`]s that satisfy bounds on the curvature $𝒦_F$. +pub trait BoundedCurvature { + type FloatType : Float; + + /// Returns components for a bound $ℓ_F$ on the curvature + /// $$ + /// 𝒦_F(μ, γ) = ∫ B_{F'(μ)} dγ + B_F(μ, μ+Δ). + /// $$ + /// such that $𝒦_F(μ, γ) ≤ ℓ_F ∫ c_2 d|γ|$. + fn curvature_bound_components(&self) -> (Option, Option); +}