Difference between revisions of "Uniform convergence"

(asy code does nothing? Also, informal definition needed. Also, more examples would be nice.)
(+ asymptote)
 
Line 1: Line 1:
 
A [[sequence]] of [[function]]s <math>\{f_n\},\ f_n: X \to \mathbb{R}</math> is said to '''uniformly converge''' to a function <math>f: X \to \mathbb{R}</math> if for every positive real number <math>\varepsilon > 0</math>, then there exists <math>N</math> such that for all positive integers <math>n \ge N</math>, we have <math>|f_n(x) - f(x)| < \varepsilon</math>.  (More generally, we can replace <math>\mathbb{R}</math> with any [[metric space]] <math>Y</math>.)
 
A [[sequence]] of [[function]]s <math>\{f_n\},\ f_n: X \to \mathbb{R}</math> is said to '''uniformly converge''' to a function <math>f: X \to \mathbb{R}</math> if for every positive real number <math>\varepsilon > 0</math>, then there exists <math>N</math> such that for all positive integers <math>n \ge N</math>, we have <math>|f_n(x) - f(x)| < \varepsilon</math>.  (More generally, we can replace <math>\mathbb{R}</math> with any [[metric space]] <math>Y</math>.)
  
<!--<center><asy>
+
This is different from [[pointwise convergence]], where a sequence of functions converge pointwise if at every point in the domain, the functions converge. Uniform convergence is a stronger condition, because (speaking informally) the function has to converge at a similar rate everywhere on its [[domain]].
import graph;
 
function f(real r){ return r/(1 + 5 * r^2); }
 
graph(f,0,1); xaxis(); yaxis();
 
  
</asy></center>-->
+
<center><asy> size(150);
 +
import graph; real epsilon = 0.1; pen d = linewidth(0.7); defaultpen(d);
 +
  // implement [an apparently non-functional] version of Lagrange.
 +
real symproduct(real a, real x[]){
 +
real product = 1;
 +
for(int i = 0; i < x.length; ++i)
 +
  if(a != x[i]) 
 +
  product = product * (a - x[i]);
 +
return product;
 +
}
 +
 
 +
real baryweight(int i, real x[]){
 +
real product = 1;
 +
for(int j = 0; j < x.length; ++j)
 +
  if(j != i) 
 +
  product = product * (x[j] - x[i]);
 +
return 1/product;
 +
}
 +
 
 +
real lagrange(real a, real x[], real y[]){
 +
real sum = 0;
 +
for(int i = 0; i < x.length; ++i)
 +
  if(a != x[i])
 +
  sum = sum + baryweight(i,x)*y[i]/(a - x[i]);
 +
return symproduct(a, x) * sum;
 +
}
 +
 
 +
real func(real x){  // note there is a sign error. use odd # of points
 +
real LISTx[] = {-1.5, -0.5 , 0 ,0.4, 0.8, 1, 4};
 +
real LISTy[] = {-4, -0.5 ,  0.2 , 0.5, 0.35, 0.6, 1.2};
 +
return lagrange(x,LISTx,LISTy);
 +
}
 +
 
 +
real func_plus(real x) { return (func(x) + epsilon); }
 +
real func_minus(real x) { return (func(x) - epsilon); }
 +
 
 +
draw(graph(func,-0.00001,1.00001),linewidth(1.2));
 +
draw(graph(func_plus,-0.00001,1.00001),dashed+linewidth(0.7));
 +
draw(graph(func_minus,-0.00001,1.00001),dashed+linewidth(0.7));
 +
 
 +
  // convergents
 +
real func_conv1(real x) { return (func(x) + 1.5*epsilon*sin(12*x+pi/3)); }
 +
real func_conv2(real x) { return (func(x) + 0.9*epsilon*sin(12*x+pi/4)); }
 +
real func_conv3(real x) { return (func(x) + 0.5*epsilon*sin(12*x+pi/5)); }
 +
draw(graph(func_conv1,-0.00001,1.00001),red+d);
 +
draw(graph(func_conv2,-0.00001,1.00001),green+d);
 +
draw(graph(func_conv3,-0.00001,1.00001),blue+d);
 +
 
 +
  // draw axes
 +
Label f; f.p=fontsize(8);
 +
xaxis(0, 1, Ticks(f, 1, 1));
 +
yaxis(0, 1, Ticks(f, 1, 1));
 +
 
 +
pair a = (-0.1,func(0.00001));
 +
draw(a--a+(0,epsilon), Arrows(6));
 +
draw(a--a-(0,epsilon), Arrows(6));
 +
label("$\varepsilon$",a+(0,epsilon/2),W,f.p);
 +
label("$\varepsilon$",a-(0,epsilon/2),W,f.p);
 +
 
 +
</asy><br />If the functions <math>\color{red}{f_1}, \color{green}{f_2}, \color{blue}{f_3}, \color{black} \ldots</math> continue to approach <math>f</math> as shown, they converge uniformly.</center>
  
 
Every uniformly convergent sequence converges [[pointwise convergence | pointwise]], but the [[converse]] is not necessarily true.  For example, the sequence of functions defined by <math>f_n(x) = x^n</math> for <math>x \in [0, 1]</math> converges pointwise to the function <math>f(x) =\begin{cases} 1, & x = 1 \\0, & \text{otherwise}\end{cases}</math>, but this convergence is ''not'' uniform.
 
Every uniformly convergent sequence converges [[pointwise convergence | pointwise]], but the [[converse]] is not necessarily true.  For example, the sequence of functions defined by <math>f_n(x) = x^n</math> for <math>x \in [0, 1]</math> converges pointwise to the function <math>f(x) =\begin{cases} 1, & x = 1 \\0, & \text{otherwise}\end{cases}</math>, but this convergence is ''not'' uniform.
  
Uniformly convergent sequences have a number of nice properties that pointwise convergent sequences do not necessarily have.  A uniformly convergent sequence of [[continuous]] functions converges to a continuous function. A uniformly convergent sequence of differentiable functions defined on a [[closed set|closed interval]] converges to a differentiable function, and a sequence of [[Riemann-Stieltjes Integral|Stieltjes-integrable]] functions converges to a Stieltjes-integrable function.  
+
== Properties ==
 +
An equivalent definition is that if <math>\lim_{n \to \infty} f_n(x) = f(x)</math> for all <math>x \in X</math> and
 +
 
 +
<center><cmath>\lim_{n \to \infty} \sup_{x \in X} |f(x) - f_n(x)| = 0,</cmath></center>
 +
 
 +
then <math>\{f_n\}</math> converges uniformly.
 +
 
 +
Uniformly convergent sequences have a number of nice properties that pointwise convergent sequences do not necessarily have.  A uniformly convergent sequence of [[continuous]] functions converges to a continuous function. A uniformly convergent sequence of differentiable functions defined on a [[closed set|closed interval]] converges to a differentiable function, and a sequence of [[Riemann-Stieltjes Integral|Stieltjes-integrable]] functions converges to a Stieltjes-integrable function. It is possible to show by example that these properties do not have to hold for pointwise convergent functions.  
  
 
{{stub}}
 
{{stub}}
  
 
[[Category:Analysis]]
 
[[Category:Analysis]]

Latest revision as of 19:20, 3 March 2010

A sequence of functions $\{f_n\},\ f_n: X \to \mathbb{R}$ is said to uniformly converge to a function $f: X \to \mathbb{R}$ if for every positive real number $\varepsilon > 0$, then there exists $N$ such that for all positive integers $n \ge N$, we have $|f_n(x) - f(x)| < \varepsilon$. (More generally, we can replace $\mathbb{R}$ with any metric space $Y$.)

This is different from pointwise convergence, where a sequence of functions converge pointwise if at every point in the domain, the functions converge. Uniform convergence is a stronger condition, because (speaking informally) the function has to converge at a similar rate everywhere on its domain.

[asy] size(150); import graph; real epsilon = 0.1; pen d = linewidth(0.7); defaultpen(d);   // implement [an apparently non-functional] version of Lagrange.  real symproduct(real a, real x[]){  real product = 1;  for(int i = 0; i < x.length; ++i)   if(a != x[i])      product = product * (a - x[i]);  return product; }  real baryweight(int i, real x[]){  real product = 1;  for(int j = 0; j < x.length; ++j)   if(j != i)      product = product * (x[j] - x[i]);  return 1/product; }  real lagrange(real a, real x[], real y[]){   real sum = 0;  for(int i = 0; i < x.length; ++i)   if(a != x[i])    sum = sum + baryweight(i,x)*y[i]/(a - x[i]);  return symproduct(a, x) * sum;  }  real func(real x){   // note there is a sign error. use odd # of points  real LISTx[] = {-1.5, -0.5 , 0 ,0.4, 0.8, 1, 4};  real LISTy[] = {-4, -0.5 ,  0.2 , 0.5, 0.35, 0.6, 1.2};  return lagrange(x,LISTx,LISTy); }  real func_plus(real x) { return (func(x) + epsilon); } real func_minus(real x) { return (func(x) - epsilon); }  draw(graph(func,-0.00001,1.00001),linewidth(1.2));  draw(graph(func_plus,-0.00001,1.00001),dashed+linewidth(0.7));  draw(graph(func_minus,-0.00001,1.00001),dashed+linewidth(0.7));     // convergents  real func_conv1(real x) { return (func(x) + 1.5*epsilon*sin(12*x+pi/3)); } real func_conv2(real x) { return (func(x) + 0.9*epsilon*sin(12*x+pi/4)); } real func_conv3(real x) { return (func(x) + 0.5*epsilon*sin(12*x+pi/5)); } draw(graph(func_conv1,-0.00001,1.00001),red+d);  draw(graph(func_conv2,-0.00001,1.00001),green+d);  draw(graph(func_conv3,-0.00001,1.00001),blue+d);     // draw axes Label f; f.p=fontsize(8); xaxis(0, 1, Ticks(f, 1, 1)); yaxis(0, 1, Ticks(f, 1, 1));  pair a = (-0.1,func(0.00001)); draw(a--a+(0,epsilon), Arrows(6)); draw(a--a-(0,epsilon), Arrows(6)); label("$\varepsilon$",a+(0,epsilon/2),W,f.p); label("$\varepsilon$",a-(0,epsilon/2),W,f.p);  [/asy]
If the functions $\color{red}{f_1}, \color{green}{f_2}, \color{blue}{f_3}, \color{black} \ldots$ continue to approach $f$ as shown, they converge uniformly.

Every uniformly convergent sequence converges pointwise, but the converse is not necessarily true. For example, the sequence of functions defined by $f_n(x) = x^n$ for $x \in [0, 1]$ converges pointwise to the function $f(x) =\begin{cases} 1, & x = 1 \\0, & \text{otherwise}\end{cases}$, but this convergence is not uniform.

Properties

An equivalent definition is that if $\lim_{n \to \infty} f_n(x) = f(x)$ for all $x \in X$ and

\[\lim_{n \to \infty} \sup_{x \in X} |f(x) - f_n(x)| = 0,\]

then $\{f_n\}$ converges uniformly.

Uniformly convergent sequences have a number of nice properties that pointwise convergent sequences do not necessarily have. A uniformly convergent sequence of continuous functions converges to a continuous function. A uniformly convergent sequence of differentiable functions defined on a closed interval converges to a differentiable function, and a sequence of Stieltjes-integrable functions converges to a Stieltjes-integrable function. It is possible to show by example that these properties do not have to hold for pointwise convergent functions.

This article is a stub. Help us out by expanding it.