Audit on Valeri's challenge: our Chandrupatla implementation stops below 2*xtol (tl = tol/span > 1/2) while every other method, SciPy's included, stops at xtol; the protocol corrected that factor for ITP and not here, and best_of let the looser run win. Corrected it costs Chandrupatla 2 evaluations on APS (2785 -> 2787) and 18 on CHA (2423 -> 2441): real, in the competitor's favour, and not what changes the picture. The public scipy.optimize.elementwise.find_root, the private _chandrupatla and ours corrected agree on all 199 problems exactly.

What the tables' totals hid: problem by problem the scheduled projection beats Chandrupatla on APS 87/24/42, exact sign test p = 9e-5, while trailing by 0.7% in total; on CHA Chandrupatla is genuinely better (26 to 9, p = 0.006). The earned projection ties him on APS problems (79/3/71, p = 0.57). Benchmark not yet switched to the library baseline - awaiting Valeri's decision together with the framing of the proposed method.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
vvs
2026-09-21 10:14:42 +01:00
co-authored by Claude Opus 5
parent 8830765454
commit de90c7a089
6 changed files with 231 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
Chandrupatla APS solved CHA solved both
ours @ xtol (as benchmarked) 2785 153/154 2424 40/45 5209
ours @ xtol/2 (ITP's correction) 2787 153/154 2441 40/45 5228
scipy @ xtol 2787 153/154 2441 40/45 5228
best_of, as benchmarked 2785 153/154 2423 40/45 5208
best_of, corrected 2787 153/154 2441 40/45 5228
our implementation, largest final bracket width / xtol over all problems: 1000000000000.000
(everyone else stops at <= 1; a value up to 2 confirms the looser rule)