src/prox_penalty/radon_squared.rs

branch
dev
changeset 62
32328a74c790
parent 61
4f468d35fa29
--- a/src/prox_penalty/radon_squared.rs	Thu Feb 26 11:38:43 2026 -0500
+++ b/src/prox_penalty/radon_squared.rs	Fri Jan 16 19:39:22 2026 -0500
@@ -9,6 +9,7 @@
 use crate::forward_model::ForwardModel;
 use crate::measures::merging::SpikeMerging;
 use crate::measures::{DeltaMeasure, DiscreteMeasure, Radon};
+use crate::prox_penalty::StepLengthBoundValue;
 use crate::regularisation::RegTerm;
 use crate::types::*;
 use alg_tools::bounds::MinMaxMapping;
@@ -159,9 +160,12 @@
     Domain: Space + Norm<Radon, F>,
     A: ForwardModel<Domain, F> + BoundedLinear<Domain, Radon, L2, F>,
 {
-    fn step_length_bound(&self, f: &QuadraticDataTerm<F, Domain, A>) -> DynResult<F> {
+    fn step_length_bound(&self, f: &QuadraticDataTerm<F, Domain, A>) -> StepLengthBoundValue<F> {
         // TODO: direct squared calculation
-        Ok(f.operator().opnorm_bound(Radon, L2)?.powi(2))
+        match f.operator().opnorm_bound(Radon, L2) {
+            Err(_) => StepLengthBoundValue::Failure,
+            Ok(l) => StepLengthBoundValue::LipschitzFactor(l.powi(2)),
+        }
     }
 }
 

mercurial