NEWS  R Documentation 
NEWS file for the minimaxApprox package
Developmental Note: Version 0.0.0+
So long as the package remains in its experimental development state—noted by a 0 major version—the API may change without incrementing the major version. Please read these development notes carefully. Breaking changes will be prefaced by “Breaking:”.
Version 0.4.3 (20240620)
Changed
Efficiency tweaks to C code.
Use native CRAN DOI and update ‘README’.
Expanded package metadata testing.
Version 0.4.2 (20240520)
Changed
If an explicitly passed
conviter
is larger thanminiter
, thenminiter
is set toconviter
.Documentation made more consistent.
C code tweaked for clarity and efficiency.
Updated unit tests.
Set up Github workflow for testing with rhub.
Version 0.4.1 (20240228)
Changed
One unit test adjusted to pass on Professor Ripley's OpenBLAS test machine which has different tolerances than the standard twelve on CRAN, six on Github, three on R Win Builder, and the one on R Mac Builder.
Version 0.4.0 (20240226)
Added

Breaking: Analysis now uses the Chebyshev polynomials of the first kind,
T_k
, as the default basis instead of the monomials,x^k
. Monomials can still be used by passing the appropriatebasis
parameter. The internal functions underlying the Chebyshev polynomial calculations were ported to C for speed.
Changed

Breaking: Changed names in return object. What was
Basis
is nowExtrema
. Thebasis
parameter is now used to capture whether monomials or Chebyshev polynomials should be/were used. 
Breaking: Userfacing functions now have
basis
parameter to determine which basis to use; see appropriate help files. Parameter positions have thus changed. The
print
,plot
, andcoef
methods were updated to recognize or allow basis selection.The
print
method now shows 14 digits for the convergence ratio by default.Internal code was streamlined and tolerances were tightened.
Updated documentation for new functionality.
The C files were split and header files created to keep Chebyshev and Horner code seperate from each other.
Fixed
Fixed potential divisionbyzero problem in the “unchanging” test.
Fixed outdated parameter name in documentation.
Fixed incorrect ‘NEWS’ entries.
Version 0.3.0 (20240125)
Changed

Breaking: More descriptive names in return object. See the Value section of
help("minimaxApprox")
for details. 
Breaking: When using relative error for convergence and one of the basis points has a functional value of 0, instead of stopping with an error, the algorithm will perturb that basis point by
1e12
in the appropriate direction and proceed with a warning. 
Breaking: Forced convergence to look only at the ratio if the difference between tested values is
\le
.Machine$double.eps
. 
Breaking: Increased default for
conviter
from 10 to 30 as tests on some values now need more iterations to acheive ratio convergence given a distance\le
.Machine$double.eps
.
Added
Added unit tests for additional functionality.
Fixed
Fixed a misnamed option value in some unit tests.
Version 0.2.2 (20231012)
Changed
Refactored ‘README’ to split out security and contributions wordings to their own respective files and link the citation to the file on CRAN.
Changed some tests to be more acceptable for CRAN.
Added
Added
LTO_OPT
to ‘Makevars’ andUseLTO
to ‘DESCRIPTION’.
Version 0.2.1 (20230904)
Changed
Test for calculating polynomial of degree
n + 1
when one of degreen
fails, while passing both R Mac Builder and Github's Mac platform, failed on CRAN's testbed. So test is no longer run for Mac on CRAN.
Version 0.2.0 (20230904)
Added
When the polynomial algorithm fails with a singular matrix error for degree
n
, it will now look for a polynomial of degreen + 1
. If found, and the contribution of that coefficient is less than the new optiontailtol
(default1e10
), it will return the found polynomial without the uppermost coefficient—which is effectively 0. It will message the user to that effect. PassingNULL
skips the test. (see Issue 2 with thanks to Hans W. Borchers).New option
ztol
which acts similarly tozapsmall
in that it will zero out coefficient values—both polynomial and rational—whose contributions are\le
ztol
at each step of the iteration. The default,NULL
, skips the test.
Changed
Ported Compensated Horner Scheme algorithms to C for speed. The algorithms are now roughly 10x faster.
Changed linear solution algorithm to use
qr.solve
when the defaultsolve
fails with a singular matrix issue. This may allow for higher degree polynomials in certain cases.
Breaking: Changed name of ‘
round
’ parameter in print method to ‘digits
’ to prevent any confusion with base functionround
. Updated unit tests.
Cleaned up and updated some documentation and various messages.
Tightened tolerances and cleaned up some internal functions.
Added ‘LICENSE’ to ‘.Rbuildignore’ and removed from ‘DESCRIPTION’ as suggested on Rpkgdevel.
Version 0.1.0 (20230807)
Changed
Internal polynomial evaluations now uses Compensated Horner Scheme of Langlois et al. (2006) for increased precision and stability.
Clarified some error messages.
Removed
Remove one test which fails on M1 Mac (thanks to Professor Brian Ripley) and PowerPC (Issue 1; thanks to Sergey Fedorov) due to it returning a singular matrix where on Linux and Windows it does not.
Added
Added file LICENSE with text of MPL2.0.
Added copyright and license notices to source code where it was missing.
Added unit tests.
Version 0.0.2 (20230720)
Changed
Correct documentation and make more consistent.
Provide better examples for
minimaxApprox
.Updated README with live CRAN links.
Version 0.0.1 (20230718)
Added
Initial release.