src/prox_penalty/radon_squared.rs

changeset 72
e9a460a0e638
parent 63
7a8a55fd41c0
child 75
677a5fd1b014
--- a/src/prox_penalty/radon_squared.rs	Fri May 15 14:40:02 2026 -0500
+++ b/src/prox_penalty/radon_squared.rs	Sun Jul 19 07:34:39 2026 +0200
@@ -56,7 +56,11 @@
     where
         I: AlgIterator,
     {
-        let violation = reg.find_tolerance_violation(τv, τ, ε, true, config);
+        // If no merging heuristic is used, let's be more conservative about spike insertion,
+        // and skip it after first round. If merging is done, being more greedy about spike
+        // insertion also seems to improve performance.
+        let skip_by_rough_check = !config.merging.enabled;
+        let violation = reg.find_tolerance_violation(τv, τ, ε, skip_by_rough_check, config);
         reg.solve_oc_radonsq(μ, τv, τ, ε, violation, config, stats);
 
         Ok((None, true))

mercurial