Video Transcript
What you’re looking at right now is something called quaternion multiplication. Or rather, you’re looking at a certain representation of a specific motion happening
on a four-dimensional sphere being represented in our three-dimensional space. One which you’ll understand by the end of this video.
Quaternions are an absolutely fascinating and often underappreciated number system
from math. Just as complex numbers are a two-dimensional extension of the real numbers,
quaternions are a four-dimensional extension of complex numbers. But they’re not just playful mathematical shenanigans. They have a surprisingly pragmatic utility for describing rotation in three
dimensions and even for quantum mechanics. The story of their discovery is also quite famous in math.
The Irish mathematician William Rowan Hamilton spent much of his life seeking a
three-dimensional number system analogous to the complex numbers. And, as the story goes, his son would ask him every morning whether or not he had
figured out how to divide triples and he would always say, “no, not yet.” But on October 16th, 1843, while crossing the Broome Bridge in Dublin, he realized,
with a supposed flash of insight, that what he needed was not to add a single
dimension to the complex numbers. But to add two more imaginary dimensions. Three imaginary dimensions describing space. And the real numbers sitting perpendicular to that in some kind of fourth
dimension. He carved the crucial equation describing these three imaginary units into the
bridge. Which today bears a plaque in his honor showing that equation.
Now, you have to understand our modern notion of vectors with their dot product and
the cross product and things like that didn’t really exist in Hamilton’s time, at
least not in a standardized form. So after his discovery, he pushed hard for quaternions to be the primary language
with which we teach students to describe three-dimensional space. Even forming an official quaternion society to proselytize his discovery. Now, unfortunately, this was balanced with mathematicians on the other side of the
fence. Who believed that the confusing notion of quaternion multiplication was not necessary
for describing three dimensions. Resulting in some truly hilarious old-timey trash talk, legitimately calling them
evil. It’s even believed that the Mad Hatter scene from Alice in Wonderland, whose author
you may know was an Oxford mathematician, was written in reference to
quaternions. That the chaotic table-placement changes were mocking their multiplication. And that certain quotes were referencing their noncommutative nature.
Fast forward about a century. And the computing industry gave quaternions a resurgence among programmers who work
with graphics and robotics and anything involving orientation in 3D space. And this is because they give an elegant way to describe and to compute 3D
rotations. Which is computationally more efficient than other methods. And which also avoids a lot of the numerical errors that arise in these other
methods. The 20th century also brought quaternions some more love from a completely different
direction, quantum mechanics. You see, the special actions the quaternions describe in four dimensions are actually
quite relevant to the way that two-state systems, like spin of an electron or the
polarization of a photon, are described mathematically. What I’ll show you here is a way to visualize quaternions in their full
four-dimensional glory.
It would surprise me if this approach was fully original. But I can say that it’s certainly not the standard way to teach quaternions. And that these specific four-dimensional right-hand rule image that I’d like to build
up to is something that I haven’t really seen elsewhere. Building up an understanding for this visual will take us meaningful time. But once you have it, there is a very natural and satisfying intuition for how to
think about quaternion multiplication. It won’t be until the next video that I show you how exactly quaternions describe
orientation in three dimensions. Which is, for some people, the whole reason we care about it. But once we’re able to go at it armed with the image of what they’re doing to a 4D
hypersphere. There’s a pleasing understanding to be had for the otherwise opaque formulas
characterizing this relationship.
The structure here will be to start by imagining teaching complex numbers to someone
who only understands one dimension. Then, describing 3D rotations to someone who only understands two dimensions. And, ultimately, to represent what quaternions are doing up in four dimensions within
the constraints of our 3D space.
Our first character is Linus the Linelander, whose mind can only grasp the
one-dimensional geometry of lines and the algebra of real numbers. We’re gonna try to describe complex numbers to Linus. And it’s really important for you to empathize with him as much as you can during
this. Because, in a few minutes, you’re gonna be in his shoes. On the one hand, you could define complex numbers purely algebraically. You say each one is expressed as some real number plus some other real number times
𝑖. Where 𝑖 is a newly invented constant whose defining property is that 𝑖 times 𝑖
equals negative one. Then you say to Linus, to multiply two complex numbers, you just use the distributive
property. What many people learn in school as FOIL. And you apply this rule, that 𝑖 times 𝑖 equals negative one, to simplify things
down further.
And that’s fine! That totally works, and the standard textbook way to introduce quaternions is
analogous to this. Showing the algebraic rules and calling it done. But I think something is missing if we don’t at least try to show Linus the geometry
of complex numbers and what complex multiplication looks like. Since the problems in math and physics, where complex numbers are shockingly useful,
often leverage this spatial intuition. You and I, who understand two dimensions, might think of it like this. When you multiply two complex numbers, 𝑍 times 𝑊, you can think of 𝑍 as a sort of
function acting on 𝑊, rotating and stretching it in some way. I like to think of this by broadening the view and asking, what does 𝑍 do to the
entire plane? And you can think of that bird’s-eye view action by imagining using one hand to fix
the number zero in place. And using another hand to drag the point at one up to 𝑍. Since anything times zero is zero, and anything times one is itself.
And in two dimensions, there is one and only one stretching-rotating action on the
plane that’ll do this. This is also how I’ll have you thinking about quaternion multiplication later on. Where the number on the left acts as a kind of function to the one on the right. And we’ll understand this function by seeing how it acts by transforming space. Although, instead of rotating 2D space, it does a sort of double rotation in 4D
space. By the way, if you want to review thinking about complex numbers as a kind of action,
a good warm-up for this video might be the one I did on 𝑒 to the 𝜋𝑖, explained
with introductory group theory.
Now Linus the Linelander is pretty comfortable with the idea of stretching. That’s what multiplication by real numbers looks like. Maybe it’s a little weird for him to think about stretching in multiple
dimensions. But it’s not fundamentally different. The difficult thing to communicate to Linus is rotation. Specifically, focus on the unit circle of the complex plane. All the numbers at distance one from zero. Since multiplication by these numbers corresponds to pure rotation. How would you explain to Linus the look and the feel of multiplying by these
numbers? At first, that might seem impossible. I mean, rotation is just such an intrinsically two-dimensional idea. But, on the other hand, rotation involves only one degree of freedom. A single number, the angle, specifies a given rotation uniquely.
So in principle, it should be possible to associate the set of all rotations to the
one-dimensional continuum that is Linus’s world. And there are many ways you could do this. But the one I’m gonna show you is what’s called a stereographic projection. It’s a special way to map a circle onto a line, or a sphere into a plane. Or even a 4D hypersphere into 3D space.
For every point on the unit circle, draw a line from negative one through that
point. And wherever it intersects the vertical line through the circle’s center, that’s
where the point of the circle gets projected. So for example, the point at one gets projected into the center of the line. The point 𝑖 actually stays fixed in place, as does negative 𝑖. All of the points on that 90 degree arc between one and 𝑖 will get projected
somewhere in the interval between where one landed and where 𝑖 landed. As you continue farther around the circle on the arc between 𝑖 and negative one. The projected points end up farther and farther away at an increasing rate. Similarly, if you come around the other way towards negative one. The projected points end up farther and farther on the other end of the line. This line of projected points is what we show to Linus. Labeling a few key points, like one and 𝑖 and negative one, all for reference.
Technically, the point at negative one has no projection under this map. Since the tangent line to the circle at that point never crosses the vertical
line. But what we say is that negative one ends up at the point at infinity. This is a special point you imagine adding to the line. Where you would approach it if you walk infinitely far along the line in either
direction. Now it’s important to remember, and to remind Linus, that what he’s seeing is only
the complex numbers that are a distance one from the origin, a unit circle. Linus doesn’t see most numbers, like zero or one plus 𝑖 or negative two minus
𝑖. But that’s okay. Because right now, we just wanna describe complex number 𝑍. Where multiplying by 𝑍 has the effect of a pure rotation. So he only needs to understand the unit circle.
For example, when we take the number 𝑖 and multiply it by any other complex number
𝑊, the effect is to rotate by 90 degrees counterclockwise. And when we apply this action to the circle being projected down to the line for
Linus, what does he see? Well, it’s a bit of a strange morphing action on the line. One which I want you to become familiar with for something we’ll see later on. It’s easiest to understand by following a few key reference points. 𝑖 times one is 𝑖, so that means that number one should move up to 𝑖. 𝑖 times 𝑖 is negative one, so the point at 𝑖 slides off to infinity. 𝑖 times negative one is equal to negative 𝑖. So that point at infinity kind of comes back around from the bottom to the position
one unit below the center. And 𝑖 times negative 𝑖 is one, so that point at negative 𝑖 slides up to one.
Even though this is kind of a weird motion, it lets us communicate some important
ideas to Linus. For example, multiplying by 𝑖 four times, which corresponds to rotating by 90
degrees four times in a row, gets us back to where we started. 𝑖 to the fourth equals one. Here, to get more of a feel for things, let me just show the circle rotated at
various different angles. On both the left and the right half of the screen here, I’m putting a hand on the
point that started at the number one. To help us and to help Linus keep track of the overall motion.
Next, let’s introduce Felix the Flatlander, who only understands two-dimensional
geometry. Imagine trying to explain rotations of a sphere to Felix. In the spirit of transitioning from complex numbers to quaternions, let’s extend the
complex numbers, with its horizontal axis of real numbers and its vertical axis of
imaginary numbers, with a third axis. Defined by some newly invented constant, 𝑗, sitting one unit away from zero,
perpendicular to the complex plane. Instead of having this new axis in the 𝑧-direction like you might expect. For a better analogy with how we’ll visualize quaternions, we’ll want to orient
things so that the 𝑖- and the 𝑗-axes sit in the 𝑥- and the 𝑦-directions with the
real number line aligned along 𝑧-direction. So every point in 3D space is described as some real number plus some real number
times 𝑖 plus some real number times 𝑗.
As it happens, it’s not possible to define a notion of multiplication for a 3D number
system like this that would satisfy the usual algebraic properties that make
multiplication a useful construct. Perhaps I’ll outline why this is the case in a follow-on video. But staying focused on our current goal, think about describing 3D rotations in this
coordinate system to Felix the Flatlander. The unit sphere consists of all those numbers which are a distance one from zero at
the origin. Meaning, the sum of the squares of their coordinates is one. We can’t show all of 3D space to Felix. But what we can do is project this 2D surface to him and give him a feel for what
reorientations of the sphere look like under that projection. Analogous to what we did before, stereographic projection will associate almost every
point on the unit sphere with a unique point on the horizontal plane defined by the
𝑖- and the 𝑗-axes.
For each point on the sphere, draw a line from negative one at the south pole through
that point and see where it intersects the plane. So the point one at the north pole ends up at the center of the plane. All of the points on the northern hemisphere get mapped somewhere inside the unit
circle of the 𝑖𝑗-plane. And that unit circle which passes through 𝑖𝑗, negative 𝑖, negative 𝑗 actually
stays fixed in place. And that’s an important point to make note of. Even though most points and lines and patches that Felix the Flatlander sees are
gonna be worked projections of the real sphere. This unit circle is the one thing that he has which is an honest part of our unit
sphere, unaltered by projection. All of the points in the southern hemisphere get projected outside that unit circle,
each getting farther and farther away as you approach negative one at the south
pole.
And again, negative one has no projection under this mapping. But what we say is that it ends up at some point at infinity. That point at infinity is something such that no matter which direction you walk on
the plane, as you go infinitely far out, you’ll be approaching that point. It’s analogous to how if you walk any direction away from the north pole, you’re
approaching the south pole. Now let me just pull up a view of what Felix sees in two dimensions. As I rotate the sphere in various ways, the lines of latitude and longitude drawn on
that sphere get projected into various circles and lines in Felix’s space. And the way I’ve done things up here, the checkerboard pattern on the surface of the
sphere, is accurately reflected in the projected view that you see with Felix. And the pink dot represents where the point that started at the north pole ends up
after the rotation. And that yellow circle represents where the equator ended up after the
projection.
The more you put yourself in Felix’s shoes right now, the easier quaternions will be
in a moment. And as with Linus, it helps to focus on a few key reference objects, rather than
trying to see the whole sphere. This circle, passing through one, 𝑖, negative one, and negative 𝑖 gets mapped onto
a line which Felix sees as the horizontal axis. It’s important to remind Felix that what he sees is not the same thing as the
𝑖-axis. Remember, we’re only projecting the numbers that have a distance one from the
origin. So most points on the actual 𝑖-axis, like zero and two 𝑖 and three 𝑖, etc., are
completely invisible to Felix. Similarly, the circle that passes through one, 𝑗, negative one, and negative 𝑗 gets
projected onto what he sees as a vertical line. And in general, any line that Felix sees comes from some circle on the sphere that
passes through negative one. In some sense, a line is just a circle that passes through the point at infinity.
Now think about what Felix sees as we rotate the sphere. A 90-degree rotation about the 𝑗-axis brings one to 𝑖, 𝑖 to negative one, negative
one to negative 𝑖, and negative 𝑖 to one. So what Felix the Flatlander sees is an extension of the rotation that Linus the
Linelander was seeing. Notice also that this action rotates the 𝑖𝑗 unit circle to the position where the
one 𝑗 unit circle used to be. So what Felix sees is his yellow unit circle getting transformed into a vertical
line. While that red vertical line gets transformed into the unit circle. Of course, from our perspective, we know this is all just rigid motion. No actual stretching or morphing is taking place. All of that is just an artifact of the projection.
Similarly, a rotation about the 𝑖-axis involves moving one to 𝑗, 𝑗 to negative
one, negative one to negative 𝑗, and negative 𝑗 to one. This rotation turns the 𝑖𝑗 unit circle into the one 𝑖 unit circle, which, to
Felix, looks like the unit circle getting transformed into a horizontal line. A rotation about the real axis is actually quite easy for Felix to understand. Since the whole projection simply gets rotated about the origin. Where the only points staying fixed in place are one at the origin and negative one
off at infinity.
In the same way that the complex numbers included the real numbers with a single
extra quote, unquote, imaginary dimension, represented by the unit 𝑖. And that the not-actually-a-number-system thing we had in three dimensions included a
second imaginary direction, 𝑗. The quaternions include the real numbers together with three separate imaginary
dimensions, represented by the units 𝑖, 𝑗, and 𝑘. Each of these three imaginary dimensions is perpendicular to the real number
line. And they’re all perpendicular to each other somehow. So in the same way that complex numbers are represented as a pair of real numbers,
each quaternion can be written using four real numbers. And it lives in four-dimensional space. You often think of this as being broken up into a real or scalar part and then a 3D
imaginary part.
And Hamilton used a special word for quaternions that had no real part and just 𝑖,
𝑗, 𝑘 components. A word which was previously somewhat foreign in the lingo of math and physics,
vector. On the one hand, you could just define quaternion multiplication by giving the rules
for how 𝑖, 𝑗, and 𝑘 multiply together and saying that everything must distribute
nicely. This is analogous to defining complex multiplication by saying that 𝑖 times 𝑖 is
negative one, and then distributing and simplifying products. And indeed, this is how you would tell a computer to perform quaternion
multiplication. And the relative compactness of this operation compared to, say, matrix
multiplication is what’s made quaternion so useful for graphics programming and many
other things.
There’s also a rather elegant form of this multiplication rule written in terms of
the dot product and the cross product. And in some sense, quaternion multiplication subsumes both of these notions. At least, as they appear in three dimensions. But just as a deeper understanding for complex multiplication comes from
understanding its geometry, that multiplying by a complex number involves a
combination of scaling and rotating. You and I are here for the four-dimensional geometry of quaternion
multiplication. And just as the magnitude of a complex number, its distance from zero, is the square
root of the sum of the squares of its component. That same operation gives you the magnitude of a quaternion.
And multiplying one quaternion, 𝑞 one, by another, 𝑞 two, has the effect of scaling
𝑞 two by the magnitude of 𝑞 one followed by a very special type of rotation in
four dimensions. And those special 4D rotations, the heart of what we need to understand, correspond
to the hypersphere of quaternions a distance one from the origin. Both in the sense that the quaternions, whose multiplying action is a pure rotation,
live on that hypersphere. And in the sense that we can understand this weird 4D action just by following points
on the hypersphere. Rather than trying to look at all of the points in the inconceivable stretch as a
four-dimensional space.
Analogous to what we did for Linus and Felix, we stereographically project this
hypersphere into 3D space. This label in the upper right is gonna show a given unit quaternion. And this little pink dot will show where that particular quaternion gets projected in
our 3D space. Just as before, we’re projecting from the number negative one, which sits on the real
number line that is somehow perpendicular to all of our 3D space and beyond our
perception. Just as before, the number one ends up projected straight into the center of our
space. And in the same way that 𝑖 and negative 𝑖 were fixed in place for Linus, and that
the 𝑖𝑗 unit circle was fixed in place for Felix. We get a whole sphere passing through 𝑖, 𝑗, and 𝑘 on that unit hypersphere which
stays in place under the projection. So what we see as a unit sphere in our 3D space represents the only unaltered part of
the hypersphere of quaternions getting projected down onto us.
It’s something analogous to the equator of a 3D sphere. And it represents all of the unit quaternions whose real part is zero. What Hamilton would have described as unit vectors. The unit quaternions with positive real parts between zero and one end up somewhere
inside this unit sphere, closer to the number one in our 3D space. Which should feel analogous to how the northern hemisphere got mapped inside the unit
circle for Felix. On the other hand, all the unit quaternions with negative real part end up somewhere
outside that unit sphere. The number negative one is sitting off at the point at infinity, which you can easily
find by walking in any direction.
Keep in mind, even though we see the projection of some of these quaternions as being
closer or farther from the origin of our 3D space. Everything you’re looking at represents a unit quaternion. So everything you’re looking at really has the same magnitude, the same distance from
the number zero. And that number zero itself is nowhere to be found in this picture. Like all other nonunit quaternions, it’s invisible to us. In the same way that, for Felix, the circle passing through one, 𝑖, negative one,
and negative 𝑖 got projected into a line through the origin. When we see this line through the origin passing through 𝑖 and negative 𝑖, we
should understand that it really represents a circle. Likewise, up on the hypersphere invisible to us, there is a unit sphere passing
through one, 𝑖, 𝑗, negative one, negative 𝑖, and negative 𝑗. And that whole sphere gets projected into the plane that we see passing through one,
𝑖, negative 𝑖, 𝑗, negative 𝑗, and negative one off at infinity. What you and I might call the 𝑥𝑦-plane.
In general, any plane that you see here really represents the projection of a sphere
somewhere up on the hypersphere which passes through the number negative one. Now the action of taking a unit quaternion and multiplying it by any other quaternion
from the left can be thought of in terms of two separate 2D rotations happening
perpendicular to and in sync with each other. In a way that could only ever be possible in four dimensions.
As a first example, let’s look at multiplication by 𝑖. We already know what this does to the circle that passes through one and 𝑖, which we
see as a line. One goes to 𝑖, 𝑖 goes to negative one off at infinity, negative one comes back
around to negative 𝑖, and negative 𝑖 goes to one. Remember, just like what Linus saw, all of this is the stereographic projection of a
90-degree rotation. Now look at the circle passing through 𝑗 and 𝑘, which is in a sense perpendicular
to the circle passing through one and 𝑖. Now, it might feel weird to talk about two circles being perpendicular to each
other. Especially when they have the same center, the same radius, and they don’t touch each
other at all. But nothing could be more natural in four dimensions.
You can think of the action of 𝑖 on this perpendicular circle as obeying a certain
right-hand rule. If you’ll excuse the intrusion of my ghostly green-screen hand into our otherwise
pristine platonic mathematical stage. You let that thumb of your right hand point from the number one to 𝑖, and you curl
your fingers. The 𝑗𝑘 circle will rotate in the direction of that curl. How much? Well, by the same amount as the one 𝑖 circle rotates, which is 90 degrees in this
case. This is what I meant by two rotations perpendicular to and in sync with each
other. So 𝑗 goes to 𝑘, 𝑘 goes to negative 𝑗, negative 𝑗 goes to negative 𝑘, and
negative 𝑘 goes to 𝑗. This gives us a little table for what the number 𝑖 does to the other
quaternions. But I want this not to be something that you memorize, but something that you could
close your eyes and you could really see.
Computationally, if you know what a quaternion does to the numbers one, 𝑖, 𝑗, and
𝑘, you know what it does to any arbitrary quaternion. Since multiplication distributes nicely. In the language of linear algebra, one, 𝑖, 𝑗, and 𝑘 form a basis of our
four-dimensional space. So knowing what our transformation does to them gives us the full information about
what it does to all of space.
Geometrically, a four-dimensional creature would be able to look at those two
perpendicular rotations that I just described and understand that they lock you into
one and only one rigid motion for the hypersphere. We might lack the intuitions of such a hypothetical creature. But we can maybe try to get close. Here’s what the action of repeatedly multiplying by 𝑖 looks like on our
stereographic projection of the 𝑖, 𝑗, 𝑘 sphere. It gets rotated into what we see as a plane. Then gets rotated further back to where it used to be, though the orientation is all
reversed now. Then it gets rotated again into what we see as a plane. And after the fourth iteration, it ends up right back where it started.
As another example, think of a quaternion like 𝑞 equals negative square root of two
over two plus square root of two over two times 𝑖. Which, if we pull up a picture of a complex plane, is a 135-degree rotation away from
one in the direction of 𝑖. Under our projection, we see this along the line from one to 𝑖 somewhere outside the
unit sphere. If that sounds weird, just remember how Linus would’ve seen the same number. The action of multiplying this 𝑞 by all other quaternions will look to us like
dragging the point at one all the way to this projected version of 𝑞. While the 𝑗𝑘 circle gets rotated 135 degrees, according to our right-hand rule.
Multiplication by any other quaternion is completely similar. For example, let’s see what it looks like for 𝑗 to act on other quaternions by
multiplication from the left. The circle through one and 𝑗, which we see projected as a line through the origin,
gets rotated 90 degrees, dragging one up to 𝑗. So 𝑗 times one is one, and 𝑗 times 𝑗 is negative one. The circle perpendicular to that one, passing through 𝑖 and 𝑘, gets rotated 90
degrees according to this right-hand rule, where you point your thumb from one to
𝑗. So 𝑗 times 𝑖 is negative 𝑘, and 𝑗 times 𝑘 is 𝑖.
In general, for any other unit quaternion you see somewhere in space, start by
drawing the unit circle passing through one, 𝑞, and negative one. Which we see in our projection as a line through the origin. Then draw the circle perpendicular to that one on what we see as the unit sphere. You rotate the first circle so that one ends up where 𝑞 was. And rotate the perpendicular circle by the same amount, according to the right-hand
rule.
One thing worth noticing here is that order of multiplication matters. It’s not, as mathematicians would say, commutative. For example, 𝑖 times 𝑗 is 𝑘, which you might think of in terms of 𝑖 acting on the
quaternion 𝑗, rotating it up to 𝑘. But if you think of 𝑗 as acting on 𝑖, 𝑗 times 𝑖, it rotates 𝑖 to negative
𝑘. In fact, commutativity, this ability to swap the order of multiplication, is a way
more special property than a lot of people realize. And most groups of actions on some space don’t have it. It’s like how in solving a Rubik’s cube, order matters a lot. Or how rotating a cube about the 𝑧-axis and then about the 𝑥-axis gives a different
final state from rotating it about the 𝑥-axis, then about the 𝑧-axis.
And last, as one final but rather important point, so far I’ve shown you how to think
about quaternions as acting by left multiplication. Where when you read an expression like 𝑖 times 𝑗, you think of 𝑖 as a kind of
function morphing all of space and 𝑗 is just one of the points that it’s acting
on. But you can also think of them as a different sort of action, by multiplying from the
right, where in this expression, 𝑗 would be acting on 𝑖. In that case, the rule for multiplication is very similar. It’s still the case that one goes to 𝑗 and 𝑗 goes to negative one, etc. But instead of applying the right-hand rule to the circle perpendicular to the one 𝑗
circle, you would use your left hand.
So either way, 𝑖 times 𝑗 is equal to 𝑘. But you can either think about this with your right hand curling the number 𝑗 to the
number 𝑘 as your thumb points from one to 𝑖. Or as your left hand curling 𝑖 to 𝑘 as its thumb points from one to 𝑗. Understanding this left-hand rule for multiplication from the other side will be
extremely useful for understanding how unit quaternions describe rotation in three
dimensions.
And so far, it’s probably not clear how exactly quaternions do describe 3D
rotation. I mean, if you consider one of these actions on the unit sphere passing through 𝑖,
𝑗, and 𝑘. It doesn’t leave that sphere in place. It morphs it out of position. So the way that this works is slightly more complicated than a single quaternion
product. It involves a process called conjugation. And I’ll make a full follow-on video all about it so that we have the time to go
through some examples.
In the meantime, for more information on the story of quaternions and their relation
to orientation in 3D space, Quanta, a mathematical publication I’m sure a lot of you
are familiar with, just put out a post in a kind of loose conjunction with this
video. Link in the description. If you enjoyed this, consider sharing it with some friends. And if you felt like the narrative structure here was actually helpful for
understanding, maybe reassure those friends who would be turned off by a large
timestamp that good math is actually worth the time. And many thanks to the patrons among you. I actually spent way longer than I care to admit on this project. So your patience and support is especially appreciated this time around.