<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="http://www.w3.org/Math/XSL/mathml.xsl"?>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:m="http://www.w3.org/1998/Math/MathML">

<head>
<title>The Weierstrass Approximation Theorem</title>
<meta name="Author" content="Robert Mayans" />
<meta name="Keywords" content="numerical analysis, Chebyshev polynomial, Runge phenomenon, exponential fileter" />
<link rel="icon" href="../../MAA.png" type="image/png" />
<link rel="shortcut icon" href="../../MAA.png" type="image/png" />
<link rel="stylesheet" href="../../styles.css" type="text/css" />
<script src="scripts.js" type="text/javascript"></script>
</head>


<body>

<p class="header">
<a href="http://www.joma.org">The Journal of Online Mathematics and Its Applications</a>, Volume 6 (2006)<br />
<a href="Contents.xml">The Chebyshev Equioscillation Theorem</a>, Robert Mayans</p>

<h2>2. The Weierstrass Approximation Theorem</h2>

<hr />

<p> Throughout this article, <var>f</var> will be a continuous real-valued function on an interval <m:math><m:mrow><m:mo stretchy='false'>[</m:mo><m:mi>a</m:mi><m:mo>,</m:mo><m:mi>b</m:mi><m:mo stretchy='false'>]</m:mo></m:mrow></m:math>
, and <var>p</var> will be a real polynomial that approximates <var>f</var> on <m:math><m:mrow><m:mo stretchy='false'>[</m:mo><m:mi>a</m:mi><m:mo>,</m:mo><m:mi>b</m:mi><m:mo stretchy='false'>]</m:mo></m:mrow></m:math>
.</p>

<p> The first step is to show that polynomial approximations exist to arbitrary accuracy. This is the conclusion of the famous Weierstrass approximation theorem, named for Karl Weierstrass.</p>

<div id="theorem">
<h4><a name="Theorem1">Theorem 1</a> (Weierstrass)</h4>

<p>Let <var>f</var> be a continuous real-valued function on the closed interval <m:math><m:mrow><m:mo stretchy='false'>[</m:mo><m:mi>a</m:mi><m:mo>,</m:mo><m:mi>b</m:mi><m:mo stretchy='false'>]</m:mo></m:mrow></m:math>
. Then there is a sequence of real polynomials <m:math><m:mrow><m:msubsup><m:mi>p</m:mi><m:mn>1</m:mn><m:mrow></m:mrow></m:msubsup><m:mo>,</m:mo><m:msubsup><m:mi>p</m:mi><m:mn>2</m:mn><m:mrow></m:mrow></m:msubsup><m:mo>,</m:mo><m:mo>&#x2026;</m:mo></m:mrow></m:math>
 that converge uniformly to <var>f</var>.</p>
</div>

<p>The proof of the Weierstrass theorem by Sergi Bernstein is constructive: it defines explicitly a sequence of polynomials that converge to <var>f</var>. Suppose that <var>f</var> is a continuous real-valued function defined on <m:math><m:mrow><m:mo stretchy='false'>[</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mn>1</m:mn><m:mo stretchy='false'>]</m:mo></m:mrow></m:math>
 (there is no loss of generality in restricting the interval in this way).  Define the <dfn>Bernstein polynomials</dfn> on <var>f</var> by: </p>

<p class="math"><m:math><m:mrow><m:msubsup><m:mi>B</m:mi><m:mi>n</m:mi><m:mrow></m:mrow></m:msubsup><m:mo stretchy='false'>(</m:mo><m:mi>f</m:mi><m:mo>;</m:mo><m:mi>x</m:mi><m:mo stretchy='false'>)</m:mo><m:mo>=</m:mo><m:munderover><m:mo>&#x2211;</m:mo><m:mrow><m:mi>k</m:mi><m:mo>=</m:mo><m:mn>0</m:mn></m:mrow><m:mi>n</m:mi></m:munderover><m:mi>f</m:mi><m:mo stretchy='false'>(</m:mo><m:mi>k</m:mi><m:mo>/</m:mo><m:mi>n</m:mi><m:mo stretchy='false'>)</m:mo><m:mrow><m:mo>(</m:mo><m:mfrac linethickness='0'><m:mrow><m:mi>n</m:mi></m:mrow><m:mrow><m:mi>k</m:mi></m:mrow></m:mfrac><m:mo>)</m:mo></m:mrow><m:msubsup><m:mi>x</m:mi><m:mrow></m:mrow><m:mi>k</m:mi></m:msubsup><m:mo stretchy='false'>(</m:mo><m:mn>1</m:mn><m:mo>-</m:mo><m:mi>x</m:mi><m:msubsup><m:mo stretchy='false'>)</m:mo><m:mrow></m:mrow><m:mrow><m:mi>n</m:mi><m:mo>-</m:mo><m:mi>k</m:mi></m:mrow></m:msubsup></m:mrow></m:math>
</p>

<div id="theorem">
<h4><a name="Theorem2">Theorem 2</a> (Bernstein) </h4>

<p>The Bernstein polynomials <m:math><m:mrow><m:msubsup><m:mi>B</m:mi><m:mi>n</m:mi><m:mrow></m:mrow></m:msubsup><m:mo stretchy='false'>(</m:mo><m:mi>f</m:mi><m:mo>;</m:mo><m:mi>x</m:mi><m:mo stretchy='false'>)</m:mo></m:mrow></m:math>
 converge uniformly to <var>f</var> on <m:math><m:mrow><m:mo stretchy='false'>[</m:mo><m:mn>0</m:mn><m:mo>,</m:mo><m:mn>1</m:mn><m:mo stretchy='false'>]</m:mo></m:mrow></m:math>
.</p>
</div>

<p>For more information, see the following articles in <a href="http://en.wikipedia.org/wiki/" class="external" title="Open external site in a new window" target="_blank">Wikipedia</a>:</p>

<ul>
	<li><a href="http://en.wikipedia.org/wiki/Stone-Weierstrass_theorem" class="external" title="Open external site in a new window" target="_blank">Weierstrass theorem</a></li>
	<li><a href="http://en.wikipedia.org/wiki/Weierstrass" class="external" title="Open external site in a new window" target="_blank">Karl Weierstrass</a></li>
	<li><a href="http://en.wikipedia.org/wiki/Bernstein_Polynomial" class="external" title="Open external site in a new window" target="_blank">Bernstein polynomials</a></li>
	<li><a href="http://en.wikipedia.org/wiki/Sergei_Natanovich_Bernstein" class="external" title="Open external site in a new window" target="_blank">Sergi Bernstein</a></li>
</ul>

<p>and see the following articles in <a href="http://mathworld.wolfram.com/" class="external" title="Open external site in a new window" target="_blank">MathWorld</a>:</p>

<ul>
	<li><a href="http://mathworld.wolfram.com/WeierstrassApproximationTheorem.html" class="external" title="Open external site in a new window" target="_blank">Weierstrass approximation theorem</a></li>
	<li><a href="http://mathworld.wolfram.com/BernsteinPolynomial.html" class="external" title="Open external site in a new window" target="_blank">Bernstein polynomials</a></li>
</ul>

<p>Proofs of both theorems may also be found in most books on numerical analysis or approximation theory, for example, <a href="Notes.xml#Isaacson">Isaacson and Keller (1994)</a>, <a href="Notes.xml#Rivlin">Rivlin (1969)</a>, and <a href="Notes.xml#Timan">Timan (1994)</a>.</p>

<p> The following applet shows the progress of successive Bernstein polynomials in approximating a continuous function.  You may select one of the three predefined functions, or you may sketch a function by dragging the mouse from left to right over the plotting region. The applet constructs a piecewise linear function from the pixels selected.  Press <strong>Start</strong> to plot the Bernstein polynomial of degree 1.  The <strong>Next 1</strong> and <strong>Next 10</strong> buttons increase the degree by 1 or by 10, up to a maximum degree of 500.</p>

<p class="mathlet">
<applet code="BernApplet.class" archive="Chebyshev.jar" width="640" height="400">
Your browser does not support Java applets.
</applet>
</p>

<p> As you can see by trying out the applet, the Bernstein polynomials
provide high-quality approximations, but they converge very slowly to their target function.  To find good polynomial approximations of smaller degree, we look to other methods.  In particular, we look to see how well we can approximate a function with a polynomial of fixed degree. </p>

<hr />

<p class="footer">
<a href="Contents.xml" class="main">Contents</a> | <a href="Introduction.xml" class="main" title="Introduction">Previous</a> | <a href="Best.xml" class="main" title="The polynomial of best approximation">Next</a></p>


</body>
</html>


