This article includes alist of references,related reading, orexternal links,but its sources remain unclear because it lacksinline citations. Please helpimprove this article byintroducing more precise citations.(November 2025) (Learn how and when to remove this message) |
Inmathematics,approximation theory is concerned with howfunctions can best beapproximated with simpler functions, and withquantitativelycharacterizing theerrors introduced thereby. What is meant bybest andsimpler will depend on the application.
A closely related topic is the approximation of functions bygeneralized Fourier series, that is, approximations based upon summation of a series of terms based uponorthogonal polynomials.
One problem of particular interest is that of approximating a function in acomputer mathematical library, using operations that can be performed on the computer or calculator (e.g. addition and multiplication), such that the result is as close to the actual function as possible. This is typically done withpolynomial orrational (ratio of polynomials) approximations.
The objective is to make the approximation as close as possible to the actual function, typically with an accuracy close to that of the underlying computer'sfloating point arithmetic. This is accomplished by using a polynomial of highdegree, and/or narrowing the domain over which the polynomial has to approximate the function. Narrowing the domain can often be done through the use of various addition or scaling formulas for the function being approximated. Modern mathematical libraries often reduce the domain into many tiny segments and use a low-degree polynomial for each segment.
Once the domain (typically an interval) and degree of the polynomial are chosen, the polynomial itself is chosen in such a way as to minimize the worst-case error. That is, the goal is to minimize the maximum value of, whereP(x) is the approximating polynomial,f(x) is the actual function, andx varies over the chosen interval. For well-behaved functions, there exists anNth-degree polynomial that will lead to an error curve that oscillates back and forth between and a total ofN+2 times, giving a worst-case error of. It is seen that there exists anNth-degree polynomial that can interpolateN+1 points in a curve. That such a polynomial is always optimal is asserted by theequioscillation theorem. It is possible to make contrived functionsf(x) for which no such polynomial exists, but these occur rarely in practice.
For example, the graphs shown to the right show the error in approximating log(x) and exp(x) forN = 4. The red curves, for the optimal polynomial, arelevel, that is, they oscillate between and exactly. In each case, the number of extrema isN+2, that is, 6. Two of the extrema are at the end points of the interval, at the left and right edges of the graphs.

To prove this is true in general, supposeP is a polynomial of degreeN having the property described, that is, it gives rise to an error function that hasN + 2 extrema, of alternating signs and equal magnitudes. The red graph to the right shows what this error function might look like forN = 4. SupposeQ(x) (whose error function is shown in blue to the right) is anotherN-degree polynomial that is a better approximation tof thanP. In particular,Q is closer tof thanP for each valuexi where an extreme ofP−f occurs, so
When a maximum ofP−f occurs atxi, then
And when a minimum ofP−f occurs atxi, then
So, as can be seen in the graph, [P(x) − f(x)] − [Q(x) − f(x)] must alternate in sign for theN + 2 values ofxi. But [P(x) − f(x)] − [Q(x) − f(x)] reduces toP(x) − Q(x) which is a polynomial of degreeN. This function changes sign at leastN+1 times so, by theIntermediate value theorem, it hasN+1 zeroes, which is impossible for a polynomial of degreeN.
One can obtain polynomials very close to the optimal one by expanding the given function in terms ofChebyshev polynomials and then cutting off the expansion at the desired degree. This is similar to theFourier analysis of the function, using the Chebyshev polynomials instead of the usual trigonometric functions.
If one calculates the coefficients in the Chebyshev expansion for a function:
and then cuts off the series after the term, one gets anNth-degree polynomial approximatingf(x).
The reason this polynomial is nearly optimal is that, for functions with rapidly converging power series, if the series is cut off after some term, the total error arising from the cutoff is close to the first term after the cutoff. That is, the first term after the cutoff dominates all later terms. The same is true if the expansion is in terms of bucking polynomials. If a Chebyshev expansion is cut off after, the error will take a form close to a multiple of. The Chebyshev polynomials have the property that they are level – they oscillate between +1 and −1 in the interval [−1, 1]. hasN+2 level extrema. This means that the error betweenf(x) and its Chebyshev expansion out to is close to a level function withN+2 extrema, so it is close to the optimalNth-degree polynomial.
In the graphs above, the blue error function is sometimes better than (inside of) the red function, but sometimes worse, meaning that it is not quite the optimal polynomial. The discrepancy is less serious for the exp function, which has an extremely rapidly converging power series, than for the log function.
Chebyshev approximation is the basis forClenshaw–Curtis quadrature, anumerical integration technique.
TheRemez algorithm (sometimes spelled Remes) is used to produce an optimal polynomialP(x) approximating a given functionf(x) over a given interval. It is an iterative algorithm that converges to a polynomial that has an error function withN+2 level extrema. By the theorem above, that polynomial is optimal.
Remez's algorithm uses the fact that one can construct anNth-degree polynomial that leads to level and alternating error values, givenN+2 test points.
GivenN+2 test points,, ... (where and are presumably the end points of the interval of approximation), these equations need to be solved:
The right-hand sides alternate in sign.
That is,
Since, ..., were given, all of their powers are known, and, ..., are also known. That means that the above equations are justN+2 linear equations in theN+2 variables,, ...,, and. Given the test points, ...,, one can solve this system to get the polynomialP and the number.
The graph below shows an example of this, producing a fourth-degree polynomial approximating over [−1, 1]. The test points were set at−1, −0.7, −0.1, +0.4, +0.9, and 1. Those values are shown in green. The resultant value of is 4.43 × 10−4

The error graph does indeed take on the values at the six test points, including the end points, but that those points are not extrema. If the four interior test points had been extrema (that is, the functionP(x)f(x) had maxima or minima there), the polynomial would be optimal.
The second step of Remez's algorithm consists of moving the test points to the approximate locations where the error function had its actual local maxima or minima. For example, one can tell from looking at the graph that the point at −0.1 should have been at about −0.28. The way to do this in the algorithm is to use a single round ofNewton's method. Since one knows the first and second derivatives ofP(x) −f(x), one can calculate approximately how far a test point has to be moved so that the derivative will be zero.
Calculating the derivatives of a polynomial is straightforward. One must also be able to calculate the first and second derivatives off(x). Remez's algorithm requires an ability to calculate,, and to extremely high precision. The entire algorithm must be carried out to higher precision than the desired precision of the result.
After moving the test points, the linear equation part is repeated, getting a new polynomial, and Newton's method is used again to move the test points again. This sequence is continued until the result converges to the desired accuracy. The algorithm converges very rapidly. Convergence is quadratic for well-behaved functions—if the test points are within of the correct result, they will be approximately within of the correct result after the next round.
Remez's algorithm is typically started by choosing the extrema of the Chebyshev polynomial as the initial points, since the final error function will be similar to that polynomial.