3
$\begingroup$

I'm looking for function calculating polynomial of best approximation (in sense of uniform norm) to given function $f(x)$ on interval $[a,b]$. I know Remez algorithm doing this. In << FunctionApproximations` package I found function MiniMaxApproximation.

My question is: if I use it with $(m,k)=(n,0)$ i would get $n$th best polynomial for function $f$? If not, it's implemented somewhere else in Mathematica?

$\endgroup$
2

2 Answers 2

4
$\begingroup$

The simple answer is: Yes, it attempts to find the minimax polynomial approximation, if the degree of the denominator is specified to be zero. As is probably known, there is no known way to solve exactly for the minimax approximant in general, but one can try to do so numerically. The algorithm, like most algorithms, has weakness, and they are documented.

The package is documented in the form of comments in the code. The code for the package is contained in several file and may be found in the directory:

FileNameJoin@
 Drop[FileNameSplit@FindFile["FunctionApproximations`"], -2]

The file with the code and documentation for MiniMaxApproximation may be located by executing the following:

FindFile["FunctionApproximations`Approximations`"]

Locations depend on the installation directory of your Mathematica.

$\endgroup$
3
$\begingroup$

According to the documentation,

MiniMaxApproximation works using an iterative scheme.The first step is to construct a rational approximation using RationalInterpolation.This first approximation is then used to generate a better approximation using a scheme based on Remes's algorithm.Generating the new approximation consists of adjusting the choice of the interpolation points in a way that ensures that the relative error will diminish

Practice is the criterion of truth. In view of it,

Needs["FunctionApproximations`"]
MiniMaxApproximation[E^x, {x, {0, 1}, 3, 0}]

{{0., 0.123815, 0.450306, 0.825921, 1.}, {0.999678 + 1.01217 x + 0.434183 x^2 + 0.271371 x^3, 0.000322281}}

The remez command of Maple produces a close result .9994553355+1.016603054*x+.4217004821*x^2+.2799782919*x^3.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.