pseudoscalar

Curl of Curl. Tensor and GA expansion, and GA equivalent identity.

November 12, 2025 math and physics play , , , , , , , , , , ,

[Click here for a PDF version of this post]

In this blog post, we will expand \(\spacegrad \cross \lr{ \spacegrad \cross \Bf } = -\spacegrad^2 \Bf + \spacegrad \lr{ \spacegrad \cdot \Bf } \) two different ways, using tensor index gymnastics and using geometric algebra.

The tensor way.

To expand the curl using a tensor expansion, let’s first expand the cross product in coordinates
\begin{equation}\label{eqn:curlcurl2:20}
\begin{aligned}
\Ba \cross \Bb
&=
\lr{ \Be_r \cross \Be_s } a_r b_s \\
&=
\Be_t \cdot \lr{ \Be_r \cross \Be_s } \Be_t a_r b_s \\
&=
\epsilon_{rst} a_r b_s \Be_t.
\end{aligned}
\end{equation}
Here \( \epsilon_{rst} \) is the completely antisymmetric (Levi-Civita) tensor, and allows us to compactly express the geometrical nature of the triple product.

We can then expand the curl of the curl by applying this twice
\begin{equation}\label{eqn:curlcurl2:40}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
&=
\epsilon_{rst} \partial_r \lr{ \spacegrad \cross \Bf }_s \Be_t \\
&=
\epsilon_{rst} \partial_r \lr{ \epsilon_{uvw} \partial_u f_v \Be_w }_s \Be_t \\
&=
\epsilon_{rst} \partial_r \epsilon_{uvs} \partial_u f_v \Be_t.
\end{aligned}
\end{equation}

It turns out that there’s a nice identity to reduce the single index contraction of a pair of Levi-Civita tensors.
\begin{equation}\label{eqn:curlcurl2:60}
\epsilon_{abt} \epsilon_{cdt} = \delta_{ac} \delta_{bd} – \delta_{ad} \delta_{bc}.
\end{equation}
To show this, consider the \( t = 1 \) term of this sum \( \epsilon_{ab1} \epsilon_{cd1} \). This is non-zero only for \( a,b,c,d \in \setlr{2,3} \). If \( a,b = c,d \), this is one, and if \( a,b = d,c \), this is minus one. We may summarize that as
\begin{equation}\label{eqn:curlcurl2:80}
\epsilon_{ab1} \epsilon_{cd1} = \delta_{ac} \delta_{bd} – \delta_{ad} \delta_{bc},
\end{equation}
but this holds for \( t = 2,3 \) too, so \ref{eqn:curlcurl2:60} holds generally.

We may now contract the tensors to find
\begin{equation}\label{eqn:curlcurl2:100}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
&=
\epsilon_{rst} \epsilon_{uvs} \Be_t \partial_r \partial_u f_v \\
&=
-\epsilon_{rts} \epsilon_{uvs} \Be_t \partial_r \partial_u f_v \\
&=
-\lr{ \delta_{ru} \delta_{tv} – \delta_{rv} \delta_{tu} } \Be_t \partial_r \partial_u f_v \\
&=
– \Be_v \partial_u \partial_u f_v
+ \Be_u \partial_v \partial_u f_v \\
&=
-\spacegrad^2 \Bf + \spacegrad \lr{ \spacegrad \cdot \Bf }.
\end{aligned}
\end{equation}

Using geometric algebra.

Now let’s pull out the GA toolbox. We start with introducing a no-op grade-1 selection, and using the identity \( \Ba \cross \Bb = -I \lr{ \Ba \wedge \Bb } \)
\begin{equation}\label{eqn:curlcurl2:120}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
&=
\gpgradeone{
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
} \\
&=
\gpgradeone{
-I \lr{ \spacegrad \wedge \lr{ \spacegrad \cross \Bf } }
} \\
\end{aligned}
\end{equation}
We can now expand \( \Ba \wedge \Bb = \Ba \Bb – \Ba \cdot \Bb \)
\begin{equation}\label{eqn:curlcurl2:140}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
=
\gpgradeone{
-I \spacegrad \lr{ \spacegrad \cross \Bf }
+I \lr{ \spacegrad \cdot \lr{ \spacegrad \cross \Bf } }
}
\end{equation}
but that dot product is a scalar, leaving just a pseudoscalar, which has a zero grade-1 selection. This leaves
\begin{equation}\label{eqn:curlcurl2:160}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
&=
\gpgradeone{
-I \spacegrad \lr{ -I \lr{ \spacegrad \wedge \Bf } }
} \\
&=
-\gpgradeone{
\spacegrad \lr{ \spacegrad \wedge \Bf }
}.
\end{aligned}
\end{equation}
We use \( \Ba \wedge \Bb = \Ba \Bb – \Ba \cdot \Bb \) once more
\begin{equation}\label{eqn:curlcurl2:180}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
&=
-\gpgradeone{
\spacegrad \lr{ \spacegrad \Bf }
-\spacegrad \lr{ \spacegrad \cdot \Bf }
}
\\
&=
-\spacegrad^2 \Bf
+\spacegrad \lr{ \spacegrad \cdot \Bf }.
\end{aligned}
\end{equation}

GA identity.

It’s also worth noting that there’s a natural GA formulation of the curl of a curl. From the Laplacian and divergence relationship that we ended up with, we need only factor out the gradient
\begin{equation}\label{eqn:curlcurl2:200}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad \cross \Bf }
&=
-\spacegrad^2 \Bf +\spacegrad \lr{ \spacegrad \cdot \Bf } \\
&=
-\spacegrad \lr{ \spacegrad \Bf – \spacegrad \cdot \Bf } \\
&=
-\spacegrad \lr{ \spacegrad \wedge \Bf }.
\end{aligned}
\end{equation}
Because \( \spacegrad \wedge \lr{ \spacegrad \wedge \Bf } = 0 \), we may also write this as
\begin{equation}\label{eqn:curlcurl2:220}
\boxed{
\spacegrad \cdot \lr{ \spacegrad \wedge \Bf } = -\spacegrad \cross \lr{ \spacegrad \cross \Bf }.
}
\end{equation}
From the GA LHS, we see by inspection that
\begin{equation}\label{eqn:curlcurl2:240}
\spacegrad \cdot \lr{ \spacegrad \wedge \Bf } = \spacegrad^2 \Bf – \spacegrad \lr{ \spacegrad \cdot \Bf }.
\end{equation}

A fun application of Green’s functions and geometric algebra: Residue calculus

November 2, 2025 math and physics play , , , , , , , , , , , , , , , , , ,

[Click here for a PDF version of this post]

Motivation.

A fun application of both Green’s functions and geometric algebra is to show how the Cauchy integral equation can be expressed in terms of the Green’s function for the 2D gradient. This is covered, almost as an aside, in [1]. I found that treatment a bit hard to understand, so I am going to work through it here at my own pace.

Complex numbers in geometric algebra.

Anybody who has studied geometric algebra is likely familiar with a variety of ways to construct complex numbers from geometric objects. For example, complex numbers can be constructed for any plane. If \( \Be_1, \Be_2 \) is a pair of orthonormal vectors for some plane in \(\mathbb{R}^N\), then any vector in that plane has the form
\begin{equation}\label{eqn:residueGreens:20}
\Bf = \Be_1 u + \Be_2 v,
\end{equation}
has an associated complex representation, by simply multiplying that vector one of those basis vectors. For example, if we pre-multiply \( \Bf \) by \( \Be_1 \), forming
\begin{equation}\label{eqn:residueGreens:40}
\begin{aligned}
z
&= \Be_1 \Bf \\
&= \Be_1 \lr{ \Be_1 u + \Be_2 v } \\
&= u + \Be_1 \Be_2 v.
\end{aligned}
\end{equation}

We may identify the unit bivector \( \Be_1 \Be_2 \) as an imaginary, designed by \( i \), since it has the expected behavior
\begin{equation}\label{eqn:residueGreens:60}
\begin{aligned}
i^2 &=
\lr{\Be_1 \Be_2}^2 \\
&=
\lr{\Be_1 \Be_2}
\lr{\Be_1 \Be_2} \\
&=
\Be_1 \lr{\Be_2
\Be_1} \Be_2 \\
&=
-\Be_1 \lr{\Be_1
\Be_2} \Be_2 \\
&=
-\lr{\Be_1 \Be_1}
\lr{\Be_2 \Be_2} \\
&=
-1.
\end{aligned}
\end{equation}

Complex numbers are seen to be isomorphic to even grade multivectors in a planar subspace. The imaginary is the grade-two pseudoscalar, and geometrically is an oriented unit area (bivector.)

Cauchy-equations in terms of the gradient.

It is natural to wonder about the geometric algebra equivalents of various complex-number relationships and identities. Of particular interest for this discussion is the geometric algebra equivalent of the Cauchy equations that specify required conditions for a function to be differentiable.

If a complex function \( f(z) = u(z) + i v(z) \) is differentiable, then we must be able to find the limit of
\begin{equation}\label{eqn:residueGreens:80}
\frac{\Delta f(z_0)}{\Delta z} = \frac{f(z_0 + h) – f(z_0)}{h},
\end{equation}
for any complex \( h \rightarrow 0 \), for any possible trajectory of \( z_0 + h \) toward \( z_0 \). In particular, for real \( h = \epsilon \),
\begin{equation}\label{eqn:residueGreens:100}
\lim_{\epsilon \rightarrow 0} \frac{u(x_0 + \epsilon, y_0) + i v(x_0 + \epsilon, y_0) – u(x_0, y_0) – i v(x_0, y_0)}{\epsilon}
=
\PD{x}{u(z_0)} + i \PD{x}{v(z_0)},
\end{equation}
and for imaginary \( h = i \epsilon \)
\begin{equation}\label{eqn:residueGreens:120}
\lim_{\epsilon \rightarrow 0} \frac{u(x_0, y_0 + \epsilon) + i v(x_0, y_0 + \epsilon) – u(x_0, y_0) – i v(x_0, y_0)}{i \epsilon}
=
-i\lr{ \PD{y}{u(z_0)} + i \PD{y}{v(z_0)} }.
\end{equation}
Equating real and imaginary parts, we see that existence of the derivative requires
\begin{equation}\label{eqn:residueGreens:140}
\begin{aligned}
\PD{x}{u} &= \PD{y}{v} \\
\PD{x}{v} &= -\PD{y}{u}.
\end{aligned}
\end{equation}
These are the Cauchy equations. When the derivative exists in a given neighbourhood, we say that the function is analytic in that region. If we use a bivector interpretation of the imaginary, with \( i = \Be_1 \Be_2 \), the Cauchy equations are also satisfied if the gradient of the complex function is zero, since
\begin{equation}\label{eqn:residueGreens:160}
\begin{aligned}
\spacegrad f
&=
\lr{ \Be_1 \partial_x + \Be_2 \partial_y } \lr{ u + \Be_1 \Be_2 v } \\
&=
\Be_1 \lr{ \partial_x u – \partial_y v } + \Be_2 \lr{ \partial_y u + \partial_x v }.
\end{aligned}
\end{equation}
We see that the geometric algebra equivalent of the Cauchy equations is simply
\begin{equation}\label{eqn:residueGreens:200}
\spacegrad f = 0.
\end{equation}
Roughly speaking, we may say that a function is analytic in a region, if the Cauchy equations are satisfied, or the gradient is zero, in a neighbourhood of all points in that region.

A special case of the fundamental theorem of geometric calculus.

Given an even grade multivector \( \psi \in \mathbb{R}^2 \) (i.e.: a complex number), we can show that
\begin{equation}\label{eqn:residueGreens:220}
\int_A \spacegrad \psi d^2\Bx = \oint_{\partial A} d\Bx \psi.
\end{equation}
Let’s get an idea why this works by expanding the area integral for a rectangular parameterization
\begin{equation}\label{eqn:residueGreens:240}
\begin{aligned}
\int_A \spacegrad \psi d^2\Bx
&=
\int_A \lr{ \Be_1 \partial_1 + \Be_2 \partial_2 } \psi I dx dy \\
&=
\int \Be_1 I dy \evalrange{\psi}{x_0}{x_1}
+
\int \Be_2 I dx \evalrange{\psi}{y_0}{y_1} \\
&=
\int \Be_2 dy \evalrange{\psi}{x_0}{x_1}

\int \Be_1 dx \evalrange{\psi}{y_0}{y_1} \\
&=
\int d\By \evalrange{\psi}{x_0}{x_1}

\int d\Bx \evalrange{\psi}{y_0}{y_1}.
\end{aligned}
\end{equation}
We took advantage of the fact that the \(\mathbb{R}^2\) pseudoscalar commutes with \( \psi \). The end result, is illustrated in fig. 1, shows pictorially that the remaining integral is an oriented line integral.

fig. 1. Oriented multivector line integral.

 

If we want to approximate a more general area, we may do so with additional tiles, as illustrated in fig. 2. We may evaluate the area integral using the line integral over just the exterior boundary using such a tiling, as any overlapping opposing boundary contributions cancel exactly.

fig. 2. A crude circular tiling approximation.

 

The reason that this is interesting is that it allows us to re-express a complex integral as a corresponding multivector area integral. With \( d\Bx = \Be_1 dz \), we have
\begin{equation}\label{eqn:residueGreens:260}
\oint dz\, \psi = \Be_1 \int \spacegrad \psi d^2\Bx.
\end{equation}

The Cauchy kernel as a Green’s function.

We’ve previously derived the Green’s function for the 2D Laplacian, and found
\begin{equation}\label{eqn:residueGreens:280}
\tilde{G}(\Bx, \Bx’) = \inv{2\pi} \ln \Abs{\lr{\Bx – \Bx’}},
\end{equation}
which satisfies
\begin{equation}\label{eqn:residueGreens:300}
\delta^2(\Bx – \Bx’) = \spacegrad^2 \tilde{G}(\Bx, \Bx’) = \spacegrad \lr{ \spacegrad \tilde{G}(\Bx, \Bx’) }.
\end{equation}
This means that \( G(\Bx, \Bx’) = \spacegrad \tilde{G}(\Bx, \Bx’) \) is the Green’s function for the gradient. That Green’s function is
\begin{equation}\label{eqn:residueGreens:320}
\begin{aligned}
G(\Bx, \Ba)
&= \inv{2 \pi} \frac{\spacegrad \Abs{\Bx – \Ba}}{\Abs{\Bx – \Ba}} \\
&= \inv{2 \pi} \frac{\Bx – \Ba}{\Abs{\Bx – \Ba}^2}.
\end{aligned}
\end{equation}
We may cast this Green’s function into complex form with \( z = \Be_1 \Bx, a = \Be_1 \Ba \). In particular
\begin{equation}\label{eqn:residueGreens:340}
\begin{aligned}
\inv{z – a}
&=
\frac{(z – a)^\conj}{\Abs{z – a}^2} \\
&=
\frac{(z – a)^\conj}{\Abs{z – a}^2} \\
&=
\frac{\Bx – \Ba}{\Abs{\Bx – \Ba}^2} \Be_1 \\
&=
2 \pi G(\Bx, \Ba) \Be_1.
\end{aligned}
\end{equation}

Cauchy’s integral.

With
\begin{equation}\label{eqn:residueGreens:360}
\psi = \frac{f(z)}{z – a},
\end{equation}
using \ref{eqn:residueGreens:260}, we can now evaluate
\begin{equation}\label{eqn:residueGreens:265}
\begin{aligned}
\oint dz\, \frac{f(z)}{z – a}
&= \Be_1 \int \spacegrad \frac{f(z)}{z – a} d^2\Bx \\
&= \Be_1 \int \lr{ \frac{\spacegrad f(z)}{z – a} + \lr{ \spacegrad \inv{z – a}} f(z) } I dA \\
&= \Be_1 \int f(z) \spacegrad 2 \pi G(\Bx – \Ba) \Be_1 I dA \\
&= 2 \pi \Be_1 \int \delta^2(\Bx – \Ba) \Be_1 f(\Bx) I dA \\
&= 2 \pi \Be_1^2 f(\Ba) I \\
&= 2 \pi I f(a),
\end{aligned}
\end{equation}
where we’ve made use of the analytic condition \( \spacegrad f = 0 \), and the fact that \( f \) and \( 1/(z-a) \), both even multivectors, commute.

The Cauchy integral equation
\begin{equation}\label{eqn:residueGreens:380}
f(a) = \inv{2 \pi I} \oint dz\, \frac{f(z)}{z – a},
\end{equation}
falls out naturally. This sort of residue calculation always seemed a bit miraculous. By introducing a geometric algebra encoding of complex numbers, we get a new and interesting interpretation. In particular,

  1. the imaginary factor in the geometric algebra formulation of this identity is an oriented unit area coming directly from the area element,
  2. the factor of \( 2 \pi \) comes directly from the Green’s function for the gradient,
  3. the fact that this particular form of integral picks up only the contribution at the point \( z = a \) is no longer mysterious seeming. This is directly due to delta-function filtering.

Also, if we are looking for an understanding of how to generalize the Cauchy equation to more general multivector functions, we now also have a good clue how that would be done.

References

[1] C. Doran and A.N. Lasenby. Geometric algebra for physicists. Cambridge University Press New York, Cambridge, UK, 1st edition, 2003.

Equation of a hyperplane, and shortest distance between two hyperplanes.

December 13, 2024 math and physics play , , , , , , ,

[Click here for a PDF version of this post]

Scalar equation for a hyperplane.

In our last post, we found, in a round about way, that

Theorem 1.1:

The equation of a \(\mathbb{R}^N\) hyperplane, with distance \( d \) from the origin, and normal \( \mathbf{\hat{n}} \) is
\begin{equation*}
\Bx \cdot \mathbf{\hat{n}} = d.
\end{equation*}

Start proof:

Let \( \beta = \setlr{ \mathbf{\hat{f}}_1, \cdots \mathbf{\hat{f}}_{N-1} } \) be an orthonormal basis for the hyperplane normal to \( \mathbf{\hat{n}} \), and \( \Bd = d \mathbf{\hat{n}} \) be the vector in that hyperplane, closest to the origin, as illustrated in fig. 1.

 

fig 1. R^3 plane with normal n-cap

The hyperplane \( d \) distant from the origin with normal \( \mathbf{\hat{n}} \) has the parametric representation
\begin{equation}\label{eqn:hyperplaneGeometry:40}
\Bx(a_1, \cdots, a_{N-1}) = d \mathbf{\hat{n}} + \sum_{i = 1}^{N-1} a_i \mathbf{\hat{f}}_i.
\end{equation}
Equivalently, suppressing the parameterization, with \( \Bx = \Bx(a_1, \cdots, a_{N-1}) \), representing any vector in that hyperplane, by dotting with \( \mathbf{\hat{n}} \), we have
\begin{equation}\label{eqn:hyperplaneGeometry:60}
\Bx \cdot \mathbf{\hat{n}} = d \mathbf{\hat{n}} \cdot \mathbf{\hat{n}},
\end{equation}
where all the \( \mathbf{\hat{f}}_i \cdot \mathbf{\hat{n}} \) dot products are zero by construction. Since \( \mathbf{\hat{n}} \cdot \mathbf{\hat{n}} = 0 \), the proof is complete.

End proof.

Incidentally, observe we can also write the hyperplane equation in dual form, as
\begin{equation}\label{eqn:hyperplaneGeometry:220}
\Bx \wedge (\mathbf{\hat{n}} I) = d I,
\end{equation}
where \( I \) is an \(\mathbb{R}^N\) pseudoscalar (such as \( I = \mathbf{\hat{n}} \mathbf{\hat{f}}_1 \cdots \mathbf{\hat{f}}_{N-1} \)).

Our previous parallel plane separation problem.

The standard \(\mathbb{R}^3\) scalar form for an equation of a plane is
\begin{equation}\label{eqn:hyperplaneGeometry:80}
a x + b y + c z = d,
\end{equation}
where \( d \) looses it’s geometrical meaning. If we form \( \Bn = (a,b,c) \), then we can rewrite this as
\begin{equation}\label{eqn:hyperplaneGeometry:100}
\Bx \cdot \Bn = d,
\end{equation}
for this representation of an equation of a plane, we see that \( d/\Norm{\Bn} \) is the shortest distance from the origin to the plane. This means that if we have a pair of parallel plane equations
\begin{equation}\label{eqn:hyperplaneGeometry:120}
\begin{aligned}
\Bx \cdot \Bn &= d_1 \\
\Bx \cdot \Bn &= d_2,
\end{aligned}
\end{equation}
then the distance between those planes, by inspection, is
\begin{equation}\label{eqn:hyperplaneGeometry:140}
\Abs{ \frac{d_2}{\Norm{\Bn}} – \frac{d_1}{\Norm{\Bn}} },
\end{equation}
which reduces to just \( \Abs{d_2 – d_1} \) if \( \Bn \) is a unit normal for the plane. In our previous post, the problem to solve was to find the shortest distance between the parallel planes given by
\begin{equation}\label{eqn:hyperplaneGeometry:160}
\begin{aligned}
x – y + 2 z &= -3 \\
3 x – 3 y + 6 z &= 1.
\end{aligned}
\end{equation}
The more natural geometrical form for these plane equations is
\begin{equation}\label{eqn:hyperplaneGeometry:180}
\begin{aligned}
\Bx \cdot \mathbf{\hat{n}} &= -\frac{3}{\sqrt{6}} \\
\Bx \cdot \mathbf{\hat{n}} &= \inv{3 \sqrt{6}},
\end{aligned}
\end{equation}
where \( \mathbf{\hat{n}} = (1,-1,2)/\sqrt{6} \), as illustrated in fig. 2.

fig. 2. The two planes.

 

Given that representation, we can find the distance between the planes just by taking the absolute difference of the respective distances to the origin
\begin{equation}\label{eqn:hyperplaneGeometry:200}
\begin{aligned}
\Abs{ -\frac{3}{\sqrt{6}} – \inv{3 \sqrt{6}} }
&= \frac{\sqrt{6}}{6} \lr{ 3 + \inv{3} } \\
&= \frac{10}{18} \sqrt{6} \\
&= \frac{5}{9} \sqrt{6}.
\end{aligned}
\end{equation}

Triangle area problem: REVISITED.

March 31, 2024 math and physics play , , , , ,

[Click here for a PDF version of this post]

On LinkedIn, James asked for ideas about how to solve What is the total area of ABC? You should be able to solve this! using geometric algebra.

I found a couple ways, and this last variation is pretty cool.

fig. 1. Triangle with given areas.

To start with I’ve re-sketched the triangle with the areas slightly more to scale in fig. 1, where areas \( A_1 = 40, A_2 = 30, A_3 = 35, A_4 = 84 \) are given. The aim is to find the total area \( \sum A_i \).

If we had the vertex and center locations as vectors, we could easily compute the total area, but we don’t. We also don’t know the locations of the edge intersections, but can calculate those, as they satisfy
\begin{equation}\label{eqn:triangle_area_problem:20}
\begin{aligned}
\BD &= s_1 \BA = \BB + t_1 \lr{ \BC – \BB } \\
\BE &= s_2 \BC = \BA + t_2 \lr{ \BB – \BA } \\
\BF &= s_3 \BB = \BA + t_3 \lr{ \BC – \BA }.
\end{aligned}
\end{equation}
It turns out that the problem is over specified, and we will only need \( \BD, \BE \). To find those, we may eliminate the \( t_i \)’s by wedging appropriately (or equivalently, using Cramer’s rule), to find
\begin{equation}\label{eqn:triangle_area_problem:40}
\begin{aligned}
s_1 \BA \wedge \lr{ \BC – \BB } &= \BB \wedge \lr{ \BC – \BB } \\
s_2 \BC \wedge \lr{ \BB – \BA } &= \BA \wedge \lr{ \BB – \BA },
\end{aligned}
\end{equation}
or
\begin{equation}\label{eqn:triangle_area_problem:60}
\begin{aligned}
s_1 &= \frac{\BB \wedge \BC }{\BA \wedge \lr{ \BC – \BB }} \\
s_2 &= \frac{\BA \wedge \BB }{\BC \wedge \lr{ \BB – \BA }}.
\end{aligned}
\end{equation}
Now let’s introduce some scalar area variables, each pseudoscalar multiples of bivector area elements, with \( i = \Be_{1} \Be_2 \)
\begin{equation}\label{eqn:triangle_area_problem:81}
\begin{aligned}
X &= \lr{ \BA \wedge \BB } i^{-1} = \begin{vmatrix} \BA & \BB \end{vmatrix} \\
Y &= \lr{ \BC \wedge \BB } i^{-1} = \begin{vmatrix} \BC & \BB \end{vmatrix} \\
Z &= \lr{ \BA \wedge \BC } i^{-1} = \begin{vmatrix} \BA & \BC \end{vmatrix},
\end{aligned}
\end{equation}
Note that the orientation of all of these has been picked to have a positive orientation matching the figure, and that the
triangle area that we seek for this problem is \( 1/2 \Abs{ \BA \wedge \BB } = X/2 \).

The intersection parameters, after cancelling pseudoscalar factors, are
\begin{equation}\label{eqn:triangle_area_problem:100}
\begin{aligned}
s_1 &= \frac{\BB \wedge \BC }{\BA \wedge \BC – \BA \wedge \BB } = \frac{-Y}{Z – X} \\
s_2 &= \frac{\BA \wedge \BB }{\BC \wedge \BB – \BC \wedge \BA } = \frac{X}{Y + Z},
\end{aligned}
\end{equation}
so the intersection points are
\begin{equation}\label{eqn:triangle_area_problem:120}
\begin{aligned}
\BD &= \BA \frac{Y}{X – Z} \\
\BE &= \BC \frac{X}{Y + Z}.
\end{aligned}
\end{equation}
Observe that both scalar factors are positive (i.e.: \( X > Z \).)

We may now express all the known areas in terms of our area variables
\begin{equation}\label{eqn:triangle_area_problem:140}
\begin{aligned}
A_1 &= \inv{2} \lr{ \BD \wedge \BC } i^{-1} \\
A_1 + A_2 &= \inv{2} \lr{ \BA \wedge \BC } i^{-1} \\
A_1 + A_2 + A_3 &= \inv{2} \lr{ \BA \wedge \BE } i^{-1} \\
A_2 &= \inv{2} \lr{ \lr{\BA – \BD} \wedge \lr{ \BC – \BD } } i^{-1}\\
A_3 &= \inv{2} \lr{ \lr{\BA – \BC} \wedge \lr{ \BE – \BC } } i^{-1}\\
A_5 &= \inv{2} \lr{ \lr{\BB – \BC} \wedge \lr{ \BF – \BC } } i^{-1}.
\end{aligned}
\end{equation}

As mentioned, the problem is over specified, and we can get away with just the first three of these relations to solve for total area. Eliminating \( \BD, \BE \) from those, gives us
\begin{equation}\label{eqn:triangle_area_problem:180}
A_1 = \inv{2} \frac{Y}{X – Z} \lr{ \BA \wedge \BC } i^{-1} = \frac{Z}{2} \lr{ \frac{Y}{X – Z} },
\end{equation}
\begin{equation}\label{eqn:triangle_area_problem:460}
A_1 + A_2 = \inv{2} \lr{ \BA \wedge \BC } i^{-1} = \frac{Z}{2},
\end{equation}
and
\begin{equation}\label{eqn:triangle_area_problem:400}
\begin{aligned}
A_1 + A_2 + A_3 &= \inv{2} \lr{ \BA \wedge \BE } i^{-1} \\
&= \inv{2} \lr{ \BA \wedge \BC } \frac{X}{Y + Z} \\
&= \frac{Z}{2} \frac{X}{Y + Z}.
\end{aligned}
\end{equation}

Let’s eliminate \( Z \) to start with, leaving
\begin{equation}\label{eqn:triangle_area_problem:420}
\begin{aligned}
A_1 \lr{ X – 2 A_1 – 2 A_2 } &= Y \lr{ A_1 + A_2 } \\
\lr{ A_1 + A_2 + A_3 } \lr{ Y + 2 A_1 + 2 A_2 } &= \lr{ A_1 + A_2 } X.
\end{aligned}
\end{equation}
Solving for \( Y \) yields
\begin{equation}\label{eqn:triangle_area_problem:380}
Y = – 2 A_1 – 2 A_2 + \frac{ \lr{A_1 + A_2} X }{ A_1 + A_2 + A_3 } = \lr{ A_1 + A_2 } \lr{ -2 + \frac{X}{A_1 + A_2 + A_3 } },
\end{equation}
and back substution leaves us with a linear equation in \( X \)
\begin{equation}\label{eqn:triangle_area_problem:480}
\lr{ A_1 + A_2}^2 \lr{ -2 + \frac{X}{A_1 + A_2 + A_3 } } = A_1 \lr{ X – 2 A_1 – 2 A_2 }.
\end{equation}

This is easily solved to find
\begin{equation}\label{eqn:triangle_area_problem:500}
\frac{X}{2} = \frac{ \lr{ A_1 + A_2} A_2 \lr{ A_1 + A_2 + A_3 } }{A_2 \lr{ A_1 + A_2} – A_1 A_3 }.
\end{equation}
Plugging in the numeric values for the problem solves it, giving a total triangular area of \( \inv{2} \lr{\BA \wedge \BB } i^{-1} = X/2 = 315 \).

Now, I’ll have to watch the video and see how he solved it.

Bivector transformation, and reciprocal frame for column vectors of a transformation

January 21, 2024 math and physics play , , , ,

[Click here for a PDF version of this and previous two posts]

The author of a book draft I am reading pointed out if a vector transforms as
\begin{equation}\label{eqn:adjoint:760}
\Bv \rightarrow M \Bv,
\end{equation}
then cross products must transform as
\begin{equation}\label{eqn:adjoint:780}
\Ba \cross \Bb \rightarrow \lr{ \textrm{adj}\, M }^\T \lr{ \Ba \cross \Bb }.
\end{equation}
Bivectors clearly must transform in the same fashion. We also noticed that the adjoint is related to the reciprocal frame vectors of the columns of \( M \), but didn’t examine the reciprocal frame formulation of the adjoint in any detail.

Before we do that, let’s consider a slightly simpler case, the transformation of a pseudoscalar. That is
\begin{equation}\label{eqn:adjoint:800}
\begin{aligned}
M(\Ba) \wedge M(\Bb) \wedge M(\Bc)
&\rightarrow
\sum_{ijk}
\lr{ \Bm_i a_i } \wedge
\lr{ \Bm_j a_j } \wedge
\lr{ \Bm_k a_k } \\
&=
\sum_{ijk}
\lr{ \Bm_i \wedge \Bm_j \wedge \Bm_k } a_i b_j c_k \\
&=
\sum_{ijk}
\lr{ \Bm_1 \wedge \Bm_2 \wedge \Bm_3 } \epsilon_{ijk} a_i b_j c_k \\
&=
\Abs{M}
\sum_{ijk} \epsilon_{ijk} a_i b_j c_k \\
&=
\Abs{M} \lr{ \Ba \wedge \Bb \wedge \Bc }.
\end{aligned}
\end{equation}
This is a well known geometric algebra result (called an outermorphism transformation.)

It’s somewhat amusing that an outermorphism transformation with two wedged vectors is a bit more complicated to express than the same for three. Let’s see if we can find a coordinate free form for such a transformation.
\begin{equation}\label{eqn:adjoint:820}
\begin{aligned}
M(\Ba) \wedge M(\Bb)
&=
\sum_{ij} \lr{ \Bm_i a_i } \wedge \lr{ \Bm_j b_j } \\
&=
\sum_{ij} \lr{ \Bm_i \wedge \Bm_j } a_i b_j \\
&=
\sum_{i < j} \lr{ \Bm_i \wedge \Bm_j }
\begin{vmatrix}
a_i & a_j \\
b_i & b_j
\end{vmatrix} \\
&=
\sum_{i < j} \lr{ \Bm_i \wedge \Bm_j } \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_j \wedge \Be_i } }.
\end{aligned}
\end{equation}

Recall that the reciprocal frame with respect to the basis \( \setlr{ \Bm_1, \Bm_2, \Bm_3 } \), assuming this is a non-degenerate basis, has elements of the form
\begin{equation}\label{eqn:adjoint:840}
\begin{aligned}
\Bm^1 &= \lr{ \Bm_2 \wedge \Bm_3 } \inv{ \Bm_1 \wedge \Bm_2 \wedge \Bm_3 } \\
\Bm^2 &= \lr{ \Bm_3 \wedge \Bm_1 } \inv{ \Bm_1 \wedge \Bm_2 \wedge \Bm_3 } \\
\Bm^3 &= \lr{ \Bm_1 \wedge \Bm_2 } \inv{ \Bm_1 \wedge \Bm_2 \wedge \Bm_3 }.
\end{aligned}
\end{equation}
This can be flipped around as
\begin{equation}\label{eqn:adjoint:860}
\begin{aligned}
\Bm_2 \wedge \Bm_3 &= \Bm^1 \Abs{M} I \\
\Bm_3 \wedge \Bm_1 &= \Bm^2 \Abs{M} I \\
\Bm_1 \wedge \Bm_2 &= \Bm^3 \Abs{M} I \\
\end{aligned}
\end{equation}
\begin{equation}\label{eqn:adjoint:880}
\begin{aligned}
M&(\Ba) \wedge M(\Bb) \\
&=
\lr{ \Bm_1 \wedge \Bm_2 } \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_2 \wedge \Be_1 } }
+
\lr{ \Bm_2 \wedge \Bm_3 } \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_3 \wedge \Be_2 } }
+
\lr{ \Bm_3 \wedge \Bm_1 } \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_1 \wedge \Be_3 } } \\
&=
I \Abs{M} \lr{
\Bm^3 \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_2 \wedge \Be_1 } }
+
\Bm^1 \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_3 \wedge \Be_2 } }
+
\Bm^2 \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_1 \wedge \Be_3 } }
}
\end{aligned}
\end{equation}

Let’s see if we can simplify one of these double index quantities
\begin{equation}\label{eqn:adjoint:900}
\begin{aligned}
I \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_2 \wedge \Be_1 } }
&=
\gpgradethree{ I \lr{ \lr{ \Ba \wedge \Bb } \cdot \lr{ \Be_2 \wedge \Be_1 } } } \\
&=
\gpgradethree{ I \lr{ \Ba \wedge \Bb } \lr{ \Be_2 \wedge \Be_1 } } \\
&=
\gpgradethree{ \lr{ \Ba \wedge \Bb } \Be_{12321} } \\
&=
\gpgradethree{ \lr{ \Ba \wedge \Bb } \Be_{3} } \\
&=
\Ba \wedge \Bb \wedge \Be_3.
\end{aligned}
\end{equation}
We have
\begin{equation}\label{eqn:adjoint:920}
M(\Ba) \wedge M(\Bb) = \Abs{M} \lr{
\lr{ \Ba \wedge \Bb \wedge \Be_1 } \Bm^1
+
\lr{ \Ba \wedge \Bb \wedge \Be_2 } \Bm^2
+
\lr{ \Ba \wedge \Bb \wedge \Be_3 } \Bm^3
}.
\end{equation}

Using summation convention, we can now express the transformation of a bivector \( B \) as just
\begin{equation}\label{eqn:adjoint:940}
B \rightarrow \Abs{M} \lr{ B \wedge \Be_i } \Bm^i.
\end{equation}
If we are interested in the transformation of a pseudovector \( \Bv \) defined implicitly as the dual of a bivector \( B = I \Bv \), where
\begin{equation}\label{eqn:adjoint:960}
B \wedge \Be_i = \gpgradethree{ I \Bv \Be_i } = I \lr{ \Bv \cdot \Be_i }.
\end{equation}
This leaves us with a transformation rule for cross products equivalent to the adjoint relation \ref{eqn:adjoint:780}
\begin{equation}\label{eqn:adjoint:980}
\lr{ \Ba \cross \Bb } \rightarrow \lr{ \Ba \cross \Bb } \cdot \Be_i \Abs{M} \Bm^i.
\end{equation}
As intuited, the determinant weighted reciprocal frame vectors for the columns of the transformation \( M \), are the components of the adjoint. That is
\begin{equation}\label{eqn:adjoint:1000}
\lr{ \textrm{adj}\, M }^\T = \Abs{M}
\begin{bmatrix}
\Bm^1 & \Bm^2 & \Bm^3
\end{bmatrix}.
\end{equation}