Functional Analysis – Introduction. Part II

In a previous post we discussed some of the history of functional analysis and we also said some vague things about its role in mathematics. In this second part of the introduction we will see an example of the spirit of functional analysis in action, by taking a close look at the Stone-Weierstrass approximation theorem.

1. The Weierstrass approximation theorem

In 1885 Karl Weierstrass proved the following theorem:

Weierstrass Theorem: Let $f : [a,b] \rightarrow \mathbb{R}$ be a continuous function. Then for every $\epsilon > 0$ there exists a polynomial $p$ (with real coefficients) such that for all $x \in [a,b]$,

$|p(x) - f(x)|< \epsilon .$

The theorem can be phrased differently, by saying that the polynomials are dense in the space of continuous functions with respect to the topology of uniform convergence. I think that this is a remarkable theorem. You see, only thirteen years before Weierstrass proved this theorem he broke the news that continuous functions can be much crazier then anyone ever thought, by constructing his famous Weierstrass function – a continuous function that is nowhere differentiable. But now, in 1885, Weierstrass actually showed that for many purposes, in practice (well, at least theoretically), continuous functions could be taken to be polynomials. We will see the usefulness of this theorem, directly and indirectly, at least at two points in the lectures.

2. The Stone-Weierstrass theorem – real version

Given a topological space $X$, the question whether or not a family of functions can approximate uniformly to any given precision any continuous function on $X$ is interesting and important. In a few lectures, when we will study Fourier series, we will need to use the following theorem:

Theorem (trigonometric approximation theorem): Let $f: \mathbb{R}^d \rightarrow \mathbb{R}$ be a continuous, $\mathbb{Z}^d$-periodic function. Then for every $\epsilon > 0$ there exists a trigonometric polynomial $q$ such that for all $x \in \mathbb{R}^d$,

$|q(x) - f(x)|< \epsilon .$

Two explanations are in order. A  $\mathbb{Z}^d$-periodic function is a function $f$ such that $f(x+n) = f(x)$ for all $x \in \mathbb{R}^d$ and $n \in \mathbb{Z}^d$. A trigonometric polynomial is a function $q$ of the form

$q(x) = \sum_{n} a_n \cos(2 \pi n\cdot x) + b_n \sin(2 \pi n \cdot x) .$

(a finite sum). As it happens many times in mathematics, it turns out that the nicest way to obtain  this theorem is to a consider a vastly more general problem. The solution of this more general problem is the Stone-Weierstrass Theorem, which we shall presently state and prove. Before doing so let us describe the setting for this theorem.

Let $X$ be a compact Hausdorff space. We will denote by $C_\mathbb{R}(X)$ the space of continuous, real-valued functions on $X$, and by $C(X)$ the space of continuous, complex-valued functions on $X$. On both of these space we define the sup-norm of a function $f$ to be

$\|f\|_\infty = \sup_{x \in X}|f(x)| .$

The quantity $\|f-g\|_\infty$ is considered to be distance between the two functions $f$ and $g$. This distance makes both $C_\mathbb{R}(X)$ and $C(X)$ into complete metric spaces. Both these spaces are vector spaces over the appropriate field, in fact they are algebras, with the usual operations of pointwise addition and multiplication. If $A$ is a subspace of $C_\mathbb{R}(X)$ or of $C(X)$ then it is said to be a subalgebra if for all $f,g \in A$, $fg$ is also in $A$. A subalgebra $A$ is said to separate points if for all $x,y \in X$ there exists some $f \in A$ such that $f(x) \neq f(y)$. A subalgebra is said to be closed if it is a closed subset with respect to the metric.

Stone-Weierstrass Theorem (real version): Let $A$ be a closed subalgebra of $C_\mathbb{R}(X)$ which contains the constant functions and separates points. Then $A = C_\mathbb{R}(X)$.

To obtain the theorem above regarding approximation using trigonometric polynomials, you first note that, due to standard trigonometric identities, the trigonometric polynmials form an algebra. Next, you think about and realize that the $\mathbb{Z}^d$-periodic functions on $\mathbb{R}^d$ can be identified with the continuous functions on the $d$-torus $\mathbb{T}^d = \mathbb{R}^d / \mathbb{Z}^d$. You then put $X = \mathbb{T}^d$, and take $A$ to be the norm closure of the trigonometric polynomials in $C_\mathbb{R}(X)$, noting that the norm closure of an algebra is an algebra. To apply the Stone-Weierstrass theorem it suffices now to show that the trigonometric polynomials separate points, and this is elementary. That concludes the proof of the theorem on approximation by trigonometric polynomials.

3. Proof of the Stone-Weierstrass Theorem

Let us isolate three lemmas before we reach the main argument of the proof.

Lemma 1: For every pair of distinct points $x,y \in X$, and every $a,b \in \mathbb{R}$, there exists a function $g \in A$ such that $g(x) = a$ and $g(y) = b$.

Proof: Exercise.

Lemma 2: If $f \in A$ then the function $|f|$ is also in $A$.

Here $|f|$ denotes the function that sends every $x \in X$ to $|f(x)|$.

Proof: Let $\epsilon > 0$ be given. We will find a function $g \in A$ such that $\|g- |f|\|_\infty < \epsilon$. Since $A$ is closed and since $\epsilon$ is arbitrary, this will show that $|f| \in A$.

Let $I = [-\|f\|_\infty, \|f\|]$. By the Weierstrass Theorem there exists a polynomials $p$ such that $\sup_{t \in I} |p(t) - |t|| < \epsilon$. Put $g = p \circ f$. Since $A$ is an algebra and $p$ is a polynomial, $g \in A$. Thus

$\|g-|f|\|_\infty = \sup_{x \in X} |p(f(x)) - |f(x)|| \leq \sup_{t \in I} |p(t) - |t|| < \epsilon$

as required.

Lemma 3: If $f,g \in A$, then the functions $f \wedge g$ and $f \vee g$ are also in $A$.

Here  $f \wedge g$ denotes the function that sends every $x \in X$ to $\min\{f(x),g(x)\}$, and $f \vee g$ denotes the function that sends every $x \in X$ to $\max\{f(x),g(x)\}$.

Proof: This follows immediately from Lemma 2 together with the formulas $a \wedge b = \frac{a+b-|a-b|}{2}$ and $a \vee b = \frac{a+b+|a-b|}{2}$, which hold true for all real $a$ and $b$.

Completion of the proof of the Stone-Weierstrass Theorem. Let $f \in C_\mathbb{R}(X)$. We must show that $f \in A$. It suffices, for every $\epsilon >0$,  to find $h \in A$ such that $\|f-h\|_\infty < \epsilon$.

We start by constructing, for every $x,y \in X$, a function $f_{x,y} \in A$ such that $f_{xy}(x) = f(x)$ and $f_{xy}(y) = f(y)$. This is possible thanks to Lemma 1.

Next we produce, for every $x \in X$, a function $g_x \in A$ such that $g_x(x) = f(x)$ and $g_x(y) < f(y) + \epsilon$ for all $y \in X$. This is done as follows. For every $y \in X$, let $U_y$ be a neighborhood of $y$ in which $f_{xy} < f + \epsilon$. The compactness of $X$ ensures that there are finitely many of these neighborhoods, say $U_{y_1}, \ldots, U_{y_m}$, that cover $X$. Then $g_x = f_{xy_1} \wedge \ldots \wedge f_{xy_m}$ (which is in $A$, thanks to Lemma 3) does the job.

Finally, we find $h \in A$ such that $|h(x)-f(x)| < \epsilon$ for all $x \in X$. For every $x \in X$ let $V_x$ be a neighborhood of $x$ where $g_x > f - \epsilon$. Again we find a finite cover $V_{x_1}, \ldots, V_{x_n}$ and then define $h = g_{x_1} \vee \ldots \vee g_{x_n}$. This function lies between $f + \epsilon$ and $f - \epsilon$, so it satisfies $|h(x)-f(x)| < \epsilon$ for all $x \in X$, and the proof is complete.

Remark: In the proof, we never used the assumption that $X$ is Hausdorff. But from the way the theorem is stated it seems like it only expects to be invoked in the compact Hausdorff case. Can you figure out why the theorem is stated with this assumption?

4. The Stone-Weierstrass theorem – complex version

Often, one finds it more convenient to study or to use the algebra $C(X)$ of complex valued functions. It turns out that it is much harder for a sub-algebra of functions to be dense in $C(X)$. Consider for example $A(\mathbb{D})$ which is defined to be the closure of polynomials in $C(\overline{\mathbb{D}})$ (here $\mathbb{D}$ denotes the open unit disc in $\mathbb{C}$, and $\overline{\mathbb{D}}$ denotes its closure). Certainly, $A(\mathbb{D})$ is a complex algebra which contains the constants and separates points. However, every element of $A(\mathbb{D})$ is holomorphic in $\mathbb{D}$, so this algebra is quite far from being the entire algebra $C(\overline{\mathbb{D}})$. To make the Stone-Weierstrass Theorem work in the complex valued case one needs to add another assumption, which is very simple, but turns out to be deeper than it seems at first.

Definition: A subspace $S \subseteq C(X)$ is said to be self-adjoint if for every $f \in S$, the complex conjugate $\overline{f}$ is also in $S$.

Stone-Weierstrass Theorem (complex version): Let $A$ be a closed and self-adjoint subalgebra of $C(X)$ which contains the constant functions and separates points. Then $A = C(X)$.

Proof: From the assumptions that $A$ is a subspace that separates points it follows that $\textrm{Re}A$, the space of all functions of the form $\textrm{Re}f$, $f \in A$, is a real subspace that separates points. From the self-adjointness assumption it follows that $\textrm{Re}A \subseteq A$, and from closedness of $A$ is follows now that $\textrm{Re}A$ is closed. Thus $\textrm{Re}A$ is a closed real algebra that contains the constants and separates points. By the (real) Stone-Weierstrass Theorem, $\textrm{Re}A = C_\mathbb{R}(X)$. It follows that every real valued continuous function on $X$ is in $A$. Symmetrically, every imaginary valued continuous function on $X$ is in $A$, so $C(X) = A$.

5. Concluding remarks

The Stone-Weierstrass Theorem and the way that we have applied it up serve as a baby example of functional analysis at work. We had a concrete approximation problem, which was solved, as it happens often in mathematics, by considering a vastly more general approximation problem. Considering a more general problem serves two purposes. First, after we have proved the result we have a ready-to-use tool that will be applicable in many situations. Second, by generalizing the problem we strip it away of the irrelevant details (for examples the particular nature of the functions we are trying to approximate with or the particular nature of the space on which they live) and we are left with the essence of the problem. Sometimes this leads to a very elegant proof (like above), and sometimes not.

To prove the theorem it was convenient to employ the language of functional analysis, namely, to introduce a norm and to consider the problem inside an algebra which is also a metric space. It was convenient to consider a closed algebra $A$, even though there was no closed algebra in the original problem (the trigonometric approximation theorem), and even though this closed algebra turned out to be the entire space of continuous functions. The student might wish to review the proof to see how this streamlined the argument.

Note that we did not obtain a new and “abstract” proof of the Weierstrass Theorem – in fact, the Weierstrass Theorem was used in the proof of the Stone-Weierstrass Theorem. This is not at all surprising, as it is an instance of the following guiding principle that I have come to believe in (please take this with a grain of salt):

There is no analysis without hard analysis.

What I mean by this is that you will never get an interesting theorem of substance, which applies to concrete cases in analysis, that does not involve some kind of hard analysis, some epsilonaustics, some sweat. In our example, the hard analysis comes in the proof of the Weierstrass Theorem. The Stone-Weierstrass Theorem, which has a very soft proof, then spares us the use of hard techniques when it gives us the trigonometric approximation theorem for free. But the hard analysis cannot be eliminated entirely.

I know of a different proof of the Stone-Weierstrass Theorem that does not use the Weierstrass Theorem, which relies on the Hahn-Banach and Krein-Milman theorems, but that proof uses the structure of the dual of $C(X)$, and that I consider another bit of hard analysis.

When we moved from the setting of the trigonometric approximation theorem to the setting of the Stone-Weierstrass Theorem we abstracted away the topological space on which the functions live, and we only cared that we have continuous functions on some compact space. In the next lecture, and in most of the rest of the course, we will abstract away everything, and we will consider abstract spaces satisfying certain axioms, and we will not care usually what the points of these spaces are.

We will begin with Hilbert spaces.