I took an introductory course on functional analysis. Let me tell you about it. (See also: descriptive set theory, forcing.)

Functional analysis is the study of infinite-dimensional vector spaces. These spaces are usually (always?) spaces of functions. For example, consider the sequence spaces \(\ell^p\) where \(1 \leq p < \infty\). They’re defined as follows: \[ \ell^p := \{ (x_n)_{n=1}^\infty : \| x \|_p := (\sum_{n=1}^\infty | x_n |^p)^\frac{1}{p} < \infty \} \]

Here \(\| x \|_p\) is the norm. You can also consider them spaces of functions of type \(\mathbb{N} \rightarrow \mathbb{K}\), where \(\mathbb{K}\) is the scalar field.

All the \(\ell^p\) spaces are complete. Thus they’re *Banach spaces*. Banach spaces, or complete normed vector spaces, are central to functional analysis because the functions in them are quite well-behaved. Consider the following results:

- Open mapping theorem: A mapping between Banach spaces is open iff it’s surjective.
- If \(M\) is a subspace of a Banach space \(E\) and \(f : M \rightarrow \mathbb{R}\) is a suitable linear function, Hahn-Banach theorem may allow you to extend it to the whole space \(E\).

What about the name? Functional analysis is not related to functional programming. A functional is a function from a vector space to its scalar field. Of course, in the case of function spaces it is a function of functions. Functionals often come up in functional analysis – for example the Hanh-Banach theorem above is about functionals.

Why do people care about functional analysis? A big reason is that it gives tools for studying partial differential equations. Unfortunately I’m not familiar enough with the matter to say how it helps, except that having well-behaved functions is always nice.