math and physics play

Geometric algebra: a very short video introduction.

August 1, 2023 math and physics play , ,


Here’s another geometric algebra video, weighing in at a massive 2:29 (minutes.)

This video is a very short introduction to geometric algebra, showing the most basic concepts and how to apply them to the 2D geometric algebra of the Euclidean plane. Those concepts aren’t developed further in this video, but the idea is just to show the most basic consequences of the definitions.

Prerequisites: basic vector algebra (basis, vector space, dot product space, arrow representation of vectors, graphical vector addition, …)

If you watched yesterday’s video, don’t both watching this one, since it is extracted from that with no additions.

You can find the video on Google’s censorship-tube, and on odysee.

Video: Circular velocity and acceleration with geometric algebra

July 31, 2023 math and physics play , , , ,

Months ago, I used Manim to create a outline a geometric algebra treatment of the derivation of the circular velocity and acceleration formulas that you would find in a first year undergrad physics course.  I never published it, since overlaying audio and getting the timing of the audio and video right is hard (at least for me.)  I’m also faced with the difficulty of not being able to speak properly when attempting to record myself.
Anyways, I finally finished the audio overlays (it was sitting waiting for me to record the final 10s of audio!), and have posted this little 11 minute video, which includes:
  • A reminder of what circular coordinates are.
  • A brief outline of what is meant by each of the circular basis vectors.
  • A derivation of those basis vectors (just basic geometry, and no GA.)
  • A brief introduction to geometric algebra, and geometric algebra for a plane, including the “imaginary” \( i = \Be_1 \Be_2 \), and it’s use for rotation and polar form.
  • How to express the circular basis vectors in polar form.
  • Application of all the ideas above to compute velocity and acceleration.
  • Circular coordinate examples of velocity and acceleration.
It probably doesn’t actually make sense to try to pack all these ideas into one video, but oh well — that’s what I did.
You can find the video on google’s censorship-tube, and on odysee.

Complex-pair representation of GA(2,0) multivectors

June 15, 2023 math and physics play , ,

[Click here for a PDF version of this post]

We found previously that a complex pair representation of a GA(2,0) multivector had a compact geometric product realization. Now that we know the answer, let’s work backwards from that representation to verify that everything matches our expectations.

We are representing a multivector of the form
\begin{equation}\label{eqn:bicomplexCl20:20}
M = a + b \Be_1 \Be_2 + x \Be_1 + y \Be_2,
\end{equation}
as the pair of complex numbers
\begin{equation}\label{eqn:bicomplexCl20:40}
M \sim \lr{ a + i b, x + i y }.
\end{equation}
Given a pair of multivectors with this complex representation
\begin{equation}\label{eqn:bicomplexCl20:60}
\begin{aligned}
M &= \lr{ z_1, z_2 } \\
N &= \lr{ q_1, q_2 },
\end{aligned}
\end{equation}
we found that our geometric product representation was
\begin{equation}\label{eqn:bicomplexCl20:80}
M N \sim
\lr{ z_1 q_1 + z_2^\conj q_2, z_2 q_1 + z_1^\conj q_2 }.
\end{equation}

Our task is now to verify that this is correct. Let’s set
\begin{equation}\label{eqn:bicomplexCl20:100}
\begin{aligned}
z_1 &= a + i b \\
q_1 &= a’ + i b’ \\
z_2 &= x + i y \\
q_2 &= x’ + i y’,
\end{aligned}
\end{equation}
and proceed with an expansion of the even grade components
\begin{equation}\label{eqn:bicomplexCl20:120}
\begin{aligned}
z_1 q_1 + z_2^\conj q_2
&=
\lr{ a + i b } \lr{ a’ + i b’ }
+
\lr{ x – i y } \lr{ x’ + i y’ } \\
&=
a a’ – b b’ + x x’ + y y’
+ i \lr{ b a’ + a b’ + x y’ – y x’ } \\
&=
x x’ + y y’ + i \lr{ x y’ – y x’ } + \quad a a’ – b b’ + i \lr{ b a’ + a b’ }.
\end{aligned}
\end{equation}
The first terms is clearly the geometric product of two vectors
\begin{equation}\label{eqn:bicomplexCl20:140}
\lr{ x \Be_1 + y \Be_2 } \lr{ x’ \Be_1 + y’ \Be_2 }
=
x x’ + y y’ + i \lr{ x y’ – y x’ },
\end{equation}
and we are able to verify that the second parts can be factored too
\begin{equation}\label{eqn:bicomplexCl20:160}
\lr{ a + b i } \lr{ a’ + b’ i }
=
a a’ – b b’ + i \lr{ b a’ + a b’ }.
\end{equation}
This leaves us with
\begin{equation}\label{eqn:bicomplexCl20:180}
\gpgrade{ M N }{0,2} = \gpgradeone{ M } \gpgradeone{ N } + \gpgrade{ M }{0,2} \gpgrade{ N }{0,2},
\end{equation}
as expected. This part of our representation checks out.

Now, let’s look at the vector component of our representation. First note that to convert from our complex representation of our vector \( z = x + i y \) to the standard basis representation of our vector, we need only multiply by \( \Be_1 \) on the left, for example:
\begin{equation}\label{eqn:bicomplexCl20:220}
\Be_1 \lr{ x + i y } = \Be_1 x + \Be_1 \Be_1 \Be_2 y = \Be_1 x + \Be_2 y.
\end{equation}
So, for the vector component of our assumed product representation, we have
\begin{equation}\label{eqn:bicomplexCl20:200}
\begin{aligned}
\Be_1 \lr{ z_2 q_1 + z_1^\conj q_2 }
&=
\Be_1 \lr{ x + i y } \lr{ a’ + i b’ }
+
\Be_1 \lr{ a – i b } \lr{ x’ + i y’ } \\
&=
\Be_1 \lr{ x + i y } \lr{ a’ + i b’ }
+
\lr{ a + i b } \Be_1 \lr{ x’ + i y’ } \\
&=
\gpgradeone{ M } \gpgrade{ N}{0,2}
+ \gpgrade{ M }{0,2} \gpgradeone{ N},
\end{aligned}
\end{equation}
as expected.

Our complex-pair realization of the geometric product checks out.

A complex-pair representation of GA(2,0).

June 15, 2023 math and physics play , , , ,

[Click here for a PDF version of this post]

Motivation.

Suppose that we want to represent GA(2,0) (Euclidean) multivectors as a pair of complex numbers, with a structure like
\begin{equation}\label{eqn:bicomplexGA20:20}
M = (m_1, m_2),
\end{equation}
where
\begin{equation}\label{eqn:bicomplexGA20:40}
\begin{aligned}
\gpgrade{M}{0,2} &\sim m_1 \\
\gpgrade{M}{1} &\sim m_2.
\end{aligned}
\end{equation}
Specifically
\begin{equation}\label{eqn:bicomplexGA20:60}
\begin{aligned}
\gpgrade{M}{0} &= \textrm{Re}(m_1) \\
\gpgrade{M}{1} \cdot \Be_1 &= \textrm{Re}(m_2) \\
\gpgrade{M}{1} \cdot \Be_2 &= \textrm{Im}(m_2) \\
\gpgrade{M}{2} i^{-1} &= \textrm{Im}(m_1),
\end{aligned}
\end{equation}
where \( i \sim \Be_1 \Be_2 \).

Multivector product representation.

Let’s figure out how we can represent the various GA products, starting with the geometric product. Let
\begin{equation}\label{eqn:bicomplexGA20:80}
\begin{aligned}
M &= \gpgrade{M}{0,2} + \gpgrade{M}{1} = (m_1, m_2) = (m_{11} + m_{12} i, m_{21} + m_{22} i) \\
N &= \gpgrade{N}{0,2} + \gpgrade{N}{1} = (n_1, n_2) = (n_{11} + n_{12} i, n_{21} + n_{22} i),
\end{aligned}
\end{equation}
so
\begin{equation}\label{eqn:bicomplexGA20:200}
\begin{aligned}
M N
&= \gpgrade{M}{0,2} \gpgrade{N}{0,2} + \gpgrade{M}{1} \gpgrade{N}{1} \\
&\quad+ \gpgrade{M}{1} \gpgrade{N}{0,2} + \gpgrade{M}{0,2} \gpgrade{N}{1}
\end{aligned}
\end{equation}

The first two terms have only even grades, and the second two terms are vectors. The complete representation of the even grade components of this multivector product is
\begin{equation}\label{eqn:bicomplexGA20:240}
\gpgrade{M N}{0,2} \sim \lr{ m_1 n_1 + \textrm{Re}(m_2 n_2^\conj) – i \textrm{Im}(m_2 n_2^\conj), 0 },
\end{equation}
or
\begin{equation}\label{eqn:bicomplexGA20:260}
\begin{aligned}
\gpgrade{M N}{0} &= \textrm{Re}\lr{ m_1 n_1 + m_2 n_2^\conj } \\
\gpgrade{M N}{2} i^{-1} &= \textrm{Im}\lr{ m_1 n_1 – m_2 n_2^\conj }.
\end{aligned}
\end{equation}

For the vector components we have
\begin{equation}\label{eqn:bicomplexGA20:280}
\begin{aligned}
\gpgrade{M N}{1}
&=
\gpgrade{M}{1} \gpgrade{N}{0} + \gpgrade{M}{0} \gpgrade{N}{1}
+
\gpgrade{M}{1} \gpgrade{N}{2} + \gpgrade{M}{2} \gpgrade{N}{1} \\
&= \gpgrade{M}{1} n_{11} + m_{11} \gpgrade{N}{1} + \gpgrade{M}{1} i n_{12} + i m_{12} \gpgrade{N}{1}.
\end{aligned}
\end{equation}
For these,
\begin{equation}\label{eqn:bicomplexGA20:300}
\begin{aligned}
\gpgrade{M}{1} i
&= \lr{ m_{21} \Be_1 + m_{22} \Be_2 } \Be_{12}
&= – m_{22} \Be_1 + m_{21} \Be_2,
\end{aligned}
\end{equation}
and
\begin{equation}\label{eqn:bicomplexGA20:320}
\begin{aligned}
i \gpgrade{N}{1}
&= \Be_{12} \lr{ n_{21} \Be_1 + n_{22} \Be_2 }
&=
n_{22} \Be_1 – n_{21} \Be_2.
\end{aligned}
\end{equation}
Comparing to
\begin{equation}\label{eqn:bicomplexGA20:340}
i (a + i b)
= -b + i a,
\end{equation}
we see that
\begin{equation}\label{eqn:bicomplexGA20:360}
\gpgrade{M N}{1}
\sim
\lr{ 0, n_{11} m_2 + m_{11} n_2 + n_{12} i m_2 – m_{12} i n_2 }.
\end{equation}
If we want the vector coordinates, those are
\begin{equation}\label{eqn:bicomplexGA20:380}
\begin{aligned}
\gpgrade{M N}{1} \cdot \Be_1 &= \textrm{Re} \lr{ n_{11} m_2 + m_{11} n_2 + n_{12} i m_2 – m_{12} i n_2 } \\
\gpgrade{M N}{1} \cdot \Be_2 &= \textrm{Im} \lr{ n_{11} m_2 + m_{11} n_2 + n_{12} i m_2 – m_{12} i n_2 }.
\end{aligned}
\end{equation}

Summary.

\begin{equation}\label{eqn:bicomplexGA20:n}
M N \sim
\lr{ m_1 n_1 + \textrm{Re}(m_2 n_2^\conj) – i \textrm{Im}(m_2 n_2^\conj), n_{11} m_2 + m_{11} n_2 + n_{12} i m_2 – m_{12} i n_2 }.
\end{equation}

A sample Mathematica implementation is available, as well as an example notebook (that also doubles as a test case.)

Clarification.

I skipped a step above, showing the correspondances to the dot and wedge product.

Let \(z = a + bi\), and \(w = c + di\). Then:
\begin{equation}\label{eqn:bicomplexGA20:420}
\begin{aligned}
z w^\conj
&=
\lr{ a + b i } \lr{ c – d i } \\
&= a c + b d -i \lr{ a d – b c }.
\end{aligned}
\end{equation}
Compare that to the geometric product of two vectors \( \Bx = a \Be_1 + b \Be_2 \), and \( \By = c \Be_1 + d \Be_2 \), where we have
\begin{equation}\label{eqn:bicomplexGA20:440}
\begin{aligned}
\Bx \By &= \Bx \cdot \By + \Bx \wedge \By \\
&= \lr{ a \Be_1 + b \Be_2 } \lr{ c \Be_1 + d \Be_2 } \\
&= a c + b d + \Be_1 \Be_2 \lr{ a d – b c }.
\end{aligned}
\end{equation}
So we have
\begin{equation}\label{eqn:bicomplexGA20:460}
\begin{aligned}
a b + cd &= \Bx \cdot \By = \textrm{Re} \lr{ z w^\conj } \\
a d – b c &= \lr{ \Bx \wedge \By } \Be_{12}^{-1} = – \textrm{Im} \lr{ z w^\conj }.
\end{aligned}
\end{equation}
We see that \( \lr{z w^\conj}^\conj = z^\conj w \) can be used as a representation of the geometric product of two vectors (setting \( i = \Be_1 \Be_2 \) as usual.)

Another simplification.

We have sums of the form
\begin{equation}\label{eqn:bicomplexGA20:480}
\textrm{Re}(z) w \pm \textrm{Im}(z) i w
\end{equation}
above. Let’s see if those can be simplified. For the positive case we have
\begin{equation}\label{eqn:bicomplexGA20:500}
\begin{aligned}
\textrm{Re}(z) w + \textrm{Im}(z) i w
&=
\inv{2} \lr{ z + z^\conj } w + \inv{2} \lr{ z – z^\conj } w \\
&=
z w,
\end{aligned}
\end{equation}
and for the negative case, we have
\begin{equation}\label{eqn:bicomplexGA20:520}
\begin{aligned}
\textrm{Re}(z) w – \textrm{Im}(z) i w
&=
\inv{2} \lr{ z + z^\conj } w – \inv{2} \lr{ z – z^\conj } w \\
&=
z^\conj w.
\end{aligned}
\end{equation}
This, with the vector-vector product simplification above, means that we can represent the full multivector product in this representation as just
\begin{equation}\label{eqn:bicomplexGA20:540}
M N \sim
\lr{ m_1 n_1 + m_2^\conj n_2, m_2 n_1 + m_1^\conj n_2 }.
\end{equation}

A discord server for “Peeter’s math and physics play”

April 12, 2023 math and physics play ,

I receive emailed math and physics questions fairly frequently, often about my “Geometric Algebra for Electrical Engineers” book.  Email is a very unsatisfactory way to correspond for mathematics centric material, as you cannot format content easily using LaTeX.

To ease that pain, I have created a discord server, “Peeter Joot’s math and physics play” that I hope to use instead of email going forward.  I have the TexIt bot installed on my discord server, so with relatively little effort anybody that uses that server for Q&A will be able to supply questions that are formatted nicely in LaTeX.  And if nothing else, my side of any such discussions can be formatted nicely in a readable fashion.

I know that the primary user base for discord are video gamers, but I don’t have an issue with rebranding discord as “the math chat app” for my own purposes.  I’m not the originator of this idea — I am flagrantly stealing the idea from Enki’s bivector discord, a great community, but more general than I expect mine to be.  I don’t think we can loose with lots of math chat apps available.