I need to find the (unique) root of a nonlinear function $f(x)$, $x \in \mathbb{R}$.For the record, $f(x)$ is the CDF of a probability density minus a constant $0 < p < 1$ (I am inverting the CDF; see this question). The pdf is defined as a 1-D mixture of Gaussians times a polynomial. $f$ is analytical but relatively expensive to compute, so I would like to speed up the root-finding algorithm.So far, I have been using fzero in MATLAB, which implements Brent's method.In several places in this forum (see also the question above) I have seen recommended Alefeld-Potra-Shi's method instead, which makes me think it is state-of-the art (I am not particularly familiar with the root-finding literature).What are the performance differences between Brent's and Alefeld-Potra-Shi's methods, and when is one method expected to be better than the other?If Alefeld-Potra-Shi is potentially better for my problem, I might work on a MATLAB port of Alefeld-Potra-Shi, which I could not find so far (possibly there is an Octave implementation, and a Julia one here).
Difference between Brent's and Alefeld-Potra-Shi for root finding
matlab;efficiency;roots