Reciprocal of a circle

Let C be a circle in the complex plane with center c and radius r. Assume C does not pass through the origin.

Let f(z) = 1/z. Then f(C) is also a circle. We will derive the center and radius of f(C) in this post.

***

Our circle C is the set of points z satisfying

|z - c|^2 = (z - c)\overline{(z - c)} = (z - c)(\overline{z} - \overline{c}) = r^2

Define w = 1/z and substitute 1/w for z above.

A little algebra shows

(r^2 - |c|^2) w\overline{w} + cw + \overline{c}\overline{w} = 1

and a little more shows

\left(w + \frac{\overline{c}}{r^2 - |c|^2} \right)\left(\overline{w} + \frac{c}{r^2 - |c|^2} \right) = \frac{r^2}{(r^2 - |c|^2)^2}

This is the equation of a circle with center

\frac{\overline{c}}{|c|^2 - r^2}

and radius

\frac{r}{\left|\,|c|^2 - r^2\,\right|}

As a way to check the derivation above, here’s some Python code for making circles and taking their reciprocal.

    import numpy as np
    import matplotlib.pyplot as plt

    theta = np.linspace(0, 2*np.pi, 1000)

    # plot image of circle of radius r centered at c
    def plot(c, r):
        cc = np.conj(c)
        d = r**2 - c*cc
        print("Expected center: ", -cc/d)
        print("Expected radius: ", r/abs(d))
        u = np.exp(1j * theta) # unit circle
        w = 1/(r*u + c)
        print("Actual radius:", (max(w.real) - min(w.real))/2)
        plt.plot(w.real, w.imag)
        plt.gca().set_aspect("equal") 
        plt.show()

    plot(1 + 2j, 3)
    plot(0.5, 0.2)
    plot(1j, 0.5)