M
minimaxapprox
ANALYTICS
Velocity0.0
R package minimaxapprox by aadler — release notes from GitHub.
minimaxapprox found its Remez exchange had been silently returning the wrong minimax.
numerical analysisapproximation theoryremez algorithmcorrectnesscranr package
◆Current state
minimaxapprox computes minimax polynomial and rational approximations to functions via the Remez exchange algorithm. Version 0.6.0 is a correctness release of unusual depth: the exchange was redesigned after two structural defects were found that let it converge to a reference-local fixed point that is not the global minimax, with no warning. The worked example in the notes has atan on [0,3] at degree 3 reporting an expected error 1.8 times smaller than the returned approximation's true maximum error.
◆Where it's heading
The redesign changes what drives the algorithm: roots are now located across the whole interval from an oversampled grid rather than only between consecutive reference points, each sign region takes its search direction from the error's own sign instead of a mechanically alternated schedule, and endpoints are always retained as exchange candidates. Around that sit a cluster of fixes with the same signature — a stagnation check tested in only one direction, a missing abs() in a coefficient test, ztol applied on the monomial scale when Chebyshev was requested — each one a silent wrong answer rather than a crash. Conditioning on ranges far from [-1,1] was also addressed, at the cost of a breaking change.
◆Prediction
Nearly every fix here came from auditing places where the package trusted its own structure instead of measuring the error curve, so the next release most likely continues that audit into the rational-approximation path rather than adding features.
◆Recent moves
- 1mo ago
CRAN release v0.6.0
⚡ SPARKRedesigns the Remez exchange to be driven by the error curve rather than the current reference's structure, after finding it could converge to a reference-local fixed point that is not the global minimax. Six further silent-wrongness fixes ship alongside, plus a segfault at multi-million evaluation points and a conditioning fix that improved a degree-10 fit on [5,6] from about 1.8e-10 to 3e-12.
View source ↗ - 2y ago
CRAN release 0.2.0
A CRAN release whose feed entry carries no changelog detail — the body is a single pointer to NEWS. Nothing about the direction of this release can be read from the feed itself.
View source ↗