← back

Möbius strips and differential equations

February 13, 2026

Algebraic topology is a field of mathematics which is usually presented as the study of certain amusing shapes, like the Klein bottle or Möbius strip. But this presentation perhaps fails to convey just how vital algebraic topology is to almost all areas of modern mathematics.

To give the reader a taste of this importance, in today's post we will start by exploring a funny property of the Möbius strip, and then show how the same funny phenomenon creeps up when you try to solve certain differential equations.

So, what is the Möbius strip, and what funny property does it have?

The Möbius strip

Take a sheet of paper. If you tape two opposite edges together, then you will produce a cylinder. If you instead twist one of the edges before gluing, you get a Möbius strip.

Möbius Strip

drag to rotate

The Möbius strip doesn't seem so different from a cylinder at first, but there is one very strange property of it: it only has one side!

But what does that mean, exactly? Specifying a side of the Möbius strip is the same as deciding which side of the paper is `up' and which side is `down.' These decisions need to be locally consistent: nearby points should agree on which way is up and which is down. In other words, if I'm an ant on one side of the Möbius strip, if I walk a couple steps I should still be on the same side.

This suggests it should be pretty easy to find two sides of any surface: pick one point to start with, and arbitrarily label one side `up' and one side `down.' Then just move around, copying your meaning of up.

Here's a little animation of this; we start with a notion of up at one point (illustrated by an upwards pointing vector), and then move the vector around to nearby points, to give them a consistent notion of up.

Local Orientability

Press play to animate

Locally, the normal always comes back pointing the same way

Unfortunately, this procedure has a small hiccup. If we take a long journey, in a loop going around the entire Möbius strip, the notion of up flips when we get back to where we started! We made a small animation to see this; after the animation plays, you can drag the Möbius strip to rotate it around, to better see the full path.

Non-Orientability

Press play to animate

After one full loop, the vector flips — same surface, opposite orientation

This is why we cannot define a notion of up or down on the Möbius strip; while in small patches it makes sense, if you travel all around the Möbius strip you'll end up reversing your notion of up and down! This is why people say a Möbius strip has only one side; while at every point on the strip, it looks like there's a `top' and a `bottom,' if you go around the entire strip you'll find that the top and bottom switch roles. If you have a Möbius strip made out of paper, you can observe this in the real world: trace your finger around a Möbius strip, and you'll find that if your finger started off on `top' of the strip, it will end on the `bottom.'

A problem in differential equations

With the Möbius strip introduced, let's turn to a problem of calculus.

The great mathematician Riemann was interested in solving differential equations over the complex numbers. As an example, consider the equation \[\frac{df}{dz} = \frac{1}{2z}f(z).\]

Riemann was interested in finding complex solutions to this differential equation. It's easy to solve differential equations of this type by trying to find the Taylor series of \(f(z).\) Let's explain how. First, observe that the right hand side of the equation involves division by \(2z\); division by 0 is scary, so let's look for a solution near \(z=1.\) Then we can write the Taylor series of \(f(z)\) as \[f(z) = a_0 + a_1(z-1) + a_2(z-1)^2 + a_3(z-1)^3 + \cdots,\] for some coefficients \(a_0, a_1, a_2, ...\) which we need to solve for. I'll remark now that this is a first order differential equation, so it has one degree of freedom. Thus we can actually make \(a_0\) take any value we want; to simplify the below computations, we'll set \(a_0 = 1.\) In other words, we're giving our differential equation the initial condition that \(f(1) = 1.\)

The equation \[\frac{df}{dz} = \frac{1}{2z}f(z)\] is equivalent to \[2z\frac{df}{dz} = f(z).\] If we term-by-term differentiate our Taylor series, then we find \[\frac{df}{dz} = a_1 + 2a_2(z-1) + 3a_3(z-1)^2 + \cdots.\]

Multiplying the above expression by \(2z\) is a little tricky, because \(2z\) is a power series in the variable \(z,\) but \(df/dz\) is a power series centered at \(z=1.\) So, before doing the multiplication, we rewrite \[2z = 2 + 2(z-1).\] Thus \[2z\frac{df}{dz} = (2 + 2(z-1)) \cdot (a_1 + 2a_2(z-1) + 3a_3(z-1)^2 + \cdots),\] so that, when we distribute this product out, \[2z\frac{df}{dz} = 2a_1 + (2a_1 + 4a_2) \cdot (z-1) + (4a_2 + 6a_3) \cdot (z-1)^2 + \cdots\]

Thus our equation \[2z\frac{df}{dz} = f(z)\] becomes \[\begin{align*} &\hspace{5mm}2a_1 + (2a_1 + 4a_2) \cdot (z-1) + (4a_2 + 6a_3) \cdot (z-1)^2 + \cdots \\ &= 1 + \hspace{17mm}a_1 \cdot (z-1) + \hspace{14mm}a_2 \cdot (z-1)^2 + \cdots.\end{align*}\] Equating the coefficients of the \((z-1)^n\) terms on both sides, we get the equations \[2a_1 = 1,\] \[2a_1 + 4a_2 = a_1,\] \[4a_2 + 6a_3 = a_2,\] and so on.

From the first equation \(2a_1 = 1,\) we get \(a_1 = 1/2.\) But now that we know \(a_1 = 1/2,\) we can substitute this value of \(a_1\) into the second equation \[2a_1 + 4a_2 = a_1,\] to rewrite it as \[1 + 4a_2 = \frac{1}{2},\] implying \[a_2 = -\frac{1}{8}.\]

Similarly, now that we know \(a_2 = -1/8,\) we can plug it into the third equation \[4a_2 + 6a_3 = a_2\] to get \[-\frac{4}{8} + 6a_3 = -\frac{1}{8},\] giving \[a_3 = \frac{1}{16}.\]

We can solve for the Taylor coefficients of \(f(z)\) recursively, by just following our string of equations. Thus you can get as many Taylor coefficients for the solution \(f(z)\) to \[\frac{df}{dz} = \frac{1}{2z}f(z)\] as you'd like!

While this method is great at finding a solution for \(z=1,\) the downside to Taylor series is that they don't always converge. It turns out that this particular Taylor series has radius of convergence 1, which means for any complex number \(z\) closer than 1 unit to \(z=1,\) the formal power series solution we just found will converge. You can play around, evaluating a few values of the power series, here.

Click a point inside the disk below to evaluate the series there.
z — plane

Unfortunately, for values of \(z\) outside of the highlighted blue circle, the formal power series solution we just found will not always converge.

As an example, if we plug in \(z = -1\) to our series we get \[f(-1)=1 - 1 - \frac{1}{2} - \frac{1}{2} - \frac{5}{8} - \frac{7}{8} - \frac{21}{16} - \cdots.\] Observe how, after the initial \(1-1,\) the terms just get more and more negative; it turns out that this continues to happen, and so \[f(-1) = -\infty,\] as we keep subtracting larger and larger numbers.

This is annoying! We would love to solve our differential equation on the entire complex plane, but so far we can only solve it in a tiny disk.

However, note that we found this power series by doing term-by-term expansion centered around the point \(z=1.\) There's no reason we couldn't just do term-by-term expansion centered around a different point.

For example, let's take a point \(\alpha = 0.6 + 0.8i,\) which is near the edge of our blue circle. Using our first power series solution, we find that \(f(\alpha) \approx 0.8944 + 0.4472i.\) Using this as the initial condition, we can use the recurrence method from before to find a formal power series solution to \[\frac{df}{dz} = \frac{1}{2z}f(z)\] centered at \(\alpha.\) In the widget below, you can click on points to plug in values.

expansion around 1 (same one as above)
expansion around a = 0.6 + 0.8i
z — plane
disk around a = 1 disk around a; = 0.6+0.8i

In the widget, we display two different formal power series solutions to our ODE, each centered around different points. The first one is the same one from before, and converges inside the blue circle; the second one is new, and converges inside the purple circle.

If you click on a point \(z\) in the blue circle, your computer will use the formal power series to calculate \(f(z)\) using our power series from before; and if you click on a point \(z\) in the purple circle, your computer will use the new power series to calculate \(f(z).\)

Click on different points of the intersection of the two circles, and compare the values of the two different power series. You should find that they are exactly the same, up to rounding errors (these are infinite sums, but your computer can only do finitely many terms!).

So now we have a solution to \[\frac{df}{dz} = \frac{1}{2z}f(z)\] which obeys \(f(1) = 1,\) and makes sense in the union of the blue and purple circles: in the purple circle use the new formula, in the blue circle use the old formula, and on the overlap the two formulas give the same answer, so it doesn't matter which you use!

Monodromy

Let's recap what just happened: we found a solution to \[\frac{df}{dz} = \frac{1}{2z}f(z)\] inside a small blue circle, by expanding \[f(z) = a_0 + a_1(z-1) + a_2(z-1)^2 + \cdots\] as a formal power series around \(z=1\); the differential equation became a recurrence on the coefficients \(a_n,\) and the initial condition \(f(1) = 1\) just became the initial condition \(a_0 = 1\) of our recurrence. The resulting power series only made sense on a small blue disk, but we wanted a solution over the entire complex plane -- so, we repeated our recurrence procedure, but starting with the different center value \(0.6 + 0.8i\) instead. The differential equation again turns into a recurrence relation, and we can get the initial condition of our recurrence using the original formula to calcualte \(f(0.6 + 0.8i).\)

This extended our solution from the blue circle to the union of the blue circle and the purple circle. Since this worked so well, let's go further: pick a point near the edge of the purple circle, and find a power series solution centered at that point! And then do this again and again and again, until we've covered the entire complex plane with circles!

Unfortunately, while this plan works great in theory, something peculiar happens when we implement it. To see why, consider the following widget. In it, we repeated our procedure `pick a point near the boundary and solve the differential equation centered there', giving us a total of seven different formulas for \(f(z),\) each of which makes sense on a different circle. If you click a point in any of the circles, your computer will calculate the value of the value of \(f(z)\) using any of the formulas which make sense (so, if your point is in exactly one circle, it will use that circle's formula, but if your point is in two circles, it will show you the answers you get using the formulas associated to both circles).

There are a lot of circles on screen, so try not get overwhelmed -- just click a few points and see the values!

z — plane

Most of time, if you pick a point in two circles, you'll get approximately the same answer with each formula -- and any discrepancy is only because the computer is only adding a handful of terms of these infinitely long sums, and isn't using high precision arithmetic (which matters a lot when adding decimals on a computer).

But if you click on a point in the overlap of the red and blue circles -- that is, a point just below \(z = 1\) -- then something strange will happen: the blue formula will give you a value which is close to \(+1,\) and the red formula will give a value close to \(-1.\) This is a big gap -- much too big to be explained away by your computer truncating the sum, or by precision loss in floating-point arithmetic.

What's happening? To understand this, let's first try understanding why our two different formulas on the purple and blue circle agreed in the first place.

Revisiting uniqueness

Ordinary differential equations have a strong local uniqueness theorem: any two solutions of an equation like \[\frac{df}{dz} = \frac{1}{2z} \cdot f(z)\] which agree at one point automatically agree in a small neighborhood of that point. Let's explore what this means, why this is true, and how it helps us understand what was happening above.

To be a bit more concrete, imagine that \(f_0\) and \(f_1\) are two functions which both obey \[f_0'(z) = \frac{1}{2z}f_0(z),\] \[f_1'(z) = \frac{1}{2z}f_1(z),\] and suppose we know that \(f_0(1) = f_1(1).\) Then in fact \(f_0(z) = f_1(z)\) for all values of \(z\) which are close to 1.

Why is that the case? It's actually for the exact same reason we saw before: power series expansions. More precisely, for values of \(z\) close enough to 1, the functions \(f_0(z)\) and \(f_1(z)\) are both given by power series expansions \[f_0(z) = f_0(1) + f_0'(1) \cdot (z-1) + \frac{f_0''(1)}{2} \cdot (z-1)^2 + \cdots,\] \[f_1(z) = f_1(1) + f_1'(1) \cdot (z-1) + \frac{f_1''(1)}{2} \cdot (z-1)^2 + \cdots.\]

Set \(A := f_0(1).\) As \(f_1(1) = f_0(1),\) we have \(f_1(1) = A\) as well.

From our differential equation, we find that \[f_0'(1) = f_0(1)/2 = A/2,\] and similarly \(f_1'(1) = A/2.\) And differentiating \[f'(z) = \frac{f(z)}{2z},\] we find \[f''(z) = \frac{f'(z)}{2z} - \frac{f(z)}{2z^2},\] so that \[f''_0(1) = \frac{A}{4} - \frac{A}{2} = -\frac{A}{4},\] and similarly \(f''_1(1) = -A/4.\) Thus all the Taylor coefficients of \(f_0\) and \(f_1\) coincide, and so they must agree in some small disk around \(z=1\) (this disk being the disk on which the Taylor series converges).

How does this matter for our blue and purple circle? The point is that we have two solutions to the differential equation which agree at \(0.6 + 0.8i,\) and hence they agree in whatever region has the following two properties: (i) both solutions make sense there, and (ii) the formal power series solution at \(0.6 + 0.8i\) converges there. But that region is exactly the overlap of the purple and blue circles, hence why the two different formulas give the same answer there. You can step through this slideshow to see more.

At the end of the slide show, we compare the solutions on the red and aqua circles. But what happens if we want to go back around, and compare the solutions on the red disk and the original blue disk?

Here, we run into a problem: we have no common initial condition! The solution on the red disk was defined using the red point \(0.752 - 0.659i,\) which was located at the edge of the aqua disk. And so, while the red and blue disks overlap, there is no reason for them to have a common value at any point; and indeed, as we saw in the previous section, they don't!

The trouble here is that the local uniqueness theorem for differential equations requires you to know one common value in order to conclude that the two solutions coincide -- but there's no common value we can use for the red and blue disks.

Return of the Möbius strip

Recall that, at the start of this article, we highlighted a funny property of the Möbius strip: while you could always locally orient it, globally you cannot label one side as up and one side as down. If you try to label one side as up, and then you move continuously around the Möbius strip, you'll end up labelling that same side as down!

This is very similar to what happened with our differential equation: we tried to find a solution, and while we could always do this locally, on small patches of the complex plane, we found that if we went in a circle around the origin, our solution got negated -- instead of \(f(1) = 1,\) if we continue around the origin, we found a solution with \(f(1) = -1.\) This \(+1\) switching to a \(-1\) is just like how, if you go around a Möbius strip, up becomes down.

This analogy has a surprising amount of substance to it. In complex analysis, and other advanced parts of mathematics, it is very useful to visualize the space of solutions to a linear differential equation like \[\frac{df}{dz} = \frac{1}{2z}f(z)\] as a vector bundle, a certain type of geometric object. What do we mean by this? How do we view the set of all solutions to a differential equation as a geometric object?

Note that, for any nonzero complex number \(a,\) we can use the power series method from before to find a formal power series solution to \(df/dz = f(z)/2z\) centered at \(z=a,\) with any initial condition we want; that is, \(f(a)\) can take on any value we please. (The trouble with \(a=0\) is that the expression \(1/2z\) doesn't make sense at \(0,\) which means the power series method won't work.)

Thus, at least near any individual complex number \(a,\) there is a complex plane worth of solutions to \(df/dz = f(z)/2z,\) because every complex number \(\zeta\) gives us a different possible initial condition \(f(a) = \zeta,\) and hence a different solution.

We can then create a shape by taking each point of the complex plane and attaching the space of initial conditions to our ODE to it. The final shape is surprisingly complicated; to understand it, we're going to focus on what it looks like above the unit circle in the complex plane: that is, we're going to attach, to each complex number \(z\) with \(|z| = 1,\) the 2-dimensional space of initial conditions for the ODE at that point.

At first, you might think that if you attach a 2-dimensional plane (the space of initial conditions) to each point of a circle, the final space you'd get would look something like this:

unit circle
drag to rotate

However, this is not quite what the true space of solutions looks like! Remember: when we move around the circle, the solution with \(f(1) = 1\) turns into the solution with \(f(1) = -1.\) This means that the planes we attach at each point need to twist around as we attach them -- this way, when you loop around the circle, the initial condition \(+1\) becomes the initial condition \(-1.\)

This twisting is quite hard to visualize in 3-dimensions. To get a sense of what it looks like, let's pretend instead of having a 2-dimensional space of initial conditions, we only had a 1-dimensional space. Then, instead of planes rotating and twisting around in space, we'd have a line rotating and twisting around in space. If we think about the shape such a line would trace out, it is just a Möbius strip! You can see for yourself in the animation below:

drag to rotate

So, the Möbius strip is literally part of the vector bundle of solutions to our differential equation! The full vector bundle would be obtained by rotating a plane instead of a line, but this is harder to draw in 3-dimensional space.

The punchline to all this, though, is that the strange Möbius strip arises naturally from the solutions to a differential equation!

This geometric approach to differential equations -- that is, thinking about the vector bundle of all solutions to a linear ODE -- is incredibly helpful in modern complex analysis, as it allows the tools of algebraic geometry and algebraic topology to say things about differential equations. In this example, the non-orientability of the Möbius strip is essentially equivalent to the fact that our differential equation had no global solution (for experts, both of these facts are just us asserting that the vector bundle of solutions to our ODE is the complex line bundle on \(S^1\) corresponding to the group homomorphism \(\pi_1(S^1) \to \mathbb{C}^{\times}\) which sends a single loop to \(-1\)).

The Möbius strip, and related wacky shapes, were not just invented for amusement (though amusing they are): they have helpful mathematical purposes.