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.