Also fixes a real regression from cc2c499: the derived3_cap branch was inserted in front of the derived3_m note and swallowed its division, so derived3_m silently became derived3 (2806 against 2806) and a refutation recorded in the paper stopped being reproducible. The full pin caught it; a cheap pin now guards it too. And \label{sec:method} never existed while the table on page 7 referenced it.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
901 lines
46 KiB
TeX
901 lines
46 KiB
TeX
%% =====================================================================
|
|
%% STALE. This file lags behind article/sim_numerics.md, which is the
|
|
%% current text. Do not build a PDF from it and do not send it out.
|
|
%%
|
|
%% The .md has taken the first pass of revision corrections; this file
|
|
%% still contains statements that pass showed to be wrong:
|
|
%% - the proposed similarity called "ratio" (it is the truncated
|
|
%% linear / tent form; the ratio form is a different row)
|
|
%% - Proposition 1 stated for similarity rules in general (it holds
|
|
%% for the ratio form scaled by the far end, and for no other of
|
|
%% the five tested)
|
|
%% - Table 1's c = 0 rows given a "measured rate" (there is no rate;
|
|
%% the behaviour is sublinear, e_n ~ C/n with a predicted C)
|
|
%% - the three-point order given as 1.84 (it is 2)
|
|
%% - section 5.2 evaluation counts not reconciled with section 5
|
|
%%
|
|
%% It will be regenerated from the .md once the text settles.
|
|
%% =====================================================================
|
|
\documentclass[11pt,a4paper]{article}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{amsmath,amssymb,amsthm}
|
|
\usepackage{booktabs}
|
|
\usepackage[margin=2.5cm]{geometry}
|
|
\usepackage{hyperref}
|
|
|
|
\newtheorem{proposition}{Proposition}
|
|
\newtheorem{corollary}{Corollary}
|
|
\theoremstyle{definition}
|
|
\newtheorem{definition}{Definition}
|
|
|
|
\title{Similarity as a Step Rule:\\
|
|
Parameter-Free Root Finding Derived from a Similarity Function}
|
|
\author{V. Sitnikov}
|
|
\date{}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
|
|
\begin{abstract}
|
|
Bisection places the next iterate at the midpoint because it uses no
|
|
information about the function's value. We replace that rule with a
|
|
\emph{similarity} rule: the step is proportional to how \emph{dissimilar} the
|
|
current outcome $f(x)$ is to the expectation $0$, measured by a similarity
|
|
function $S\colon\mathbb{R}\to[0,1]$ with $S(0)=1$. We derive the contraction
|
|
factor of the resulting iteration in closed form and confirm it numerically to
|
|
four digits. Three consequences follow and are all verified. First, the
|
|
two-point normalisation of $S$ over the bracket reproduces the false-position
|
|
formula identically, so a similarity rule calibrated by the bracket is not a
|
|
new method. Second, any similarity function fixed in advance yields at best
|
|
linear convergence at a rate that is a property of the problem rather than of
|
|
the method; on eight standard problems, five to eight of them fail. Third, the
|
|
rate vanishes exactly when the similarity's scale equals the local scale of the
|
|
value axis; reading that scale off the data --- a divided difference, not a
|
|
fitted coefficient --- turns the step into $|f|/|f'|$ and the convergence
|
|
superlinear.
|
|
|
|
The derivation fixes the method completely, before any benchmark is consulted:
|
|
a similarity whose approach to $1$ is linear, the finest available data-derived
|
|
scale, and a safeguard that projects the step onto the admissible interval
|
|
rather than replacing it. That configuration carries a proven worst case of
|
|
twice bisection plus one step and contains no tuning constant of any kind. On
|
|
the $154$ problems of Alefeld, Potra and Shi it needs $2806$ evaluations of $f$
|
|
against $2820$ for TOMS\,748 --- a margin of $0.5\%$, which is a tie --- and
|
|
$2890$ for Brent, whom it beats on $102$ problems to $40$ head to head. On the
|
|
$45$ problems of Chandrupatla it beats Brent $30$ to $4$ and TOMS\,748 $31$ to
|
|
$8$, and loses to ITP. The result is parity with methods built on tuned
|
|
constants, obtained without any.
|
|
The ranking of the nine similarity functions across the whole grid matches the
|
|
derived law without exception.
|
|
Reading the same similarity in one more place --- which three points the local
|
|
model is built on, selected by the shape of their configuration rather than by
|
|
recency --- lowers the Alefeld--Potra--Shi count to $2527$, below every method
|
|
measured here including Chandrupatla's $2785$, with the guarantee intact and
|
|
still no tuning constant; reading it instead on the choice of far end gives
|
|
$5511$ over both sets. Where the similarity is read turns out to matter more
|
|
than which similarity it is.
|
|
\end{abstract}
|
|
|
|
\section{Introduction}
|
|
|
|
A bracketing root finder must decide, at every step, where inside the bracket
|
|
to evaluate next. Bisection answers ``in the middle'', which is the correct
|
|
answer when nothing is known. Every improvement since has answered ``where a
|
|
local model of $f$ says the root is'': a secant in false position, an inverse
|
|
quadratic in Brent~\cite{brent}, a cubic in TOMS\,748~\cite{aps}, an
|
|
interpolate--truncate--project cycle in ITP~\cite{itp}. Each of those answers
|
|
carries constants: Illinois halves the stale ordinate, Brent accepts an
|
|
interpolation subject to three empirical inequalities, ITP is governed by
|
|
$\kappa_1,\kappa_2,n_0$.
|
|
|
|
This paper asks a different question. Suppose the only thing available is a
|
|
\emph{similarity function} --- a map $S$ from an outcome to $[0,1]$, where $1$
|
|
means ``identical to what was wanted'' and $0$ means ``not similar at all'',
|
|
in the sense used for parameter-free control in~\cite{sim}. Can a root finder
|
|
be built out of $S$ alone, and how does it compare with methods built out of
|
|
polynomial models and tuned constants?
|
|
|
|
The answer is sharp in both directions, and the negative half is as informative
|
|
as the positive half.
|
|
|
|
\section{The similarity step rule}
|
|
|
|
\begin{definition}[Similarity step]
|
|
Let $[a,b]$ bracket a root, $x$ be the current iterate and $x_{\mathrm{far}}$
|
|
the opposite end. Let $S\colon\mathbb{R}\to[0,1]$ with $S(0)=1$ be a similarity
|
|
function and $\sigma>0$ a scale. The next iterate is
|
|
\begin{equation}
|
|
\label{eq:step}
|
|
x' \;=\; x \;+\; \bigl(1 - S(f(x)/\sigma)\bigr)\,(x_{\mathrm{far}} - x).
|
|
\end{equation}
|
|
\end{definition}
|
|
|
|
The rule is exactly the informal statement ``step further when the outcome is
|
|
dissimilar to the expectation, and less far when it is similar''. Bisection is
|
|
the degenerate member $S\equiv\tfrac12$: a similarity function that carries no
|
|
information about $f$.
|
|
|
|
\subsection{The two-point normalisation is false position}
|
|
|
|
The most obvious way to make~\eqref{eq:step} scale-free is to normalise the
|
|
similarity by the two ends of the bracket, $S(a)=|f(b)|/(|f(a)|+|f(b)|)$ and
|
|
$S(b)=1-S(a)$, and to place the next iterate at the similarity-weighted average
|
|
of the ends.
|
|
|
|
\begin{proposition}
|
|
\label{prop:falsi}
|
|
$S(a)\,a + S(b)\,b \;=\; \dfrac{a f(b) - b f(a)}{f(b)-f(a)}$.
|
|
\end{proposition}
|
|
|
|
That is the false-position formula. The identity is elementary but decisive: a
|
|
similarity rule whose scale is taken from the bracket is not a new method, and
|
|
it inherits false position's stalling failure. In our measurements plain false
|
|
position solves $127$ of the $154$ Alefeld--Potra--Shi problems, against $153$
|
|
for bisection.
|
|
|
|
\subsection{The contraction law}
|
|
|
|
Write $e_n = x_n - r$ for the error, $D = x_{\mathrm{far}} - r$, and let $c$ be
|
|
the slope of $1-S$ at the origin, $1-S(z) = c\,z + O(z^2)$.
|
|
|
|
\begin{proposition}[Contraction law]
|
|
\label{prop:law}
|
|
For a simple root and $e_n$ small, rule~\eqref{eq:step} satisfies
|
|
\begin{equation}
|
|
\label{eq:law}
|
|
e_{n+1} \;=\; e_n\left(1 - \frac{c\,|f'(r)|\,D}{\sigma}\right) + O(e_n^2),
|
|
\qquad
|
|
\text{rate} = \left|1 - \frac{c\,|f'(r)|\,D}{\sigma}\right| .
|
|
\end{equation}
|
|
\end{proposition}
|
|
|
|
\begin{proof}[Derivation]
|
|
$|f(x_n)| = |f'(r)|\,|e_n| + O(e_n^2)$, hence
|
|
$1-S(f(x_n)/\sigma) = c\,|f'(r)|\,|e_n|/\sigma + O(e_n^2)$, and
|
|
$x_{\mathrm{far}}-x_n = D - e_n$. Substituting into~\eqref{eq:step} and
|
|
discarding second-order terms gives~\eqref{eq:law}.
|
|
\end{proof}
|
|
|
|
Table~\ref{tab:law-check} checks~\eqref{eq:law} against measurement on
|
|
$f(x)=x^2-2$ over $[0,2]$ with $\sigma=|f(0)|$, for which $|f'(r)|=2\sqrt2$,
|
|
$D=2-\sqrt2$ and $\sigma=2$.
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\caption{The contraction law against measurement. $c$ is the slope of $1-S$ at
|
|
the origin. Similarities that approach $1$ quadratically have $c=0$ and are
|
|
predicted to stagnate.}
|
|
\label{tab:law-check}
|
|
\begin{tabular}{lrrr}
|
|
\toprule
|
|
$S(z)$ & $c$ & predicted rate & measured rate\\
|
|
\midrule
|
|
$1/(1+|z|)$ & $1$ & $0.1716$ & $0.1716$\\
|
|
$e^{-|z|}$ & $1$ & $0.1716$ & $0.1716$\\
|
|
$1/(1+z^2)$ & $0$ & $1.0000$ & $0.9357$\\
|
|
$e^{-z^2}$ & $0$ & $1.0000$ & $0.9444$\\
|
|
$1/\sqrt{1+z^2}$ & $0$ & $1.0000$ & $0.9327$\\
|
|
$\max(0,1-|z|)$ & $1$ & $0.1716$ & $1.0000$ (saturates)\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
\begin{corollary}[A chosen similarity is not enough]
|
|
\label{cor:chosen}
|
|
For fixed $S$ and fixed $\sigma$ the rate in~\eqref{eq:law} depends on
|
|
$|f'(r)|$, $D$ and $\sigma$, none of which is under the method's control.
|
|
Convergence is at best linear and occurs only when the product lands in
|
|
$(0,2)$.
|
|
\end{corollary}
|
|
|
|
Empirically, with $\sigma$ taken as $|f|$ at the starting point, five to eight
|
|
of eight standard problems fail outright for the six similarity functions
|
|
tested.
|
|
|
|
\begin{corollary}[Faster is not better]
|
|
\label{cor:faster}
|
|
Increasing $c$ moves the rate away from $1$ in either direction. Similarities
|
|
with unbounded slope --- $1-\sqrt{|z|}$ has $c\approx3.2\cdot10^{3}$ at the
|
|
resolution used, $1-|z|^{1/3}$ has $c\approx4.6\cdot10^{4}$ --- overshoot as
|
|
readily as flat ones stagnate, and fail on five and six of the eight problems
|
|
respectively.
|
|
\end{corollary}
|
|
|
|
\begin{corollary}[The scale must come from the data]
|
|
\label{cor:derived}
|
|
The rate is zero exactly when $c\,|f'(r)|\,D/\sigma = 1$, i.e.
|
|
$\sigma = c\,|f'(r)|\,D$. Substituting this $\sigma$ back into~\eqref{eq:step}
|
|
with $c=1$ gives $x' - x = |f(x)|/|f'|$, the Newton step. The similarity rule
|
|
is therefore superlinear precisely when its scale is the \emph{local scale of
|
|
the value axis}, and that scale is not available a priori: it must be read off
|
|
the evaluations.
|
|
\end{corollary}
|
|
|
|
\section{The method}
|
|
\label{sec:method}
|
|
|
|
Corollaries~\ref{cor:chosen}--\ref{cor:derived} fix every choice in the method
|
|
before any benchmark is consulted. We record them here as a prediction, and
|
|
Section~\ref{sec:grid} tests it against the full grid.
|
|
|
|
\paragraph{Similarity: any with $c\neq0$.} The law makes the shape of $S$
|
|
almost irrelevant and its slope at the origin decisive. We take the plainest
|
|
member, the ratio form $S(z)=\max(0,1-|z|)$.
|
|
|
|
\paragraph{Scale: the finest data-derived one.} We set
|
|
$\sigma = |\hat f'|\cdot|x_{\mathrm{far}}-x|$ with $\hat f'$ a divided
|
|
difference of the most recent evaluations. A divided difference is a
|
|
computation, not a fitted coefficient: nothing is chosen, regressed or tuned.
|
|
The two-point difference has slope error $O(h)$ and gives the secant order
|
|
$\varphi\approx1.618$; the three-point difference --- the derivative at $x_n$
|
|
of the parabola through the last three evaluations,
|
|
$\hat f' = f[x_{n-1},x_n] + f[x_{n-2},x_{n-1},x_n](x_n-x_{n-1})$ --- has error
|
|
$O(h^2)$ and lifts it. Measured medians are $1.584$ and $1.944$, against
|
|
$1.809$ for Brent and $2.654$ for TOMS\,748.
|
|
|
|
\subsection{The safeguard: project, do not replace}
|
|
\label{sec:guard}
|
|
|
|
An interpolation-only rule has no worst-case bound. The obvious safeguards
|
|
\emph{replace} the computed step with a midpoint whenever some progress test
|
|
fails, and all of them are ruinous here, for a reason that is specific to a
|
|
fast method: a step that collapses the \emph{error} need not halve the
|
|
\emph{bracket}, so a bracket-based test fires on exactly the steps that were
|
|
best. With the three-point scale, replacing on that test drops the observed
|
|
order from $1.94$ to $1.00$ and the Alefeld--Potra--Shi total from $2806$ to
|
|
$7260$ --- worse than bisection.
|
|
|
|
The remedy is to keep as much of the computed step as the budget allows.
|
|
Let $n_{\max}=2\lceil\log_2(w_0/\varepsilon_x)\rceil$ be twice the bisection
|
|
step count for the initial width $w_0$ and $x$-tolerance $\varepsilon_x$, and
|
|
let $\epsilon=\varepsilon_x/2$. At step $j$, with the bracket $[\ell,h]$,
|
|
define the allowance and the projection
|
|
\begin{equation}
|
|
\label{eq:proj}
|
|
\alpha_j = 2^{\,n_{\max}-j}\epsilon,
|
|
\qquad
|
|
x \;=\; \operatorname{clamp}\bigl(x_{\mathrm{sim}},\; h-\alpha_j,\; \ell+\alpha_j\bigr).
|
|
\end{equation}
|
|
The next bracket is at most $\max(x-\ell,\,h-x)$, so~\eqref{eq:proj} gives
|
|
$w_{j+1}\le\alpha_j$ directly, and induction bounds the run by $n_{\max}$ steps
|
|
in exact arithmetic. In floating point the bracket can land exactly on the
|
|
boundary, and the termination test then asks for one more; the guarantee
|
|
stated and verified is therefore
|
|
$2\lceil\log_2(w_0/\varepsilon_x)\rceil+3$ evaluations.
|
|
|
|
Three remarks on why this introduces nothing.
|
|
\begin{itemize}
|
|
\item \textbf{The doubling is not a tuning constant.} It is the factor already
|
|
claimed in the bound. Zero slack --- $n_{\max}=\lceil\log_2(w_0/\varepsilon_x)\rceil$,
|
|
a worst case of exactly bisection --- is degenerate and was measured as such: a
|
|
worst case of exactly bisection demands a halving at \emph{every} step, so the
|
|
projection has no freedom, the radius on a unit bracket is $0.05$ from the
|
|
first step, and the guard behaves as bisection.
|
|
\item \textbf{This is ITP's projection stage without ITP's truncation stage.}
|
|
All three of ITP's constants live in the truncation, whose purpose is to repair
|
|
regula falsi; the similarity step needs no repair, so the truncation and every
|
|
constant with it are dropped.
|
|
\item \textbf{Writing the clamp in the form~\eqref{eq:proj} rather than as a
|
|
radius $\alpha_j-w_j/2$ about the midpoint is not cosmetic.} That radius is a
|
|
difference of two nearly equal numbers; the cancellation made the computed
|
|
radius too large by a relative $8.9\cdot10^{-5}$, which broke the invariant on
|
|
eleven Chandrupatla problems.
|
|
\end{itemize}
|
|
|
|
\section{Experimental protocol}
|
|
|
|
\paragraph{Problem sets.} The $154$ problems of Alefeld, Potra and Shi~\cite{aps}
|
|
and the $45$ of Chandrupatla~\cite{chandrupatla}, taken programmatically from
|
|
SciPy's \texttt{scipy.optimize.\_tstutils} so that no bracket or root is
|
|
transcribed by hand.
|
|
|
|
\paragraph{Cost model.} Evaluations of $f$. A run counts as solved when it
|
|
reports convergence and lands within $10^{-6}$ of the published root;
|
|
$x$-tolerance $10^{-12}$; budget $200$ evaluations. \emph{Failures are charged
|
|
the full budget}, so no method can buy a low total by giving up early, and
|
|
totals are reported over all problems rather than over the subset a method
|
|
happened to solve. Rankings are by failures first, then by total.
|
|
|
|
\paragraph{Fairness to the competitors.} Three deliberate concessions.
|
|
(i)~ITP is natively written against a half-width $\epsilon$ and terminates on
|
|
$b-a\le2\epsilon$; feeding the common tolerance in as $\epsilon$ would let it
|
|
stop at twice its competitors' bracket width, so $\epsilon=\varepsilon_x/2$ is
|
|
used. (ii)~ITP is reported both at the authors' recommended constants and as a
|
|
\emph{per-problem oracle}, the best of a $(\kappa_1,n_0)$ grid chosen
|
|
separately for every problem --- not an achievable method, included so that the
|
|
state of the art cannot be said to have been handicapped. (iii)~Our
|
|
implementation of ITP is validated against the method's own theorem, that it
|
|
never needs more than $n_{1/2}+n_0$ iterations, on all $154$ problems for
|
|
$n_0\in\{0,1,2,5\}$.
|
|
|
|
\paragraph{Reproducibility.} All numbers come from a single Linux run. The test
|
|
functions call \texttt{libm}, whose last digit differs between platforms; the
|
|
same SciPy version scores $2819$ for TOMS\,748 on Windows and $2820$ on Linux
|
|
for the same set. Every number stated in this paper is checked against the run
|
|
data by a script that is part of the test suite.
|
|
|
|
\section{Results}
|
|
|
|
The grid is nine similarity functions $\times$ four scales $\times$ six
|
|
safeguards $=216$ configurations, plus ten baselines. The configuration
|
|
proposed in Section~3 --- ratio similarity, three-point scale, projection
|
|
safeguard --- is one entry of that grid, fixed by the theory rather than chosen
|
|
from the ranking.
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\caption{Alefeld--Potra--Shi, $154$ problems, out of $226$ configurations.}
|
|
\label{tab:aps}
|
|
\begin{tabular}{rlccrr}
|
|
\toprule
|
|
\# & configuration & tuned & solved & total evals & $>2\times$\\
|
|
\midrule
|
|
1 & \textbf{proposed: ratio, 3-point, projection} & \textbf{no} & 153/154 & \textbf{2806} & 0\\
|
|
3 & TOMS\,748 & yes & 153/154 & 2820 & 0\\
|
|
4 & Brent & yes & 153/154 & 2890 & 0\\
|
|
11 & ITP, per-problem oracle & yes & 153/154 & 3260 & 0\\
|
|
18 & Ridders & no & 153/154 & 3313 & 0\\
|
|
31 & ITP, recommended constants & yes & 153/154 & 3957 & 0\\
|
|
61 & Illinois & yes & 153/154 & 7045 & 0\\
|
|
65 & bisection & no & 153/154 & 7530 & 0\\
|
|
206 & false position & no & 127/154 & 10560 & --\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
On the problems both solve, the proposed configuration beats Brent
|
|
$102/11/40$ (wins/ties/losses), TOMS\,748 $86/16/51$, ITP at its recommended
|
|
constants $132/3/18$, the per-problem ITP oracle $121/4/28$, and bisection
|
|
$152/1/0$.
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\caption{Chandrupatla, $45$ problems, brackets up to $10^{12}$ wide.}
|
|
\label{tab:cha}
|
|
\begin{tabular}{rlccr}
|
|
\toprule
|
|
\# & configuration & tuned & solved & total evals\\
|
|
\midrule
|
|
1 & similarity, $1-\sqrt{|z|}$, bracket scale, projection & no & \textbf{41/45} & 4516\\
|
|
2 & ITP, per-problem oracle & yes & 40/45 & 2611\\
|
|
3 & similarity, $e^{-|z|}$, bracket scale, both guards & no & 40/45 & 2733\\
|
|
5 & ITP, recommended constants & yes & 40/45 & 2857\\
|
|
6 & bisection & no & 40/45 & 3090\\
|
|
10 & \textbf{proposed: ratio, 3-point, projection} & \textbf{no} & 40/45 & \textbf{3220}\\
|
|
127 & TOMS\,748 & yes & 40/45 & 4000\\
|
|
189 & Brent & yes & 38/45 & 4101\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
The set's nominal winner is a similarity configuration that solves one problem
|
|
more than anything else, $41$ of $45$, at a worse total; ranking by failures
|
|
first puts it on top, and we report it as such rather than by the total that
|
|
would flatter our proposal. The proposed configuration is tenth by total and
|
|
beats Brent $30/4/4$ and TOMS\,748 $31/1/8$, while losing to ITP $17/0/23$ and
|
|
to the ITP oracle $16/0/24$.
|
|
|
|
\subsection{What the guarantee costs}
|
|
|
|
Nothing on one set, and less than nothing on the other. Against the identical
|
|
rule with no safeguard at all:
|
|
|
|
\begin{center}
|
|
\begin{tabular}{lrrr}
|
|
\toprule
|
|
& solved & total evals & runs over the $2\times$ bound\\
|
|
\midrule
|
|
APS, no safeguard & 153/154 & 2806 & 0\\
|
|
APS, projection & 153/154 & 2806 & 0\\
|
|
Chandrupatla, no safeguard & 35/45 & 4104 & 10\\
|
|
Chandrupatla, projection & \textbf{40/45} & \textbf{3220} & \textbf{0}\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{center}
|
|
|
|
On the canonical set the projection never binds and the totals are identical to
|
|
the last evaluation. On the wide-bracket set it solves five more problems for
|
|
$21\%$ fewer evaluations. This is the opposite of the usual trade, and it is
|
|
the point of projecting rather than replacing: the two safeguards that replace
|
|
cost $7260$ and $7239$ on Alefeld--Potra--Shi, against $2806$.
|
|
|
|
\subsection{Wall-clock time, and why it is not the cost model}
|
|
|
|
Evaluations of $f$ are the cost model because in any real problem $f$ is the
|
|
expensive part. Wall-clock time measures something narrower --- the method's
|
|
own arithmetic per step --- and it is implementation- and language-bound. We
|
|
report it because a reader will ask, and because what it shows is instructive.
|
|
|
|
On the $199$ problems as they stand, every $f$ being a formula of a few
|
|
operations, the proposed rule is the \emph{slowest} of the pure-Python methods
|
|
compared, at $32.8$\,ms against $18.4$ for Brent, $21.1$ for ITP, $14.2$ for
|
|
Ridders and $22.9$ for bisection --- while using the fewest evaluations of all
|
|
of them, $4991$ against $5932$, $5675$, $6421$ and $9474$. Bisection, needing
|
|
nearly twice the evaluations, finishes in two thirds of our time.
|
|
|
|
That inversion is the point. Making $f$ progressively more expensive by a
|
|
controlled amount of arithmetic and timing the sweep directly --- nothing
|
|
subtracted, nothing modelled --- the proposed rule overtakes ITP once one call
|
|
to $f$ costs about $9\,\mu$s and Brent at about $20\,\mu$s, of the order of a
|
|
hundred arithmetic operations on this machine. Below that the ranking is
|
|
decided by per-step overhead; above it, by evaluations.
|
|
|
|
Three caveats, all limitations of the measurement rather than of the methods.
|
|
Timings vary by tens of percent between runs even on an idle machine. An
|
|
attempt to separate our per-step cost into ``algorithm'' and ``Python call
|
|
overhead'', by timing a flattened rewrite of the same rule, produced a variant
|
|
that diverged from the original on $42$ of the $199$ problems and was
|
|
discarded rather than quoted; the question stays open. And an earlier version
|
|
of this measurement estimated a per-evaluation overhead by subtracting the
|
|
measured cost of $f$, which returned \emph{negative} overheads for four of six
|
|
methods --- an impossibility that condemned the estimator, and the reason
|
|
nothing is subtracted here.
|
|
|
|
\subsection{The law across the whole grid}
|
|
\label{sec:grid}
|
|
|
|
Corollaries~\ref{cor:chosen}--\ref{cor:derived} predict an ordering of the nine
|
|
similarity functions and of the four scales. Table~\ref{tab:grid} reports it.
|
|
The prediction holds without exception for every data-derived scale: the three
|
|
similarities with $c=1$ occupy the top three places and the three with $c=0$
|
|
the bottom three. For the chosen scale the two groups are indistinguishable
|
|
($16102$ against $15345$), which is consistent --- with a chosen scale nothing
|
|
converges well and the ordering carries no information.
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\caption{Mean total evaluations over both sets, step guard, grouped by the
|
|
slope $c$ of $1-S$ at the origin.}
|
|
\label{tab:grid}
|
|
\begin{tabular}{lrr}
|
|
\toprule
|
|
scale & $c=1$ (linear approach) & $c=0$ (quadratic approach)\\
|
|
\midrule
|
|
3-point derived & \textbf{6809} & 22294\\
|
|
2-point derived & 6906 & 22167\\
|
|
bracket & 10263 & 19137\\
|
|
start (chosen) & 16102 & 15345\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\end{table}
|
|
|
|
Ranked individually and best over scales, the similarities come out $1-|z|$
|
|
($6496$), $e^{-|z|}$ ($6822$), $1/(1+|z|)$ ($7038$), $(1+|z|)^{-2}$ ($9502$),
|
|
$1-\sqrt{|z|}$ ($10497$), $1-|z|^{1/3}$ ($11941$), $e^{-z^2}$ ($14314$),
|
|
$1/(1+z^2)$ ($15102$), $1/\sqrt{1+z^2}$ ($16394$); the scales come out 3-point
|
|
($6496$), 2-point ($6628$), bracket ($9081$), start ($14540$). Both orderings
|
|
are those the law predicts, and both were predicted before the grid was run.
|
|
|
|
\section{Where the evaluations go}
|
|
|
|
Splitting each run at the geometric mean of the initial width and the
|
|
attainable tolerance --- the log-midpoint of the journey, at which bisection by
|
|
construction has spent half its evaluations --- separates the \emph{approach}
|
|
from the \emph{endgame}. On Alefeld--Potra--Shi the two-point rule spends
|
|
$2235$ on the approach and $668$ on the endgame against Brent's $2175$ and
|
|
$515$: its deficit is almost entirely the endgame, i.e.\ the order, which is
|
|
what motivated the three-point scale. On Chandrupatla it spends $1068$ and
|
|
$1161$ against Brent's $1343$ and $1358$, winning both phases.
|
|
|
|
Two natural explanations of the Chandrupatla advantage were tested and
|
|
\emph{refuted}. Brent discards $53.3\%$ of its interpolations to its safeguard
|
|
on the set it wins and only $34.0\%$ on the set it loses, so safeguard rate is
|
|
not the mechanism; and on Chandrupatla Brent is the bolder of the two ---
|
|
$56.3\%$ of its probes land in the outer tenths of the bracket against our
|
|
$41.8\%$ --- so step length is not the mechanism either.
|
|
|
|
The mechanism is step \emph{quality}. Reconstructing each method's bracket from
|
|
the signs it observed, the median probe removes $0.500$ of the bracket for
|
|
every method on Alefeld--Potra--Shi, but on Chandrupatla it removes $0.275$ for
|
|
the similarity rule against $0.058$ for Brent and $0.068$ for TOMS\,748 ---
|
|
and that comparison already flatters them, since $69$ and $141$ of their probes
|
|
respectively fall outside the proven bracket and are excluded, against none of
|
|
ours. High-order interpolation is a wager that $f$ is locally polynomial. When
|
|
the wager pays, order $1.84$ or $2.65$ wins the endgame; when it fails, the
|
|
probes are wasted. The similarity rule makes the weakest available assumption
|
|
--- a single local slope --- and degrades gracefully.
|
|
|
|
\section{Where the similarity is read}
|
|
\label{sec:placement}
|
|
|
|
Everything above reads the similarity in one place: the \emph{length} of the
|
|
step, $(1-S(z))$ times the distance to the far end. But a bracketing iteration
|
|
takes several decisions per step, and the similarity was not consulted in any
|
|
of the others: which end counts as far (decided by distance), which points the
|
|
local slope is estimated from (decided by recency), and whether the step is
|
|
worth taking at all (decided after the fact, by the safeguard). Each of those
|
|
is a place where a similarity can be read, and the placement turns out to
|
|
matter more than the form of $S$.
|
|
|
|
Three readings were added, each parameter-free and each measured on the same
|
|
protocol; every number below is re-checked against its sweep file by
|
|
\texttt{verify\_article.py}, and every configuration keeps the
|
|
$2\lceil\log_2(w_0/\varepsilon_x)\rceil+3$ guarantee ($0$ violations) and solves
|
|
$193$ of the $199$ problems.
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Trust before the step.} The step trusts a local slope, so the
|
|
question of trust is whether that slope has settled: if two consecutive
|
|
estimates have opposite signs the local model is not established, and the
|
|
evaluation is spent halving instead. A sign is compared, not a magnitude.
|
|
\item \textbf{Which points the model uses.} For a linear $f$ the ratio of
|
|
positions $\xi=(x-u)/(v-u)$ and the ratio of values
|
|
$\varphi=(f(x)-f(u))/(f(v)-f(u))$ coincide, so $|\varphi-\xi|$ measures how
|
|
unlike a linear configuration a triple is. Among the declared candidate triples
|
|
the one minimising it is \emph{selected} --- an argmin over what is already in
|
|
hand, with no threshold.
|
|
\item \textbf{Which end is far.} Read by dissimilarity instead of distance: the
|
|
end whose $|f|$ is larger is the one less similar to the target.
|
|
\end{enumerate}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{lrrr}
|
|
\hline
|
|
configuration (all with the guarantee, $193/199$) & APS-154 & CHA-45 & both \\
|
|
\hline
|
|
proposed method of \S\ref{sec:method} (credit) & $3568$ & $3020$ & $6588$ \\
|
|
projection variant & $2806$ & $3220$ & $6026$ \\
|
|
\hline
|
|
(1) trust before the step & $2848$ & $3074$ & $5922$ \\
|
|
(1)+(2) points chosen by shape & $\mathbf{2527}$ & $3108$ & $5635$ \\
|
|
(1)+(3) far end by dissimilarity & $2726$ & $\mathbf{2785}$ & $\mathbf{5511}$ \\
|
|
(1)+(2)+(3) & $2884$ & $2859$ & $5743$ \\
|
|
\hline
|
|
Chandrupatla & $2785$ & $2423$ & $5208$ \\
|
|
TOMS\,748 & $2820$ & $4000$ & $6820$ \\
|
|
ITP (oracle over its constants) & $3260$ & $2611$ & $5871$ \\
|
|
\hline
|
|
\end{tabular}
|
|
\caption{Reading the similarity in one more place is worth more than changing
|
|
$S$. Evaluations of $f$; failures charged the full budget.}
|
|
\end{table}
|
|
|
|
Two results here are worth stating plainly. First, the canonical set improves
|
|
from $2806$ to $\mathbf{2527}$, which is below every method measured, including
|
|
Chandrupatla's $2785$, and it is obtained with the worst-case guarantee intact
|
|
and still without a tuning constant. Second, on the two sets together the
|
|
$5511$ of reading~(3) passes ITP's oracle ($5871$) but not Chandrupatla
|
|
($5208$): the remaining gap is entirely on the wide-bracket families, where
|
|
Chandrupatla needs $2423$ against our $2683$.
|
|
|
|
The readings do not compose. Taken together, (2) and (3) give $2884$ and
|
|
$2859$ --- worse than either alone. Two selections that are each an improvement
|
|
interfere, which is a reason to measure composition rather than assume it.
|
|
|
|
\subsection{The similarity function belongs to the place, not to the method}
|
|
\label{sec:perplace}
|
|
|
|
Everything above varies \emph{where} the similarity is read while keeping one
|
|
function $S$ for the whole method. That is itself an assumption, and it is
|
|
measurable. Proposition~\ref{prop:falsi} says the two-point normalisation is
|
|
false position; what it does not say is \emph{why} false position stalls. Write
|
|
$|f|\sim K e^m$ near the current point, $e=|x-r|$. Then the residual ratio
|
|
against the far end needs no slope at all,
|
|
\begin{equation}
|
|
\label{eq:orderz}
|
|
z \;=\; \frac{|f(x)|}{|f(x_{\mathrm{far}})|} \;=\; \Bigl(\frac{e}{E}\Bigr)^{m},
|
|
\qquad\text{so}\qquad z^{1/m} \;=\; \frac{e}{E},
|
|
\end{equation}
|
|
and under $S=1/(1+z)$ the step fraction is $z/(1+z)$, which is exactly inverse
|
|
linear interpolation. False position therefore reads a dimensionless ratio
|
|
\emph{at order one} on an approach of order $m$: its three-century-old stall is
|
|
a mismatch between the similarity function and the place it is read in. The
|
|
exponent $1/m$ is not a constant --- $m=1/(1-ff''/f'^2)$ comes from three
|
|
evaluations already paid for, and is $1$ whenever the power model does not
|
|
apply.
|
|
|
|
Measured over the $252$ cells of the grid, the correction behaves exactly as
|
|
that reading predicts and not at all as a universal improvement. Paired inside
|
|
each (function, safeguard) cell of the far reading it is cheaper in $29$ of
|
|
$60$ cells --- indistinguishable from a coin. But in the one pairing where the
|
|
far reading \emph{is} exact inverse interpolation, $S=1/(1+z)$, it is cheaper
|
|
in all seven safeguards:
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{lrrrr}
|
|
\toprule
|
|
safeguard & APS $m{=}1$ & APS measured $m$ & CHA $m{=}1$ & CHA measured $m$\\
|
|
\midrule
|
|
both & 4522 & \textbf{3675} & 3387 & \textbf{3216}\\
|
|
bracket & 4606 & \textbf{3542} & 3571 & \textbf{3303}\\
|
|
credit & 5190 & \textbf{4686} & 3013 & \textbf{2884}\\
|
|
project & 6932 & \textbf{6364} & 4794 & \textbf{4559}\\
|
|
safe & 5987 & \textbf{5229} & 4108 & \textbf{3923}\\
|
|
step & 6435 & \textbf{5551} & 4257 & \textbf{4022}\\
|
|
none & 10676 & \textbf{10043} & 8265 & \textbf{7794}\\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{The measured order in the step place, on the far reading. Cheaper in
|
|
$7$ of $7$ safeguards for the similarity that matches the place, and in $29$ of
|
|
$60$ cells over all nine functions.}
|
|
\end{table}
|
|
|
|
Two limits must be stated with it. The estimator is \emph{biased low}: on a
|
|
pure cube, with no noise at all, it returns $2.830$ rather than $3$, because a
|
|
parabola through three points carries only the second difference. The bias is
|
|
towards $m=1$, that is towards the uncorrected reading, which is the harmless
|
|
direction, but it is a bias. And the correction does not rescue the bracket
|
|
reading as a method: the best cell it reaches on the wide-bracket set is
|
|
$2884$, against $2683$ for reading~(3) above and $2423$ for Chandrupatla. In
|
|
the \emph{slope} reading the same exponent is harmful, $2806\to2854$, which is
|
|
the same statement read from the other side --- a function that does not belong
|
|
to a place does not become right by being applied there.
|
|
|
|
\subsection{Six problems of the two sets are scored unsolved for every method}
|
|
\label{sec:fun7}
|
|
|
|
Chasing the remaining gap to Chandrupatla led to a property of the benchmarks
|
|
themselves. On the five problems of the wide-bracket family \texttt{fun7}, and on
|
|
the single canonical problem \texttt{aps.13.00}, the declared root is $0$ while
|
|
$f$ vanishes \emph{identically} on a neighbourhood of it in floating point:
|
|
$f(0\pm t)=0$ for every $t$ up to at least $3.2\times10^{-2}$, because the
|
|
exponential factor underflows --- at the returned points $|f(x)|$ is below the
|
|
smallest normal double. Every method therefore stops after $8$ to $28$
|
|
evaluations at a point where $f(x)=0$ \emph{exactly} --- a genuine root --- and
|
|
every method is then scored as having failed, because the harness asks for
|
|
$|x-\text{root}|\le10^{-6}$ while the returned point sits up to
|
|
$2.8\times10^{-2}$ away.
|
|
|
|
The consequence is arithmetic. Each such problem charges the full budget of
|
|
$200$ evaluations to every method: about $1150$ evaluations of every reported
|
|
two-set total --- ours, Chandrupatla's, TOMS\,748's, ITP's, Brent's, bisection's
|
|
--- are this artefact, and the ``$153$ of $154$'' and ``$40$ of $45$'' that every
|
|
method reports are statements about the scoring rather than about the methods.
|
|
Re-scored with the criterion ``a root is a root''
|
|
($|x-\text{root}|\le10^{-6}$ \emph{or} $f(x)=0$), the same runs solve $199$ of
|
|
$199$ for every method except Brent's $197$, and the totals fall as follows.
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\begin{tabular}{lrrrr}
|
|
\hline
|
|
& \multicolumn{2}{c}{APS-154} & \multicolumn{2}{c}{CHA-45} \\
|
|
method & as scored & re-scored & as scored & re-scored \\
|
|
\hline
|
|
ours, points by shape & $\mathbf{2527}$ & $\mathbf{2337}$ & $3108$ & $2159$ \\
|
|
ours, projection variant & $2806$ & $2634$ & $3220$ & $2357$ \\
|
|
Chandrupatla & $2785$ & $2593$ & $\mathbf{2423}$ & $\mathbf{1487}$ \\
|
|
TOMS\,748 & $2820$ & $2636$ & $4000$ & $3088$ \\
|
|
Brent & $2889$ & $2707$ & $4099$ & $3222$ \\
|
|
ITP & $3957$ & $3767$ & $2857$ & $1907$ \\
|
|
bisection & $7530$ & $7338$ & $3090$ & $2136$ \\
|
|
\hline
|
|
\end{tabular}
|
|
\caption{The same runs under the harness criterion and under ``a root is a
|
|
root''. The ranking is unchanged; the magnitudes are not, and neither is the size
|
|
of the remaining gap on the wide-bracket set: $253$ evaluations, or $17\%$, not
|
|
$11\%$.}
|
|
\end{table}
|
|
|
|
\subsection{Where the wide-bracket limit actually is}
|
|
\label{sec:widelimit}
|
|
|
|
The remaining gap looks diffuse --- per family $+57$, $+54$, $+46$, $+43$, $+35$
|
|
and smaller --- but it has one address. The \texttt{fun1} family is the same
|
|
function with brackets of growing width, and our cost against Chandrupatla's
|
|
across them is $7/8$, $12/12$, $19/15$, $59/24$, $63/44$: we tie or win while the
|
|
bracket is narrow and lose progressively as it widens. The endgame is not the
|
|
cause --- our observed order on those very problems is the higher one ($3.63$
|
|
against $2.02$ on the $2\times10^4$-wide bracket). The cause is the rate of
|
|
progress far from the root: $59$ evaluations on a $2\times10^4$-wide bracket is
|
|
what bisection itself needs ($\lceil\log_2(2\times10^{16})\rceil\approx54$), i.e.
|
|
there we advance by one halving per evaluation while Chandrupatla advances by
|
|
about $2.3$.
|
|
|
|
It is not the guarantee that caps us. With the safeguard removed entirely the
|
|
same problems cost $46$, $57$, $61$ and $68$ against bisection's $57$, $77$, $45$
|
|
and $45$ --- better on the wide brackets, \emph{worse than bisection} on
|
|
\texttt{fun3.1} and \texttt{fun5.1} --- and still far from Chandrupatla's $24$ and
|
|
$44$.
|
|
|
|
Nor is it that the step fails to be relative to the bracket. With the ratio
|
|
similarity $1-S=\min(1,|f|/(|f'|D))$, so the step is exactly
|
|
$\min(D,|f|/|f'|)$: a \emph{fraction} of the distance to the far end, and the
|
|
similarity is that fraction. Nor does the iterate creep along one side without
|
|
moving the proven bracket: measured probe by probe, $91.5\%$ of our evaluations
|
|
on the $2\times10^4$-wide bracket do shrink the bracket, slightly \emph{more}
|
|
often than Chandrupatla's $87.5\%$.
|
|
|
|
What differs is how much each probe removes. Ours shrinks the bracket by
|
|
$0.93$ halvings per evaluation there, Chandrupatla's by $2.26$ --- a factor of
|
|
about two against a factor of about five. On a wide bracket of a convex function
|
|
the Newton step systematically undershoots, because a linear model of the value
|
|
axis cannot see the curvature that separates the iterate from the root, so our
|
|
probe lands well short and the new bracket is about half the old one; a model
|
|
that carries the curvature --- inverse quadratic interpolation --- lands far
|
|
closer and removes about four fifths.
|
|
|
|
So the limit is stated exactly, and it is the \emph{order of the model the
|
|
similarity is read against}, not the placement of the reading and not the
|
|
guarantee. Three parameter-free ways round it have now been measured and all
|
|
three fail in the same way, buying the wide brackets at the price of the
|
|
canonical set: a fixed fraction of the bracket (\texttt{cbrt}), a logarithmic
|
|
change of variable, and a curvature-corrected scale (\texttt{derived3\_m},
|
|
whose derivation holds but whose estimator of the local order fires on $27.9\%$
|
|
of steps where the truth is a simple root). The fourth way is to model the
|
|
curvature directly, which is inverse quadratic interpolation --- a different
|
|
method rather than another reading of this one.
|
|
|
|
On that set our shape reading ($2159$ re-scored) is \emph{worse} than bisection
|
|
($2136$); only the dissimilarity reading ($1740$) is clearly ahead, which is the
|
|
same statement seen from the other end: where the step cannot march, the reading
|
|
that helps least is the one that only improves the local model. Every statement
|
|
in these two subsections is
|
|
reproduced by \texttt{diag\_rescore\_cha.py}, \texttt{diag\_rescore\_aps.py},
|
|
\texttt{diag\_fun7\_root.py} and \texttt{diag\_cha\_gap.py}, whose outputs are
|
|
kept beside them.
|
|
|
|
\section{Negative results}
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Placement beats form, and the wrong placement is expensive.} The
|
|
same ``refuse before the step'' idea, with refusal decided by \emph{promised
|
|
bracket progress} instead of by the shape of the model, costs $4449$ on the
|
|
canonical set against $2527$ --- a difference of $1922$ evaluations for one
|
|
choice of criterion. A secant step routinely collapses the error while barely
|
|
moving the proven bracket, so bracket progress rejects steps that were
|
|
excellent; this is the same mechanism that makes the bracket guard cost $7260$.
|
|
\item \textbf{Making the scale independent of the bracket does not help either.}
|
|
The natural objection to the derived scale is that it defeats the very principle
|
|
of a similarity step: with $\sigma=|f'|D$ the normalised residual is
|
|
$|f|/(|f'|D)$, which on the $2\times10^4$-wide bracket of $x^3-2x-5$ at
|
|
$x=10^4$ equals $0.167$, so $S=0.833$ --- ``similar'' --- and the step is small
|
|
although the root is some five thousand step-lengths away. The similarity is
|
|
reading what fraction of the \emph{bracket} the Newton step is, not how far the
|
|
iterate is from the root. Selecting the scale between the two quantities already
|
|
computed, $\sigma=\min(|f'|D,\max(|f(A)|,|f(B)|))$ --- no new constant, a
|
|
\texttt{min} over what is in hand --- does give a full-bracket step far away and
|
|
Newton's step near the root, and on eight hand-picked wide problems it improves
|
|
$403$ evaluations to $390$. Over the whole grid it is worse on both sets:
|
|
$3288$ on the canonical set against $2726$, and $3111$ on the wide-bracket set
|
|
against $2683$. Its apparent extra solves ($194$ instead of $193$) are two
|
|
\texttt{fun7} problems where it lands inside the flat zero region close enough to
|
|
satisfy the harness --- the artefact of \S\ref{sec:fun7}, not a capability.
|
|
\item \textbf{Reading the similarity at the measured order does not cure false
|
|
position.} Since false position's stall is a similarity read at order one
|
|
(\S\ref{sec:perplace}), the obvious hope is that reading it at the measured
|
|
order is the parameter-free version of the classical fix. It is not. Unguarded,
|
|
the correction takes the bracket reading from $127/154$ and $10676$ to $128/154$
|
|
and $10043$ --- one problem and six per cent --- where Illinois, at the price of
|
|
one constant (halve the stale ordinate), reaches $153/154$ and $7045$. A sixth
|
|
of the gap is not the gap. The correction is real and it is in the right place;
|
|
it is simply much smaller than a constant that was chosen for exactly this
|
|
failure. \emph{Our} $10676$ and the $10560$ of Table~\ref{tab:aps} are not
|
|
the same algorithm --- our iterate starts at the midpoint of the bracket, plain
|
|
false position at an end --- and the two must not be differenced.
|
|
\item \textbf{A logarithmic change of variable does not buy the wide brackets.}
|
|
Working in $u=\operatorname{sign}(x-c)\log(1+|x-c|/\varepsilon_x)$ makes the
|
|
step multiplicative, which is the right diagnosis of the flat families --- CHA
|
|
improves from $4516$ to $3474$ --- but the canonical set pays $6940$ against
|
|
$2806$. A march needs a \emph{ratio} of distances while an identity on narrow
|
|
brackets needs an \emph{absolute} unit, and no parameter-free unit provides
|
|
both.
|
|
\item \textbf{The prototype-aggregation form of the method loses.} A richer
|
|
construction --- prototypes over \emph{pairs} of evaluated points, softmax
|
|
weights over the whole memory, similarity on both the value and the abscissa
|
|
axis --- leads on eight hand-picked problems but loses decisively on the real
|
|
set: $0$ wins, $6$ ties and $147$ losses against Brent. The simplest form of
|
|
the idea won.
|
|
\item \textbf{Every safeguard that replaces the step destroys the order.}
|
|
Bracket-based and step-based replacement both drop the three-point rule from
|
|
order $1.94$ to $1.00$ and cost $7260$ and $7239$ evaluations on
|
|
Alefeld--Potra--Shi. Only projection preserves both. We record this because it
|
|
is the trap the construction naturally falls into.
|
|
\item \textbf{Zero slack in the projection is degenerate.} A worst case of
|
|
exactly bisection demands a halving at every step and leaves the projection no
|
|
freedom at all.
|
|
\item \textbf{Regimes exist, at the level of a function family, and cannot be
|
|
exploited by a switch.} The cube-root similarity beats the proposed rule on
|
|
all five members of Chandrupatla's \texttt{fun4} --- $32/32/40/47/59$ against
|
|
$89/93/113/125/153$, a factor of $2.6$ --- and consistency across a family at
|
|
different parameters is the signature of structure rather than luck. But the
|
|
same similarity over the whole Chandrupatla set costs $4099$ against $3220$,
|
|
so a switch chosen per benchmark is worse than no switch at all: $6905$
|
|
against $6026$ over both sets. The scale axis offers only $5.3\%$ headroom
|
|
even to an oracle handed the best scale per problem, two thirds of it inside a
|
|
single family, and the winners are not separated by anything the method can
|
|
see before it commits --- the proposed scale wins on bracket widths from
|
|
$10^0$ to $10^{12}$.
|
|
|
|
\item \textbf{The phase detector: derivation sound, estimator not.} Redoing
|
|
the contraction law without the assumption $|f|\approx|f'(r)|e$ --- taking
|
|
$|f|\approx K e^m$ instead --- produces the march exponent on its own,
|
|
$p = L/(L-\ln m)$ with $L=\ln(e/D)$, giving $p=1$ at a simple root and dropping
|
|
to $0.50$ and $0.23$ as the approach flattens, which is the neighbourhood of
|
|
the cube root that wins those families. Substituted back it collapses to the
|
|
multiplier $m$, measurable as $m = 1/(1-\theta)$ with $\theta = f f''/(f')^2$
|
|
from three divided differences and no constant. It preserves the order
|
|
($2.001$) and improves the eight standard problems ($82$ against $84$) --- and
|
|
loses on the full benchmark, $6304$ against $6026$. The estimator is the
|
|
failure: on Alefeld--Potra--Shi, where almost every root is simple and the
|
|
truth is $m=1$, it reports $m>1$ on $27.9\%$ of steps with excursions to
|
|
$m=34.8$, against $35.8\%$ on the flat families. $27.9$ against $35.8$ is no
|
|
separation. A cruder variant, correcting by the fraction of its own promise
|
|
the previous step kept, fails everything: the order collapses to $0.904$ and
|
|
the standard problems double to $161$.
|
|
|
|
\item \textbf{One problem defeats every method}, \texttt{aps.13.00},
|
|
$f(x)=x e^{-1/x^2}$, all of whose derivatives vanish at the root and which
|
|
underflows to exactly zero throughout $|x|<0.086$; every method returns a
|
|
machine zero at distance up to $0.086$ from the root.
|
|
\item \textbf{The symmetric ratio similarity degenerates.} For
|
|
$S(x,y)=\min(|x|,|y|)/\max(|x|,|y|)$ with $y$ the target $0$, $S\equiv0$; the
|
|
only usable reading is $1-|f|/\sigma$, which saturates and stagnates
|
|
(Table~\ref{tab:law-check}, last row).
|
|
\end{enumerate}
|
|
|
|
\section{Conclusion}
|
|
|
|
A root finder can be derived from a similarity function alone, and the
|
|
derivation shows where the content of such a method actually sits. It is not in
|
|
the shape of $S$ --- nine shapes were tried and their ranking is dictated by a
|
|
single number, the slope of $1-S$ at the origin. It is not in making the
|
|
similarity change faster --- that overshoots exactly as readily as flatness
|
|
stagnates. It is in the \emph{scale} against which similarity is judged:
|
|
chosen, the method is brittle and merely linear; taken from the bracket, it is
|
|
false position and three centuries old; read off the data, it is superlinear.
|
|
And the safeguard that makes such a method safe must project the step, not
|
|
replace it: replacing costs the order, projecting costs nothing on one
|
|
benchmark and improves the method on the other.
|
|
|
|
The resulting rule has no tuning constant and carries a worst case of twice
|
|
bisection plus one step. On the canonical Alefeld--Potra--Shi set it is level
|
|
with TOMS\,748 --- $2806$ evaluations against $2820$ is a margin of $0.5\%$ and
|
|
should be read as a tie --- and ahead of Brent by $2.9\%$, which it also beats
|
|
$102$ problems to $40$ head to head. The claim the measurements support is
|
|
parity with methods that carry tuned constants, not superiority over them.
|
|
|
|
This is the same movement as in parameter-free similarity control~\cite{sim},
|
|
where membership functions are eliminated by normalising the input space from
|
|
the data rather than by choosing widths. Here the object normalised is the
|
|
value axis, and the price of choosing it by hand is measured rather than
|
|
asserted.
|
|
|
|
\subsection*{Future work}
|
|
|
|
One weakness has a clear diagnosis and no fix inside this framework. On
|
|
brackets many orders of magnitude wider than the distance to the root, the
|
|
search must cross those decades, and an \emph{additive} step of $|f|/|f'|$ is
|
|
sized by the local slope, which knows nothing about how many decades remain.
|
|
That is why the cube-root similarity, whose step is a fixed \emph{fraction} of
|
|
the bracket, beats the proposed rule $2.6$-fold on those families, and why ITP
|
|
keeps its lead on the Chandrupatla set.
|
|
|
|
The regime is therefore multiplicative versus additive movement, not one
|
|
similarity function versus another --- a change of the space the method works
|
|
in, not of a coefficient inside it. The natural instrument is a logarithmic
|
|
change of variable, $u = \operatorname{sign}(x-c)\log(1+|x-c|/s)$, in which an
|
|
additive step becomes a geometric march and the exponent that the cube root
|
|
fixes at $1/3$ by accident disappears as a free quantity. Two conditions
|
|
decide whether that is a method or another refuted idea: the origin $c$ and
|
|
unit $s$ must be read from the bracket rather than chosen, and the transform
|
|
must be the identity to within rounding on narrow brackets, so that the
|
|
wide-bracket families are not bought at the price of the canonical set. Every
|
|
attempt reported in Section~7 failed on exactly that second condition.
|
|
|
|
\begin{thebibliography}{9}
|
|
\bibitem{aps} G.~E. Alefeld, F.~A. Potra and Y.~Shi, ``Algorithm 748: Enclosing
|
|
zeros of continuous functions,'' \emph{ACM Trans.\ Math.\ Softw.}, vol.~21,
|
|
no.~3, pp.~327--344, 1995.
|
|
\bibitem{brent} R.~P. Brent, \emph{Algorithms for Minimization without
|
|
Derivatives}. Englewood Cliffs, NJ: Prentice-Hall, 1973.
|
|
\bibitem{chandrupatla} T.~R. Chandrupatla, ``A new hybrid quadratic/bisection
|
|
algorithm for finding the zero of a nonlinear function without using
|
|
derivatives,'' \emph{Adv.\ Eng.\ Software}, vol.~28, no.~3, pp.~145--149, 1997.
|
|
\bibitem{itp} I.~F.~D. Oliveira and R.~H.~C. Takahashi, ``An enhancement of the
|
|
bisection method average performance preserving minmax optimality,''
|
|
\emph{ACM Trans.\ Math.\ Softw.}, vol.~47, no.~1, pp.~1--24, 2021.
|
|
\bibitem{ridders} C.~Ridders, ``A new algorithm for computing a single root of
|
|
a real continuous function,'' \emph{IEEE Trans.\ Circuits Syst.}, vol.~26,
|
|
no.~11, pp.~979--980, 1979.
|
|
\bibitem{sim} V.~Sitnikov, ``Parameter-free similarity control,'' preprint,
|
|
2026.
|
|
\bibitem{dowell} M.~Dowell and P.~Jarratt, ``A modified regula falsi method for
|
|
computing the root of an equation,'' \emph{BIT}, vol.~11, pp.~168--174, 1971.
|
|
\end{thebibliography}
|
|
|
|
\end{document}
|