Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Approximation theory
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Theory of getting acceptably close inexact mathematical calculations}} {{use mdy dates|date=September 2021}} {{Use American English|date = March 2019}} In [[mathematics]], '''approximation theory''' is concerned with how [[function (mathematics)|function]]s can best be [[approximation|approximated]] with simpler functions, and with [[quantitative property|quantitative]]ly [[characterization (mathematics)|characterizing]] the [[approximation error|errors]] introduced thereby. What is meant by ''best'' and ''simpler'' will depend on the application. A closely related topic is the approximation of functions by [[generalized Fourier series]], that is, approximations based upon summation of a series of terms based upon [[orthogonal polynomials]]. One problem of particular interest is that of approximating a function in a [[computer]] 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 with [[polynomial]] or [[Rational function|rational]] (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's [[floating point]] arithmetic. This is accomplished by using a polynomial of high [[Degree of a polynomial|degree]], 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. {| style="float:right" | [[Image:Logerror.png|thumb|300px|Error between optimal polynomial and log(x) (red), and Chebyshev approximation and log(x) (blue) over the interval [2, 4]. Vertical divisions are 10<sup>−5</sup>. Maximum error for the optimal polynomial is 6.07 × 10<sup>−5</sup>.]] | [[Image:Experror.png|thumb|300px|Error between optimal polynomial and exp(x) (red), and Chebyshev approximation and exp(x) (blue) over the interval [−1, 1]. Vertical divisions are 10<sup>−4</sup>. Maximum error for the optimal polynomial is 5.47 × 10<sup>−4</sup>.]] |} ==Optimal polynomials== 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 <math>\mid P(x) - f(x)\mid</math>, where ''P''(''x'') is the approximating polynomial, ''f''(''x'') is the actual function, and ''x'' varies over the chosen interval. For well-behaved functions, there exists an ''N''<span style="padding-left:0.1em;">th</span>-degree polynomial that will lead to an error curve that oscillates back and forth between <math>+\varepsilon</math> and <math>-\varepsilon</math> a total of ''N''+2 times, giving a worst-case error of <math>\varepsilon</math>. It is seen that there exists an ''N''<span style="padding-left:0.1em;">th</span>-degree polynomial that can interpolate ''N''+1 points in a curve. That such a polynomial is always optimal is asserted by the [[equioscillation theorem]]. It is possible to make contrived functions ''f''(''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) for ''N'' = 4. The red curves, for the optimal polynomial, are '''level''', that is, they oscillate between <math>+\varepsilon</math> and <math>-\varepsilon</math> exactly. In each case, the number of extrema is ''N''+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. [[Image:Impossibleerror.png|thumb|right|300px|Error ''P''(''x'') − ''f''(''x'') for level polynomial (red), and for purported better polynomial (blue)]] To prove this is true in general, suppose ''P'' is a polynomial of degree ''N'' having the property described, that is, it gives rise to an error function that has ''N'' + 2 extrema, of alternating signs and equal magnitudes. The red graph to the right shows what this error function might look like for ''N'' = 4. Suppose ''Q''(''x'') (whose error function is shown in blue to the right) is another ''N''-degree polynomial that is a better approximation to ''f'' than ''P''. In particular, ''Q'' is closer to ''f'' than ''P'' for each value ''x<sub>i</sub>'' where an extreme of ''P''−''f'' occurs, so :<math>|Q(x_i)-f(x_i)|<|P(x_i)-f(x_i)|.</math> When a maximum of ''P''−''f'' occurs at ''x<sub>i</sub>'', then :<math>Q(x_i)-f(x_i)\le|Q(x_i)-f(x_i)|<|P(x_i)-f(x_i)|=P(x_i)-f(x_i),</math> And when a minimum of ''P''−''f'' occurs at ''x<sub>i</sub>'', then :<math>f(x_i)-Q(x_i)\le|Q(x_i)-f(x_i)|<|P(x_i)-f(x_i)|=f(x_i)-P(x_i).</math> So, as can be seen in the graph, [''P''(''x'') − ''f''(''x'')] − [''Q''(''x'') − ''f''(''x'')] must alternate in sign for the ''N'' + 2 values of ''x<sub>i</sub>''. But [''P''(''x'') − ''f''(''x'')] − [''Q''(''x'') − ''f''(''x'')] reduces to ''P''(''x'') − ''Q''(''x'') which is a polynomial of degree ''N''. This function changes sign at least ''N''+1 times so, by the [[Intermediate value theorem]], it has ''N''+1 zeroes, which is impossible for a polynomial of degree ''N''. ==Chebyshev approximation== One can obtain polynomials very close to the optimal one by expanding the given function in terms of [[Chebyshev polynomials]] and then cutting off the expansion at the desired degree. This is similar to the [[Harmonic analysis|Fourier 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: :<math>f(x) \sim \sum_{i=0}^\infty c_i T_i(x)</math> and then cuts off the series after the <math>T_N</math> term, one gets an ''N''<span style="padding-left:0.1em;">th</span>-degree polynomial approximating ''f''(''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 <math>T_N</math>, the error will take a form close to a multiple of <math>T_{N+1}</math>. The Chebyshev polynomials have the property that they are level – they oscillate between +1 and −1 in the interval [−1, 1]. <math>T_{N+1}</math> has ''N''+2 level extrema. This means that the error between ''f''(''x'') and its Chebyshev expansion out to <math>T_N</math> is close to a level function with ''N''+2 extrema, so it is close to the optimal ''N''<span style="padding-left:0.1em;">th</span>-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 for [[Clenshaw–Curtis quadrature]], a [[numerical integration]] technique. ==Remez's algorithm== The [[Remez algorithm]] (sometimes spelled Remes) is used to produce an optimal polynomial ''P''(''x'') approximating a given function ''f''(''x'') over a given interval. It is an iterative algorithm that converges to a polynomial that has an error function with ''N''+2 level extrema. By the theorem above, that polynomial is optimal. Remez's algorithm uses the fact that one can construct an ''N''<span style="padding-left:0.1em;">th</span>-degree polynomial that leads to level and alternating error values, given ''N''+2 test points. Given ''N''+2 test points <math>x_1</math>, <math>x_2</math>, ... <math>x_{N+2}</math> (where <math>x_1</math> and <math>x_{N+2}</math> are presumably the end points of the interval of approximation), these equations need to be solved: :<math>\begin{align} P(x_1) - f(x_1) &= +\varepsilon \\ P(x_2) - f(x_2) &= -\varepsilon \\ P(x_3) - f(x_3) &= +\varepsilon \\ &\ \ \vdots \\ P(x_{N+2}) - f(x_{N+2}) &= \pm\varepsilon. \end{align}</math> The right-hand sides alternate in sign. That is, :<math>\begin{align} P_0 + P_1 x_1 + P_2 x_1^2 + P_3 x_1^3 + \dots + P_N x_1^N - f(x_1) &= +\varepsilon \\ P_0 + P_1 x_2 + P_2 x_2^2 + P_3 x_2^3 + \dots + P_N x_2^N - f(x_2) &= -\varepsilon \\ &\ \ \vdots \end{align}</math> Since <math>x_1</math>, ..., <math>x_{N+2}</math> were given, all of their powers are known, and <math>f(x_1)</math>, ..., <math>f(x_{N+2})</math> are also known. That means that the above equations are just ''N''+2 linear equations in the ''N''+2 variables <math>P_0</math>, <math>P_1</math>, ..., <math>P_N</math>, and <math>\varepsilon</math>. Given the test points <math>x_1</math>, ..., <math>x_{N+2}</math>, one can solve this system to get the polynomial ''P'' and the number <math>\varepsilon</math>. The graph below shows an example of this, producing a fourth-degree polynomial approximating <math>e^x</math> 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 <math>\varepsilon</math> is 4.43 × 10<sup>−4</sup> [[Image:Remesdemo.png|thumb|center|300px|Error of the polynomial produced by the first step of Remez's algorithm, approximating e<sup>x</sup> over the interval [−1, 1]. Vertical divisions are 10<sup>−4</sup>.]] The error graph does indeed take on the values <math>\pm \varepsilon</math> 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 function ''P''(''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 of [[Newton's method]]. Since one knows the first and second derivatives of {{nowrap|''P''(''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 of ''f''(''x''). Remez's algorithm requires an ability to calculate <math>f(x)\,</math>, <math>f'(x)\,</math>, and <math>f''(x)\,</math> 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 <math>10^{-15}</math> of the correct result, they will be approximately within <math>10^{-30}</math> of the correct result after the next round. Remez's algorithm is typically started by choosing the extrema of the Chebyshev polynomial <math>T_{N+1}</math> as the initial points, since the final error function will be similar to that polynomial. ==Main journals== * ''[[Journal of Approximation Theory]]'' * ''[[Constructive Approximation]]'' * ''[[East Journal on Approximations]]'' ==See also== {{cols}} *[[Estimation theory]] *[[Fourier series]] *[[Function approximation]] *[[Numerical analysis]] *[[Orthonormal basis]] *[[Padé approximant]] *[[Schauder basis]] *[[Kalman filter]] {{colend}} ==References== *{{cite book |author-link=Naum Akhiezer |first=N.I. |last=Achiezer (Akhiezer) |title=Theory of approximation |translator-first=C.J. |translator-last=Hyman |publisher=Dover |orig-year=1956 |date=2013 |isbn=978-0-486-15313-1 |oclc=1067500225 |pages= |url={{GBurl|J9wiuIJhM6cC|pg=PR7}} }} *{{cite book |first=A.F. |last=Timan |title=Theory of approximation of functions of a real variable |orig-year=1963 |publisher=Elsevier |volume=34 |series=International Series in Pure and Applied Mathematics |date=2014 |isbn=978-1-4831-8481-4 |pages= |url={{GBurl|D4TiBQAAQBAJ|pg=PR5}} }} *{{cite book |first=C. |last=Hastings, Jr. |title=Approximations for Digital Computers |publisher=Princeton University Press |orig-year=1955 |date=2015 |isbn=978-1-4008-7559-7 |pages= |url={{GBurl|IRTWCgAAQBAJ|pg=PR7}} }} *{{cite book |first1=J.F. |last1=Hart |author2-link=Elliott Ward Cheney Jr. |first2=E.W. |last2=Cheney |first3=C.L. |last3=Lawson |first4=H.J. |last4=Maehly |first5=C.K. |last5=Mesztenyi |author6-link=John R. Rice (professor) |first6=J.R. |last6=Rice, Jr. |first7=H.C. |last7=Thacher |first8=C. |last8=Witzgall |title=Computer Approximations |publisher=Wiley |date=1968 |oclc=0471356301 }} *{{cite book |first1=L. |last1=Fox |first2=I.B. |last2=Parker |title=Chebyshev Polynomials in Numerical Analysis |publisher=Oxford University Press |series=Oxford mathematical handbooks |date=1968 |isbn=978-0-19-859614-1 |oclc=9036207 }} *{{cite book | last1=Press | first1=WH | author1-link=William H. Press | last2=Teukolsky | first2=S.A. | author2-link=Saul Teukolsky | last3=Vetterling | first3=W.T. | last4=Flannery | first4=B.P. | author4-link=Brian P. Flannery | year=2007 | title=Numerical Recipes: The Art of Scientific Computing | edition=3rd | publisher=Cambridge University Press | isbn=978-0-521-88068-8 | chapter=§5.8 Chebyshev Approximation }} *{{cite book |first1=W.J. |last1=Cody, Jr. |first2=W. |last2=Waite |title=Software Manual for the Elementary Functions |publisher=Prentice-Hall |date=1980 |isbn=0-13-822064-6 |oclc=654695035 }} *{{cite journal |author-link=Evgeny Yakovlevich Remez |first=E. |last=Remes (Remez) |title=Sur le calcul effectif des polynomes d'approximation de Tschebyschef |journal=C. R. Acad. Sci. |volume=199 |issue= |pages=337–340 |language=fr |date=1934 |url=https://gallica.bnf.fr/ark:/12148/bpt6k3151h/f337.item}} *{{cite book |first=K.-G. |last=Steffens |editor-first1=George A. |editor-last1=Anastassiou |title=The History of Approximation Theory: From Euler to Bernstein |publisher=Birkhauser |date=2006 |isbn=0-8176-4353-2 |doi=10.1007/0-8176-4475-X}} *{{cite journal |author-link=Tamas Erdelyi (mathematician) |first=T. |last=Erdélyi |title=Extensions of the Bloch-Pólya theorem on the number of distinct real zeros of polynomials |journal=Journal de théorie des nombres de Bordeaux |volume=20 |issue= |pages=281–7 |date=2008 | doi=10.5802/jtnb.627 | doi-access=free }} *{{cite journal |author-link=Tamas Erdelyi (mathematician) |first=T. |last=Erdélyi |title=The Remez inequality for linear combinations of shifted Gaussians |journal=[[Mathematical Proceedings of the Cambridge Philosophical Society]] |volume=146 |issue= 3|pages=523–530 |date=2009 |doi=10.1017/S0305004108001849 |doi-broken-date=February 25, 2025 |url=}} *{{cite book |author-link=Nick Trefethen |first=L.N. |last=Trefethen |title=Approximation theory and approximation practice |publisher=SIAM |date=2020 |isbn=978-1-61197-594-9 |url={{GBurl|xsnBDwAAQBAJ|pg=PR7}} }} [http://people.maths.ox.ac.uk/trefethen/ATAP/ATAPfirst6chapters.pdf Ch. 1–6 of 2013 edition] ==External links== *[https://history-of-approximation-theory.com/ History of Approximation Theory (HAT)] *[http://www.emis.de/journals/SAT/ Surveys in Approximation Theory (SAT)] {{Industrial and applied mathematics}} {{Authority control}} [[Category:Approximation theory| ]] [[Category:Numerical analysis]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Authority control
(
edit
)
Template:Cite book
(
edit
)
Template:Cite journal
(
edit
)
Template:Colend
(
edit
)
Template:Cols
(
edit
)
Template:Industrial and applied mathematics
(
edit
)
Template:Nowrap
(
edit
)
Template:Short description
(
edit
)
Template:Use American English
(
edit
)
Template:Use mdy dates
(
edit
)