--- a/src/mapping/quadratic.rs Mon Apr 28 16:52:15 2025 -0500 +++ b/src/mapping/quadratic.rs Mon Apr 28 21:32:37 2025 -0500 @@ -5,7 +5,7 @@ #![allow(non_snake_case)] -use super::{DifferentiableImpl, Differential, Lipschitz, Mapping}; +use super::{DifferentiableImpl, LipschitzDifferentiableImpl, Mapping}; use crate::convex::ConvexMapping; use crate::euclidean::Euclidean; use crate::instance::{Instance, Space}; @@ -83,16 +83,17 @@ } } -impl<'a, 'b, F, X, ExpX, A> Lipschitz<ExpX> for Differential<'b, X, Quadratic<'a, F, X, A>> +impl<'a, F, X, ExpX, A> LipschitzDifferentiableImpl<X, ExpX> for Quadratic<'a, F, X, A> where F: Float, X: Space + Clone + Norm<F, ExpX>, ExpX: NormExponent, A: Clone + BoundedLinear<X, ExpX, L2, F>, + Self: DifferentiableImpl<X>, { type FloatType = F; - fn lipschitz_factor(&self, seminorm: ExpX) -> Option<F> { - Some((*self.g).opA.opnorm_bound(seminorm, L2).powi(2)) + fn diff_lipschitz_factor(&self, seminorm: ExpX) -> Option<F> { + Some(self.opA.opnorm_bound(seminorm, L2).powi(2)) } }