MATH-334 · Lesson 12 of 12 · 24 min

Capstone: conformal mapping and applications

We return at the end to the geometric picture of lesson 2, now armed with the full theory. An analytic function with non-zero derivative preserves angles, so it carries a grid of perpendicular lines to a grid of perpendicular curves. Such conformal maps let us transform a problem on a complicated region into one on a simple region, solve it there, and transform back. This capstone lesson develops the theory of conformal maps, studies the Möbius transformations in detail, states the Riemann mapping theorem, and applies everything to two classical physical problems: steady temperatures and electrostatic potentials, and the flow of air round a wing. It closes by drawing together the threads of the whole course.

Conformality

Let \(f\) be analytic at \(z_0\) with \(f'(z_0) = \rho e^{i\alpha} \ne 0\). A smooth curve \(\gamma\) through \(z_0\) with tangent \(\gamma'(t_0)\) is mapped to the curve \(f \circ \gamma\), whose tangent, by the chain rule, is \(f'(z_0)\gamma'(t_0)\). Multiplying by \(f'(z_0)\) rotates every tangent vector by the same angle \(\alpha\) and stretches it by the same factor \(\rho\). So the angle between any two curves through \(z_0\), with its orientation, is preserved. A map with this property is called conformal at \(z_0\). Conversely, a smooth map of the plane that preserves angles and their orientation at every point of a domain satisfies the Cauchy–Riemann equations there, since its Jacobian must be a rotation times a scaling.

Where \(f'(z_0) = 0\), conformality fails in a controlled way. If \(f(z) - f(z_0)\) has a zero of order \(m \ge 2\) at \(z_0\), then near \(z_0\) the map behaves like \(c(z - z_0)^m\) and multiplies angles at \(z_0\) by \(m\). The map \(z^2\) at 0 doubles angles, which is why it opens the first quadrant onto the upper half-plane.

Möbius transformations

A Möbius (or linear fractional) transformation is a map

\[T(z) = \frac{az + b}{cz + d}, \qquad ad - bc \ne 0.\]

The condition \(ad - bc \ne 0\) ensures \(T\) is not constant. Its derivative is \(\frac{ad - bc}{(cz + d)^2}\), never zero, so \(T\) is conformal wherever it is defined. On the Riemann sphere of lesson 2 we set \(T(-\frac{d}{c}) = \infty\) and \(T(\infty) = \frac{a}{c}\) (or \(T(\infty) = \infty\) when \(c = 0\)); then \(T\) is a bijection of the sphere onto itself, with inverse \(\frac{dw - b}{-cw + a}\). Compositions of Möbius transformations are Möbius transformations, and composing corresponds to multiplying the coefficient matrices \(\begin{pmatrix} a & b \\ c & d \end{pmatrix}\).

Every Möbius transformation is a composition of translations \(z + b\), rotations and scalings \(az\), and the inversion \(\frac{1}{z}\). (If \(c \ne 0\), \(T(z) = \frac{a}{c} - \frac{ad - bc}{c}\cdot\frac{1}{cz + d}\).) Lesson 2 showed that each of these maps circles and lines to circles and lines. Calling lines circles through \(\infty\), we get:

Theorem. A Möbius transformation maps circles to circles on the Riemann sphere.

Three points determine a Möbius map

Given three distinct points \(z_1, z_2, z_3\), the map

\[S(z) = \frac{(z - z_1)(z_2 - z_3)}{(z - z_3)(z_2 - z_1)}\]

is the unique Möbius transformation sending \(z_1, z_2, z_3\) to \(0, 1, \infty\). Its value \(S(z)\) is called the cross-ratio of \(z, z_1, z_2, z_3\). Uniqueness holds because a Möbius map fixing \(0, 1, \infty\) must be the identity: fixing \(\infty\) forces \(c = 0\), fixing 0 forces \(b = 0\), and fixing 1 forces \(a = d\). Consequently, for any two triples of distinct points there is exactly one Möbius map \(T\) with \(T(z_k) = w_k\), namely \(T = S_w^{-1} \circ S_z\), found by solving

\[\frac{(w - w_1)(w_2 - w_3)}{(w - w_3)(w_2 - w_1)} = \frac{(z - z_1)(z_2 - z_3)}{(z - z_3)(z_2 - z_1)}\]

for \(w\). Since the cross-ratio is preserved, and since three points determine a circle, this gives a practical way to map one disk or half-plane onto another: send three boundary points to three boundary points, in the same order of traversal, so that the region on the left goes to the region on the left.

Worked problem

The Cayley transform

Find a Möbius map of the upper half-plane onto the unit disk sending \(i\) to 0.

Show solution
  1. A map sending \(i\) to 0 has a factor \(z - i\) in the numerator. Points symmetric with respect to the real axis must go to points symmetric with respect to the unit circle; the symmetric point of 0 in the circle is \(\infty\), so \(\bar{i} = -i\) must go to \(\infty\).
  2. Try \(T(z) = \frac{z - i}{z + i}\). For real \(x\), \(|x - i| = |x + i|\), so the real axis goes to the unit circle.
  3. \(T(i) = 0\) is inside the disk, so the upper half-plane goes to the inside.

Answer: \(T(z) = \frac{z - i}{z + i}\), the Cayley transform, after Arthur Cayley. Composing with a rotation \(e^{i\phi}\) gives every such map.

Left: the upper half-plane with a grid of horizontal lines and semicircles. Right: the unit disk with the images of those curves, circles tangent to the boundary at 1 and arcs, under the map z minus i over z plus i.
The Cayley transform maps the upper half-plane onto the unit disk

Automorphisms of the disk

The Möbius maps of the unit disk onto itself are exactly

\[\phi_a(z) = e^{i\theta}\frac{z - a}{1 - \bar{a}z}, \qquad |a| < 1,\ \theta \text{ real}.\]

For \(|z| = 1\), \(|1 - \bar{a}z| = |\bar{z} - \bar{a}| = |z - a|\), so the circle maps to itself, and \(\phi_a(a) = 0\) shows the inside maps to the inside. That there are no other conformal self-maps of the disk follows from Schwarz's lemma, a consequence of the maximum modulus principle: an analytic map of the disk into itself fixing 0 satisfies \(|f(z)| \le |z|\), with equality at a non-zero point only for rotations. These maps move any point of the disk to the centre, which is how problems on the disk are reduced to problems at its centre.

The Riemann mapping theorem

Möbius maps take disks to disks and half-planes. Other maps reach further: \(z^2\) opens a quadrant onto a half-plane, \(e^z\) maps the strip \(0 < \operatorname{Im} z < \pi\) onto the upper half-plane, and \(\operatorname{Log}\) inverts it. Riemann asserted in his dissertation of 1851 a far-reaching result:

Riemann mapping theorem. Every simply connected domain in the plane other than the whole plane can be mapped conformally and one-to-one onto the open unit disk. The map is unique once one point and the direction of the derivative there are prescribed.

Riemann's argument relied on a principle, the Dirichlet principle, that Weierstrass showed was not justified as stated. Complete proofs were given by Osgood in 1900 and by Carathéodory and Koebe in 1912. The proof now standard, due to Fejér and Riesz, chooses, among all one-to-one maps of the domain into the disk, one with the largest derivative at a fixed point. The whole plane is excluded because a one-to-one analytic map of the plane into the disk would be bounded and entire, hence constant by Liouville's theorem.

Application: harmonic functions and the Dirichlet problem

If \(f\) is analytic and \(h\) is harmonic, then \(h \circ f\) is harmonic: locally \(h\) is the real part of an analytic \(g\), and \(h \circ f\) is the real part of the analytic \(g \circ f\). So conformal maps carry solutions of Laplace's equation to solutions. This solves the Dirichlet problem (find a harmonic function with given boundary values) on a hard region by mapping to an easy one.

Worked problem

Steady temperature in a half-plane

Find a function harmonic in the upper half-plane equal to 1 on the negative real axis and 0 on the positive real axis.

Show solution
  1. The function \(\operatorname{Arg} z\) is harmonic in the upper half-plane, being the imaginary part of \(\operatorname{Log} z\).
  2. It equals 0 on the positive real axis and \(\pi\) on the negative real axis.
  3. So \(h = \frac{1}{\pi}\operatorname{Arg} z\) has the right boundary values.

Answer: \(h(z) = \frac{1}{\pi}\operatorname{Arg} z\). Its level curves, the isotherms, are rays from the origin. Composing with a Möbius map transfers this to a disk whose boundary is held at two temperatures on two arcs.

Application: the Joukowski map and flight

The Joukowski map

\[J(z) = z + \frac{1}{z}\]

is analytic for \(z \ne 0\), with \(J'(z) = 1 - \frac{1}{z^2}\), which vanishes only at \(\pm 1\). It maps the circle \(|z| = r\) with \(r > 1\) onto the ellipse with semi-axes \(r + \frac{1}{r}\) and \(r - \frac{1}{r}\), and the unit circle onto the segment \([-2, 2]\), traversed twice: \(J(e^{it}) = 2\cos t\). The exterior of the unit disk is mapped one-to-one onto the plane minus that segment.

Now consider ideal fluid flow past a cylinder. The complex potential \(\Phi(z) = U\big(z + \frac{1}{z}\big)\) describes a uniform stream of speed \(U\) disturbed by the unit cylinder. Its imaginary part \(U\big(y - \frac{y}{x^2 + y^2}\big)\) is the stream function, which is 0 on the unit circle, so the cylinder is a streamline, and the velocity is \(\overline{\Phi'(z)}\), which tends to \(U\) far away. Adding circulation, \(\Phi(z) = U\big(z + \frac{1}{z}\big) - \frac{i\Gamma}{2\pi}\log z\), keeps the cylinder a streamline and produces lift.

Nikolai Joukowski's insight, published in 1910, was to apply \(J\) to a circle that passes through \(z = 1\) and encloses \(z = -1\), slightly offset from the origin. The image is a curve with a rounded nose and a sharp trailing edge at \(J(1) = 2\), the shape of an aerofoil. Because \(J\) is conformal off \(\pm 1\), the flow round the circle transforms into a flow round the aerofoil. Choosing the circulation so that the flow leaves the sharp edge smoothly (the Kutta condition) fixes \(\Gamma\), and the Kutta–Joukowski theorem gives the lift per unit span as \(\rho U\Gamma\), with \(\rho\) the air density. Conformal mapping was thereby among the first quantitative tools of aeronautical engineering.

Left: a circle in the z-plane passing through the point 1 and offset slightly up and to the left of the origin. Right: its image under z plus one over z, an aerofoil shape with a rounded front and a sharp trailing edge at 2.
The Joukowski map turns an offset circle into an aerofoil

Looking back

The course began with the algebra and geometry of complex numbers and ended with the design of wings. In between, one idea did almost all the work. Complex differentiability on an open set, expressed by the Cauchy–Riemann equations, led to Cauchy's theorem; the theorem gave the integral formula; the formula gave infinite differentiability, power series, Liouville's theorem and the fundamental theorem of algebra; Laurent series led to residues; residues evaluated integrals and counted zeros; and the geometric meaning of the derivative gave conformal mapping. Few subjects in mathematics show so clearly how a single, well-chosen definition can generate a whole theory. The same ideas reappear in Fourier analysis and signal processing, in quantum mechanics and electromagnetism, in number theory (where the Riemann zeta function is studied by contour integration), and in the geometry of Riemann surfaces.

A Möbius three-point solver, a conformality check and points on a Joukowski aerofoil
import cmath, math

def mobius_from_points(z, w):
    """Coefficients (a, b, c, d) of the Mobius map sending z[k] to w[k], k = 0, 1, 2."""
    def to_standard(p):              # matrix of the map sending p0, p1, p2 to 0, 1, infinity
        p1, p2, p3 = p
        return [[p2 - p3, -p1*(p2 - p3)], [p2 - p1, -p3*(p2 - p1)]]
    def inv(m):
        (a, b), (c, d) = m
        return [[d, -b], [-c, a]]
    def mul(m, n):
        return [[m[0][0]*n[0][0] + m[0][1]*n[1][0], m[0][0]*n[0][1] + m[0][1]*n[1][1]],
                [m[1][0]*n[0][0] + m[1][1]*n[1][0], m[1][0]*n[0][1] + m[1][1]*n[1][1]]]
    (a, b), (c, d) = mul(inv(to_standard(w)), to_standard(z))
    return a, b, c, d

apply = lambda m, z: (m[0]*z + m[1]) / (m[2]*z + m[3])

# Send -1, 0, 1 (on the real axis) to -1, -i, 1 on the unit circle, in order: the Cayley-type map.
m = mobius_from_points([-1, 0, 1], [-1, -1j, 1])
print("images of -1, 0, 1:", [complex(round(apply(m, z).real, 12), round(apply(m, z).imag, 12)) for z in [-1, 0, 1]])
print("image of i:", apply(m, 1j), "  |image of 3+2i| =", abs(apply(m, 3 + 2j)))
k = m[0]
print("normalized coefficients:", ["%.4f%+.4fi" % ((c/k).real, (c/k).imag) for c in m])

# Conformality: two directions at z0 = 2 + i make the same angle after the map.
z0, h = 2 + 1j, 1e-6
d1, d2 = 1, cmath.exp(1j*math.pi/3)
for name, f in [("Mobius", lambda z: apply(m, z)), ("Joukowski", lambda z: z + 1/z)]:
    v1, v2 = f(z0 + h*d1) - f(z0), f(z0 + h*d2) - f(z0)
    print(f"{name:9s} angle before {math.degrees(cmath.phase(d2/d1)):.6f}, after {math.degrees(cmath.phase(v2/v1)):.6f}")

# Joukowski points: an offset circle through 1 becomes an aerofoil with trailing edge at 2.
centre = -0.08 + 0.08j
radius = abs(1 - centre)
pts = [centre + radius*cmath.exp(2j*math.pi*k/12) for k in range(12)]
for p in pts[:6]:
    q = p + 1/p
    print(f"z = {p.real:+.3f}{p.imag:+.3f}i  ->  J(z) = {q.real:+.3f}{q.imag:+.3f}i")
print("trailing edge J(1) =", 1 + 1/1, "  chord from", min((p + 1/p).real for p in pts), "to", max((p + 1/p).real for p in pts))
Output
images of -1, 0, 1: [(-1+0j), -1j, (1+0j)]
image of i: 0j   |image of 3+2i| = 0.7453559924999299
normalized coefficients: ['1.0000+0.0000i', '0.0000-1.0000i', '0.0000-1.0000i', '1.0000+0.0000i']
Mobius    angle before 60.000000, after 59.999980
Joukowski angle before 60.000000, after 60.000003
z = +1.003+0.080i  ->  J(z) = +1.994+0.001i
z = +0.858+0.621i  ->  J(z) = +1.622+0.068i
z = +0.461+1.018i  ->  J(z) = +0.831+0.203i
z = -0.080+1.163i  ->  J(z) = -0.139+0.307i
z = -0.621+1.018i  ->  J(z) = -1.058+0.302i
z = -1.018+0.621i  ->  J(z) = -1.734+0.185i
trailing edge J(1) = 2.0   chord from -2.0187846898873056 to 1.9937053100383046

Common mistakes

Common mistakes

  • MistakeExpecting conformality where \(f'(z_0) = 0\).

    InsteadAt a zero of order \(m\) of \(f - f(z_0)\), angles are multiplied by \(m\).

  • MistakeSending boundary points to the boundary in the wrong order.

    InsteadOrientation decides which side goes where: keep the region on the left of both boundaries.

  • MistakeAssuming a Möbius map sends the centre of a circle to the centre of the image circle.

    InsteadCircles go to circles, but centres generally do not go to centres; symmetric points go to symmetric points.

  • MistakeThinking the Riemann mapping theorem applies to the whole plane.

    InsteadA one-to-one map of the plane into the disk would be a bounded entire function, hence constant.

  • MistakeForgetting that \(J(z) = z + \frac{1}{z}\) is two-to-one on the plane.

    Instead\(J(z) = J(\frac{1}{z})\); it is one-to-one on the exterior of the unit disk.

Summary and key terms

  • An analytic map with non-zero derivative is conformal: it rotates and scales all tangent vectors at a point equally, preserving angles.
  • Möbius maps \(\frac{az + b}{cz + d}\) are bijections of the Riemann sphere, map circles to circles, and are fixed by the images of three points.
  • The Cayley transform \(\frac{z - i}{z + i}\) maps the upper half-plane onto the unit disk; the disk automorphisms are \(e^{i\theta}\frac{z - a}{1 - \bar{a}z}\).
  • The Riemann mapping theorem: every simply connected proper subdomain of the plane is conformally equivalent to the disk.
  • Conformal maps carry harmonic functions to harmonic functions, solving boundary value problems; the Joukowski map turns flow past a circle into flow past an aerofoil.
Conformal map
A map preserving angles and their orientation; analytic with non-zero derivative.
Möbius transformation
A map \(\frac{az + b}{cz + d}\) with \(ad - bc \ne 0\).
Cross-ratio
\(\frac{(z - z_1)(z_2 - z_3)}{(z - z_3)(z_2 - z_1)}\), preserved by Möbius maps.
Dirichlet problem
Finding a harmonic function on a region with prescribed boundary values.
Joukowski map
\(z + \frac{1}{z}\), which maps suitable circles to aerofoil shapes.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Find the Möbius map sending \(0, 1, \infty\) to \(1, i, -1\).

    Show answer

    \(T(z) = \frac{i - z}{i + z}\). Check: \(T(0) = 1\), \(T(1) = \frac{i - 1}{i + 1} = i\), and \(T(z) \to -1\) as \(z \to \infty\).

  2. Where is \(f(z) = z^3\) not conformal, and what happens to angles there?

    Show answer

    Only at 0, where angles are tripled.

  3. Find the image of the circle \(|z - 1| = 1\) under \(w = \frac{1}{z}\).

    Show answer

    The circle passes through 0, so its image is a line: \(\operatorname{Re} w = \frac{1}{2}\).

  4. Find the image of the strip \(0 < \operatorname{Im} z < \pi\) under \(e^z\).

    Show answer

    The upper half-plane: \(e^{x + iy}\) has argument \(y \in (0, \pi)\) and any positive modulus.

  5. Show that \(J(e^{it}) = 2\cos t\).

    Show answer

    \(e^{it} + e^{-it} = 2\cos t\).

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz