Skip to main content
Logo image

A First Course in Complex Analysis

Section 7.3 Sequences and Series of Functions

The fun starts when we study sequences of functions.

Definition 7.3.1.

Let \(G \subseteq \C\) and \(f_n : G \to \C\) for \(n \ge 1\text{.}\) We say that \((f_n)\) converges pointwise to \(f: G \to \C\) if for each \(z \in G\text{,}\)
\begin{equation*} \lim_{ n \to \infty } f_n(z) \ = \ f(z) \,\text{.} \end{equation*}
We say that \((f_n)\) converges uniformly to \(f: G \to \C\) if for all \(\epsilon>0\) there is an \(N\) such that for all \(z \in G\) and for all \(n \geq N\)
\begin{equation*} \left| f_n(z) - f(z) \right| \ \lt \ \epsilon\,\text{.} \end{equation*}
Sometimes we want to express that either notion of convergence holds only on a subset \(H\) of \(G\text{,}\) in which case we say that \((f_n)\) converges pointwise/uniformly on \(H\text{.}\)
It should be clear that uniform convergence on a set implies pointwise convergence on that set; but the converse is not generally true.
Let’s digest these two notions of convergence of a function sequence by describing them using quantifiers; as usual, \(\forall\) denotes for all and \(\exists\) means there exists. Pointwise convergence on \(G\) says
\begin{equation*} \forall \, \epsilon > 0 \ \ \forall \, z \in G \ \ \exists \, N \ \ \forall \, n \geq N \ \ \left| f_n(z) - f(z) \right| \ \lt \ \epsilon \, \text{,} \end{equation*}
whereas uniform convergence on \(G\) translates into
\begin{equation*} \forall \, \epsilon > 0 \ \ \exists \, N \ \ \forall \, z \in G \ \ \forall \, n \geq N \ \ \left| f_n(z) - f(z) \right| \ \lt \ \epsilon \, \text{.} \end{equation*}
No big deal — we only exchanged two of the quantifiers. In the first case, \(N\) may well depend on \(z\text{,}\) in the second case we need to find an \(N\) that works for all \(z \in G\text{.}\) And this can make all the difference …

Example 7.3.2.

Let \(f_n : D[0,1] \to \C\) be defined by \(f_n(z) = z^n\text{.}\) We claim that this sequence of functions converges pointwise to \(f: D[0,1] \to \C\) given by \(f(z) = 0\text{.}\) This is immediate for the point \(z =0\text{.}\) Now given any \(\epsilon > 0\) and \(0 \lt |z| \lt 1\text{,}\) choose \(N > \frac{ \ln(\epsilon) }{ \ln|z| }\text{.}\) Then for all \(n \ge N\text{,}\)
\begin{equation*} \left| f_n(z) - f(z) \right| \ = \ \left| z^n - 0 \right| \ = \ |z|^n \ \le \ |z|^N \ \lt \ \epsilon \, \text{.} \end{equation*}
(You ought to check carefully that all of our inequalities work the way we claim they do.)

Example 7.3.3.

Let \(f_n : D[0, \frac 1 2] \to \C\) be defined by \(f_n(z) = z^n\text{.}\) We claim that this sequence of functions converges uniformly to \(f: D[0, \frac 1 2] \to \C\) given by \(f(z) = 0\text{.}\) Given any \(\epsilon > 0\) and \(|z| \lt \frac 1 2\text{,}\) choose \(N > - \frac{ \ln(\epsilon) }{ \ln(2) }\text{.}\) Then for all \(n \ge N\text{,}\)
\begin{equation*} \left| f_n(z) - f(z) \right| \ = \ |z|^n \ \le \ |z|^N \ \lt \ \left( \tfrac 1 2 \right)^N \ \lt \ \epsilon \, \text{.} \end{equation*}
(Again, you should carefully check our inequalities.)
The differences between Example 7.3.2 and Example 7.3.3 are subtle, and we suggest you meditate over them for a while with a good cup of coffee. You might already suspect that the function sequence in Example 7.3.2 does not converge uniformly, as we will see in a moment.
The first application illustrating the difference between pointwise and uniform convergence says, in essence, that if we have a sequence of functions \(\left( f_n \right)\) that converges uniformly on \(G\) then for all \(z_0 \in G\)
\begin{equation*} \lim_{n \to \infty} \ \lim_{z \to z_0} f_n(z) \ = \ \lim_{z \to z_0} \ \lim_{n \to \infty} f_n(z) \, \text{.} \end{equation*}
We will need similar interchanges of limits frequently.

Proof.

Let \(z_0 \in G\text{;}\) we will prove that \(f\) is continuous at \(z_0\text{.}\) By uniform convergence, given \(\epsilon>0\text{,}\) there is an \(N\) such that for all \(z \in G\) and all \(n \geq N\)
\begin{equation*} \left| f_n(z) - f(z) \right| \ \lt \ \frac \epsilon 3 \,\text{.} \end{equation*}
Now we make use of the continuity of the \(f_n\)’s. This means that given (the same) \(\epsilon>0\text{,}\) there is a \(\delta>0\) such that whenever \(|z-z_0| \lt \delta\text{,}\)
\begin{equation*} \left| f_n(z) - f_n(z_0) \right| \ \lt \ \frac \epsilon 3 \,\text{.} \end{equation*}
All that’s left is putting those two inequalities together: by the triangle inequality (Corollary 1.3.5 c)),
\begin{align*} \left| f(z) - f(z_0) \right| \ \amp = \ \left| f(z) - f_n(z) + f_n(z) - f_n(z_0) + f_n(z_0) - f(z_0) \right|\\ \amp \leq \ \left| f(z) - f_n(z) \right| + \left| f_n(z) - f_n(z_0) \right| + \left| f_n(z_0) - f(z_0) \right|\\ \amp \lt \ \epsilon \, \text{.} \end{align*}
This proves that \(f\) is continuous at \(z_0\text{.}\)
Proposition 7.3.4 can sometimes give a hint that a function sequence does not converge uniformly.

Example 7.3.5.

We modify Example 7.3.2 and consider the real function sequence \(f_n: [0,1] \to \R\) given by \(f_n(x) = x^n\text{.}\) It converges pointwise to \(f: [0,1] \to \R\) given by
\begin{equation*} f(x) = \begin{cases}0 \amp \text{ if } 0 \le x \lt 1 \, , \\ 1 \amp \text{ if } x = 1 \, . \end{cases} \end{equation*}
As this limiting function is not continuous, the above convergence cannot be uniform. This gives a strong indication that the convergence in Example 7.3.2 is not uniform either, though this needs a separate proof, as the domain of the functions in Example 7.3.2 is the unit disk (Exercise 7.5.20(b)).
Now that we have established Proposition 7.3.4 about continuity, we can ask about integration of sequences or series of functions. The next theorem should come as no surprise; however, its consequences (which we will see shortly) are wide ranging.

Proof.

We may assume that \(\gg\) is not just a point, in which case the proposition holds trivially. Given \(\epsilon > 0\text{,}\) there exists \(N\) such that for all \(z \in G\) and all \(n \ge N\text{,}\)
\begin{equation*} \left| f_n(z) - f(z) \right| \ \lt \ \frac{ \epsilon }{ \length(\gg) } \, \text{.} \end{equation*}
With Proposition 4.1.8(d) we can thus estimate
\begin{equation*} \left| \int_\gamma f_n - \int_\gamma f \right| \ = \ \left| \int_\gamma f_n - f \right| \ \leq \ \max_{z \in \gamma} \left| f_n(z) - f(z) \right| \cdot \length (\gamma) \ \lt \ \epsilon \, \text{.} \end{equation*}
All of these notions for sequences of functions hold verbatim for series of functions. For example, if \(\sum_{ k \ge 1 } f_k(z)\) converges uniformly on \(G\) and \(\gg \subseteq G\) is a piecewise smooth path, then
\begin{equation*} \int_\gg \sum_{ k \ge 1 } f_k(z) \, \diff{z} \ = \ \sum_{ k \ge 1 } \int_\gg f_k(z) \, \diff{z} \, \text{.} \end{equation*}
In some sense, the above identity is the reason we care about uniform convergence.
There are several criteria for uniform convergence; see, e.g., Exercise 7.5.19 and Exercise 7.5.20, and the following result, sometimes called the Weierstraß \(M\)-test.

Proof.

For each fixed \(z\text{,}\) the series \(\sum_{k \geq 1} f_k(z)\) converges absolutely by Corollary 7.2.6. To show that the convergence is uniform, let \(\epsilon > 0\text{.}\) Then there exists \(N\) such that for all \(n \ge N\text{,}\)
\begin{equation*} \sum_{k \ge 1} M_k - \sum_{k=1}^nM_k \ = \ \sum_{k >n}M_k \ \lt \ \epsilon \, \text{.} \end{equation*}
Thus for all \(z \in G\) and \(n \ge N\text{,}\)
\begin{equation*} \abs{\sum_{k \geq 1} f_k(z)-\sum_{k=1}^nf_k(z)} \ = \ \abs{\sum_{k >n}f_k(z)} \ \le \ \sum_{k >n}\abs{f_k(z)} \ \le \ \sum_{k >n}M_k \ \lt \ \epsilon \, \text{,} \end{equation*}
which proves uniform convergence. Replace \(f_k\) with \(\left|f_k\right|\) in this argument to see that \(\sum_{k \geq 1} \left|f_k\right|\) also converges uniformly.

Example 7.3.8.

We revisit Example 7.2.2 and consider the geometric series \(\sum_{ k \ge 1 } z^k\) as a series of functions in \(z\text{.}\) We know from Example 7.2.2 that this function series converges pointwise for \(|z| \lt 1\text{:}\)
\begin{equation*} \sum_{ k \ge 1 } z^k \ = \ \frac z {1-z} \,\text{.} \end{equation*}
To study uniform convergence, we apply Proposition 7.3.7 with \(f_k(z) = z^k\text{.}\) We need a series of upper bounds that converges, so fix a real number \(0 \lt r \lt 1\) and let \(M_k = r^k\text{.}\) Then
\begin{equation*} |f_k(z)| \ = \ |z|^k \ \le \ r^k \qquad \text{ for } \ |z| \le r \, \text{,} \end{equation*}
and \(\sum_{ k \ge 1 } r^k\) converges by Example 7.2.2. Thus, Proposition 7.3.7 says that \(\sum_{ k \ge 1 } z^k\) converges uniformly for \(|z| \le r\text{.}\)
We note the subtle distinction of domains for pointwise/uniform convergence: \(\sum_{ k \ge 1 } z^k\) converges (absolutely) for \(|z|\lt 1\text{,}\) but to force uniform convergence, we need to shrink the domain to \(|z| \le r\) for some (arbitrary but fixed) \(r\lt 1\text{.}\)