[Click here for a PDF version of this post]
Motivation.
I was asked about the geometric algebra equivalents of some of the vector calculus identities from [1]. I’ll call the specific page of those calculus notes “the article”. The article includes identities like
\begin{equation}\label{eqn:formAndCurl:20}
\begin{aligned}
\spacegrad (f g) &= f \spacegrad g + g \spacegrad f \\
\spacegrad \cross (f \BF) &= f \spacegrad \cross \BF + (\spacegrad f) \cross \BF \\
\spacegrad \cdot (f \BF) &= f \spacegrad \cdot \BF + (\spacegrad f) \cdot \BF \\
\spacegrad \cdot \lr{ \BF \cross \BG } &= \BG \cdot \lr{ \spacegrad \cross \BF } – \BF \cdot \lr{ \spacegrad \cross \BG },
\end{aligned}
\end{equation}
but the point of these particular lecture notes is the interface between traditional Gibbs vector calculus and differential forms. That’s a much bigger topic, and perhaps not what I was actually being asked about. It is, however, an interesting topic, so let’s explore it.
Comparisons.
The article identifies the cross product representation of the curl \( \spacegrad \cross \BF \) as the equivalent to the exterior derivative of a one form (which has been mapped to a vector function.) In geometric algebra, this isn’t the identification we would use. Instead we should identify the “bivector curl” \( \spacegrad \wedge \BF \) as the logical equivalent of the exterior derivative of that one form, and in general identify \( \spacegrad \wedge A_k \) as the exterior derivative of a k-form (k-blade). In my notes to follow, the wedge of the gradient with a function, will be called the curl of that function, even if we are operating in \(\mathbb{R}^3\) where the cross product is defined.
The starting place of the article was to define a one form and it’s exterior derivative was essentially as follows
Definition 1.1: The exterior derivative of a one form.
\begin{equation*}
df = \sum_i dx_i \PD{x_i}{f}.
\end{equation*}
I’ve stated that the GA equivalent of the exterior derivative was a curl \( \spacegrad \wedge A \), and this doesn’t look anything curl like, so right away, we have some trouble to deal with. To resolve that trouble, let’s step back to the gradient, which we haven’t defined yet. In the article, the gradient (of a scalar function) was defined as a coordinate triplet
\begin{equation}\label{eqn:formAndCurl:60}
\spacegrad \Bf = \lr{ \PD{x}{f}, \PD{y}{f}, \PD{z}{f} }.
\end{equation}
In GA we don’t like representations where the basis vectors are implicit, so we’d prefer to define
Definition 1.2: The gradient of a function.
\begin{equation*}
\spacegrad f = \sum_{i=1}^N \Be_i \PD{x_i}{f},
\end{equation*}
where \( \setlr{ \Be_1, \cdots \Be_N } \) is an orthonormal basis for \(\mathbb{R}^N\).
Unlike the article, we do not restrict \( f \) to be a scalar function, since we do not have a problem with a vector valued operator directly multiplying a vector or any product of vectors. Instead \( f \) can be a multivector function, with scalar, vector, bivector, trivector, … components, and we define the gradient the same way.
In order to define the curl of a k-blade, we need a reminder of how we define the wedge of a vector with a k-blade. Recall that this is how we generally define the wedge between two blades.
Definition 1.3:
\begin{equation}\label{eqn:formAndCurl:120}
A_r \wedge B_s = \gpgrade{A_r B_s}{r+s}.
\end{equation}
In particular, if \( \Ba \) is a vector, then the wedge with an s-blade \( B_s \) is
\begin{equation}\label{eqn:formAndCurl:140}
\Ba \wedge B_s = \gpgrade{\Ba B_s}{s+1},
\end{equation}
which is just the \( s+1 \) grade selection of their product. Furthermore, if \( f \) is a scalar, then
\begin{equation}\label{eqn:formAndCurl:160}
\Ba \wedge f = \gpgrade{\Ba f}{1} = \Ba f.
\end{equation}
We can now state the curl of a k-blade
Definition 1.4: Curl of a k-blade.
\begin{equation*}
\spacegrad \wedge A_k.
\end{equation*}
Observe, given our generalized wedge product definition above, that the curl of a scalar function \( f \), is in fact just the gradient of that function
\begin{equation}\label{eqn:formAndCurl:200}
\spacegrad \wedge f = \spacegrad f = \sum_i \Be_i \PD{x_i}{f}.
\end{equation}
This has exactly the structure of the exterior derivative of a one form, as stated in “Definition: The exterior derivative of a one form”, but we have replaced \( dx_i \) with a basis vector \( \Be_i \).
Definition 1.5: Exterior derivative of a one-form.
\begin{equation*}
d\omega = \sum_i d( f_i ) \wedge dx_i.
\end{equation*}
Lemma 1.1: Exterior derivative of a one-form.
\begin{equation*}
d\omega
=
\sum_{i < j} \lr{
\PD{x_i}{f_j}
–
\PD{x_j}{f_i}
} dx_i \wedge dx_j.
\end{equation*}
Start proof:
\begin{equation}\label{eqn:formAndCurl:220}
\begin{aligned}
d\omega
&= \sum_j d( f_j dx_j ) \\
&= \sum_j d( f_j ) \wedge dx_j \\
&= \sum_j \lr{ \sum_i dx_i \PD{x_i}{f_j} } \wedge dx_j \\
&= \sum_{ji} \PD{x_i}{f_j} dx_i \wedge dx_j \\
&= \sum_{j \ne i} \PD{x_i}{f_j} dx_i \wedge dx_j \\
&=
\sum_{i < j} \PD{x_i}{f_j} dx_i \wedge dx_j
+
\sum_{j < i} \PD{x_i}{f_j} dx_i \wedge dx_j \\
&=
\sum_{i < j} \PD{x_i}{f_j} dx_i \wedge dx_j
+
\sum_{i < j} \PD{x_j}{f_i} dx_j \wedge dx_i \\
&=
\sum_{i < j} \lr{
\PD{x_i}{f_j}
–
\PD{x_j}{f_i}
} dx_i \wedge dx_j.
\end{aligned}
\end{equation}
End proof.
Lemma 1.2: Curl of a vector.
\begin{equation*}
\spacegrad \wedge \Bf
=
\sum_{i < j}
\lr{ \PD{x_i}{f_j} – \PD{x_j}{f_i} }
\lr{ \Be_i \wedge \Be_j }
.
\end{equation*}
Start proof:
The antisymmetry of the wedges of differentials in the exterior derivative and the curl clearly has a one to one correspondence. Let’s show this explicitly by expansion
\begin{equation}\label{eqn:formAndCurl:240}
\begin{aligned}
\spacegrad \wedge \Bf
&=
\sum_{ij} \lr{ \Be_i \PD{x_i}{} } \wedge \lr{ \Be_j f_j } \\
&=
\sum_{ij} \lr{ \Be_i \wedge \Be_j } \PD{x_i}{f_j} \\
&=
\sum_{i \ne j} \lr{ \Be_i \wedge \Be_j } \PD{x_i}{f_j} \\
&=
\sum_{i < j} \lr{ \Be_i \wedge \Be_j } \PD{x_i}{f_j}
+
\sum_{j < i} \lr{ \Be_i \wedge \Be_j } \PD{x_i}{f_j} \\
&=
\sum_{i < j} \lr{ \Be_i \wedge \Be_j } \PD{x_i}{f_j}
+
\sum_{i < j} \lr{ \Be_j \wedge \Be_i } \PD{x_j}{f_i} \\
&=
\sum_{i < j} \lr{ \Be_i \wedge \Be_j } \lr{ \PD{x_i}{f_j} – \PD{x_j}{f_i} }.
\end{aligned}
\end{equation}
End proof.
If we are translating from differential forms, again, we see that we simply replace any differentials \( dx_i \) with the basis vectors \( \Be_i \) (at least for the zero-form and one-form cases, which is all that we have looked at here.)
Note that in differential forms, we often assume that there is an implicit wedge product between any different one form elements, writing
\begin{equation}\label{eqn:formAndCurl:260}
dx_1 \wedge dx_2 = dx_1 dx_2.
\end{equation}
This works out fine when we map differentials to basis vectors, since
\begin{equation}\label{eqn:formAndCurl:280}
\Be_1 \Be_2 =
\Be_1 \cdot \Be_2
+
\Be_1 \wedge \Be_2
=
\Be_1 \wedge \Be_2.
\end{equation}
However, we have to be more careful in GA when using indexed expressions, since
\begin{equation}\label{eqn:formAndCurl:300}
\Be_i \Be_j = \Be_i \cdot \Be_j + \Be_i \wedge \Be_j.
\end{equation}
The dot product portion of the RHS is only zero if \( i \ne j \).
Now let’s look at the equivalence between the exterior derivative of a two-form with the curl.
Definition 1.6: Exterior derivative of a two-form.
\begin{equation*}
d\eta =
\sum_{ij} d( f_{ij} ) \wedge dx_i \wedge dx_j.
\end{equation*}
Lemma 1.3: Exterior derivative of a two-form.
\begin{equation*}
d \eta
=
\sum_{i,j,k} \PD{x_k}{f_{ij}} dx_i \wedge dx_j \wedge dx_k.
\end{equation*}
Start proof:
The exterior derivative of \( \eta \) is
\begin{equation}\label{eqn:formAndCurl:340}
\begin{aligned}
d \eta
&=
\sum_{i,j} d( f_{ij} dx_i \wedge dx_j ) \\
&=
\sum_{i,j,k} \lr{ \PD{x_k}{f_{ij}} dx_k } \wedge dx_i \wedge dx_j \\
&=
\sum_{i,j,k} \PD{x_k}{f_{ij}} dx_i \wedge dx_j \wedge dx_k.
\end{aligned}
\end{equation}
End proof.
Let’s compare that to the curl of a bivector valued function.
Lemma 1.4: Curl of a 2-blade.
\begin{equation*}
\spacegrad \wedge B
=
\sum_{i,j,k} \PD{x_k}{f_{ij}} \Be_i \wedge \Be_j \wedge \Be_k.
\end{equation*}
Start proof:
\begin{equation}\label{eqn:formAndCurl:380}
\begin{aligned}
\spacegrad \wedge B
&=
\lr{ \sum_k \Be_k \PD{x_k}{} } \wedge \lr{ \sum_{i \ne j} f_{ij} \Be_i \wedge \Be_j } \\
&=
\sum_{k, i \ne j} \PD{x_k}{f_{ij}} \Be_k \wedge \Be_i \wedge \Be_j \\
&=
\sum_{i,j,k} \PD{x_k}{f_{ij}} \Be_i \wedge \Be_j \wedge \Be_k.
\end{aligned}
\end{equation}
End proof.
Again, we see an exact correspondence with the exterior derivative \( d \eta \) of a two-form, and the curl \( \spacegrad \wedge B \), of a 2-blade.
The article established a coorespondence between the exterior derivative of a two form over \(\mathbb{R}^3\) to the divergence. The way we would express this in GA (also for \R{3}) is to write
\begin{equation}\label{eqn:formAndCurl:400}
B = I \Bb,
\end{equation}
where \( I = \Be_1 \Be_2 \Be_3 \) is the \(\mathbb{R}^3\) pseudoscalar (a “unit” trivector.) Forming the curl of \( B \) we have
\begin{equation}\label{eqn:formAndCurl:420}
\begin{aligned}
\spacegrad \wedge B
&= \gpgradethree{ \spacegrad B } \\
&= \gpgradethree{ \spacegrad I \Bb } \\
&= \gpgradethree{ I (\spacegrad \Bb) } \\
&= \gpgradethree{ I (\spacegrad \cdot \Bb + \spacegrad \wedge \Bb) } \\
&= I (\spacegrad \cdot \Bb).
\end{aligned}
\end{equation}
The equivalence relationships that we have developed must then imply that the differential forms representation of this relationship is
\begin{equation}\label{eqn:formAndCurl:440}
d B = dx_1 \wedge dx_2 \wedge dx_3 (\spacegrad \cdot \Bb)
= dx \wedge dy \wedge dz \lr{ \PD{x}{b_1} + \PD{y}{b_2} + \PD{z}{b_3} },
\end{equation}
as defined in the article.
Here is the GA equivalent of Lemma 4.4.10 from the article
Lemma 1.5: Repeated curl identities.
\begin{equation*}
\spacegrad \wedge \lr{ \spacegrad \wedge A } = 0.
\end{equation*}
For \(\mathbb{R}^3\), this result, for a scalar function \( f \), and a vector function \( \Bf \), in terms of the cross product, as
\begin{equation}\label{eqn:formAndCurl:560}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad f } &= 0 \\
\spacegrad \cdot \lr{ \spacegrad \cross \Bf } &= 0.
\end{aligned}
\end{equation}
It shouldn’t be surprising that this is the equivalent of \( d^2 A = 0 \) from differential forms. Let’s prove this, first considering the 0-blade case
Start proof:
\begin{equation}\label{eqn:formAndCurl:480}
\begin{aligned}
\spacegrad \wedge \lr{ \spacegrad \wedge A }
&=
\spacegrad \wedge \lr{ \spacegrad A } \\
&=
\sum_{ij} \Be_i \wedge \Be_j \frac{\partial^2 A}{\partial x_i \partial x_j} \\
&= 0.
\end{aligned}
\end{equation}
The smooth criteria of for the function \( A \) is assumed to imply that we have equality of mixed partials, and since this is a sum of an antisymmetric term with respect to indexes \( i, j \) (the wedge) and a symmetric term in indexes \( i, j \) (the partials), we have zero overall.
Now consider a k-blade \( A, k > 0 \). Expanding the gradients, we have
\begin{equation}\label{eqn:formAndCurl:500}
\spacegrad \wedge \lr{ \spacegrad \wedge A }
=
\sum_{ij} \Be_i \wedge \Be_j \wedge \frac{\partial^2 A}{\partial x_i \partial x_j}.
\end{equation}
It may be obvious that this is zero for the same reasons as above (sum of product of symmetric and antisymmetric entities). We can, however, make it more obvious, at the cost of some hellish indexing, by expressing \( A \) in coordinate form. Let
\begin{equation}\label{eqn:formAndCurl:520}
A = \sum_{i_1, i_2, \cdots, i_k}
A_{i_1, i_2, \cdots, i_k} \Be_{i_1} \wedge \Be_{i_2} \wedge \cdots \wedge \Be_{i_k},
\end{equation}
then
\begin{equation}\label{eqn:formAndCurl:540}
\begin{aligned}
\spacegrad \wedge \lr{ \spacegrad \wedge A }
&=
\sum_{i,j,i_1, i_2, \cdots, i_k} \Be_i \wedge \Be_j \wedge \Be_{i_1} \wedge \Be_{i_2} \wedge \cdots \wedge \Be_{i_k}
\frac{\partial^2 }{\partial x_i \partial x_j} A_{i_1, i_2, \cdots, i_k} \\
&= 0.
\end{aligned}
\end{equation}
Now we clearly have a sum of an antisymmetric term (the wedges), and a symmetric term (assuming smooth \( A \) means that we have equality of mixed partials), so the sum is zero.
Finally, for the \(\mathbb{R}^3\) identities, we have
\begin{equation}\label{eqn:formAndCurl:580}
\begin{aligned}
\spacegrad \cross \lr{ \spacegrad f}
&=
-I \lr{ \spacegrad \wedge \lr{ \spacegrad f } }
&=
0,
\end{aligned}
\end{equation}
since \( \spacegrad \wedge \lr{ \spacegrad f } = 0 \). For a vector \( \Bf \), we have
\begin{equation}\label{eqn:formAndCurl:600}
\begin{aligned}
\spacegrad \cdot \lr{ \spacegrad \cross \Bf}
&=
\gpgradezero{
\spacegrad \lr{ \spacegrad \cross \Bf}
} \\
&=
\gpgradezero{
\spacegrad (-I) \lr{ \spacegrad \wedge \Bf}
} \\
&=
-\gpgradezero{
I \spacegrad \lr{ \spacegrad \wedge \Bf}
} \\
&=
–
I \spacegrad \wedge \lr{ \spacegrad \wedge \Bf} \\
&= 0,
\end{aligned}
\end{equation}
again, because \( \spacegrad \wedge \lr{ \spacegrad \wedge \Bf} = 0 \).
End proof.
Identities.
We have a number of chain rule identities in the article. Here is the GA equivalent of that, and its corollaries
Lemma 1.6: Chain rule identities.
\begin{equation*}
\spacegrad \lr{ f A } = \lr{ \spacegrad f } A + f \lr{ \spacegrad A }.
\end{equation*}
For \( A \) with grade \( k > 0 \), the grade \( k-1 \) and \( k+1 \) components of this product are
\begin{equation*}
\begin{aligned}
\spacegrad \cdot \lr{ f A } &= \lr{ \spacegrad f } \cdot A + f \lr{ \spacegrad \cdot A } \\
\spacegrad \wedge \lr{ f A } &= \lr{ \spacegrad f } \wedge A + f \lr{ \spacegrad \wedge A }.
\end{aligned}
\end{equation*}
For \(\mathbb{R}^3\), the wedge product relation above can be written in dual form as
\begin{equation*}
\spacegrad \cross \lr{ f A } = \lr{ \spacegrad f } \cross A + f \lr{ \spacegrad \cross A }.
\end{equation*}
Proving this is left to the reader.
We have some chain rule identities left in the article to verify and to find GA equivalents of. Before doing so, we need a couple miscellaneous identities relating triple cross products to wedge-dots.
Lemma 1.7: Triple cross products.
\begin{equation*}
\begin{aligned}
\Ba \cross \lr{ \Bb \cross \Bc } &= – \Ba \cdot \lr{ \Bb \wedge \Bc } \\
\lr{ \Ba \cross \Bb } \cross \Bc &= – \lr{ \Ba \wedge \Bb } \cdot \Bc.
\end{aligned}
\end{equation*}
Start proof:
\begin{equation}\label{eqn:formAndCurl:720}
\begin{aligned}
\Ba \cross \lr{ \Bb \cross \Bc }
&=
\gpgradeone{ -I \lr{ \Ba \wedge \lr{ \Bb \cross \Bc } } } \\
&=
\gpgradeone{ -I \lr{ \Ba \lr{ \Bb \cross \Bc } } } \\
&=
\gpgradeone{ (-I)^2 \lr{ \Ba \lr{ \Bb \wedge \Bc } } } \\
&=
-\Ba \cdot \lr{ \Bb \wedge \Bc },
\end{aligned}
\end{equation}
\begin{equation}\label{eqn:formAndCurl:740}
\begin{aligned}
\lr{ \Ba \cross \Bb } \cross \Bc
&=
\gpgradeone{ -I \lr{ \Ba \cross \Bb } \wedge \Bc } \\
&=
\gpgradeone{ -I \lr{ \Ba \cross \Bb } \Bc } \\
&=
\gpgradeone{ (-I)^2 \lr{ \Ba \wedge \Bb } \Bc } \\
&=
– \lr{ \Ba \wedge \Bb } \cdot \Bc.
\end{aligned}
\end{equation}
End proof.
Next up is another chain rule identity
Lemma 1.8: Gradient of dot product.
\begin{equation*}
\spacegrad \lr{ \Ba \cdot \Bb } =
\lr{ \Ba \cdot \spacegrad } \Bb
+
\lr{ \Bb \cdot \spacegrad } \Ba
+
\lr{ \spacegrad \wedge \Bb }
\cdot
\Ba
+
\lr{ \spacegrad \wedge \Ba }
\cdot
\Bb
\end{equation*}
For \(\mathbb{R}^3\), this can be written as
\begin{equation*}
\spacegrad \lr{ \Ba \cdot \Bb }
=
\lr{ \Ba \cdot \spacegrad } \Bb
+
\lr{ \Bb \cdot \spacegrad } \Ba
+
\Ba \cross \lr{ \spacegrad \cross \Bb }
+
\Bb \cross \lr{ \spacegrad \cross \Ba }
\end{equation*}
Start proof:
We will use \( \rspacegrad \) to indicate that the gradient operates on everything to the right, \( \lrspacegrad \) to indicate that the gradient operates bidirectionally, and \( \spacegrad’ A B’ \) to indicate that the gradient’s scope is limited to the ticked entity (just on \( B \) in this case.)
\begin{equation}\label{eqn:formAndCurl:760}
\begin{aligned}
\rspacegrad \lr{ \Ba \cdot \Bb }
&=
\gpgradeone{
\rspacegrad \lr{ \Ba \Bb – \Ba \wedge \Bb }
} \\
&=
\gpgradeone{
\spacegrad’ \Ba’ \Bb
+
\spacegrad’ \Ba \Bb’
}
– \rspacegrad \cdot \lr{ \Ba \wedge \Bb }
\\
&=
\lr{ \spacegrad \cdot \Ba} \Bb
+
\lr{ \spacegrad \wedge \Ba} \cdot \Bb
+
\gpgradeone{
– \Ba \spacegrad \Bb + 2 \lr{ \Ba \cdot \spacegrad } \Bb
}
– \spacegrad’ \cdot \lr{ \Ba’ \wedge \Bb }
– \spacegrad’ \cdot \lr{ \Ba \wedge \Bb’ }
\\
&=
\lr{ \spacegrad \cdot \Ba} \Bb
+
\lr{ \spacegrad \wedge \Ba} \cdot \Bb
–
\Ba \lr{ \spacegrad \cdot \Bb }
–
\Ba \cdot \lr{ \spacegrad \wedge \Bb }
+ 2 \lr{ \Ba \cdot \spacegrad } \Bb
– \spacegrad’ \cdot \lr{ \Ba’ \wedge \Bb }
– \spacegrad’ \cdot \lr{ \Ba \wedge \Bb’ }.
\end{aligned}
\end{equation}
We are running out of room, and have not had any cancellation yet, so let’s expand those last two terms separately
\begin{equation}\label{eqn:formAndCurl:780}
\begin{aligned}
– \spacegrad’ \cdot \lr{ \Ba’ \wedge \Bb }
– \spacegrad’ \cdot \lr{ \Ba \wedge \Bb’ }
&=
– \lr{ \spacegrad’ \cdot \Ba’ } \Bb
+ \lr{ \spacegrad’ \cdot \Bb } \Ba’
– \lr{ \spacegrad’ \cdot \Ba } \Bb’
+ \lr{ \spacegrad’ \cdot \Bb’ } \Ba
\\
&=
– \lr{ \spacegrad \cdot \Ba } \Bb
+ \lr{ \Bb \cdot \spacegrad } \Ba
– \lr{ \Ba \cdot \spacegrad } \Bb
+ \lr{ \spacegrad \cdot \Bb } \Ba.
\end{aligned}
\end{equation}
Now we can cancel some terms, leaving
\begin{equation}\label{eqn:formAndCurl:800}
\begin{aligned}
\rspacegrad \lr{ \Ba \cdot \Bb }
&=
\lr{ \spacegrad \wedge \Ba} \cdot \Bb
–
\Ba \cdot \lr{ \spacegrad \wedge \Bb }
+ \lr{ \Ba \cdot \spacegrad } \Bb
+ \lr{ \Bb \cdot \spacegrad } \Ba.
\end{aligned}
\end{equation}
After adjustment of the order and sign of the second term, we see that this is the result we wanted. To show the \(\mathbb{R}^3\) formulation, we have only apply “Lemma: Triple cross products”.
End proof.
Lemma 1.9: Divergence of a bivector.
\begin{equation*}
\spacegrad \cdot \lr{ \Ba \wedge \Bb }
=
\Bb \lr{ \spacegrad \cdot \Ba }
– \Ba \lr{ \spacegrad \cdot \Bb }
– \lr{ \Bb \cdot \spacegrad } \Ba
+ \lr{ \Ba \cdot \spacegrad } \Bb.
\end{equation*}
For \(\mathbb{R}^3\), this can also be written in triple cross product form
\begin{equation*}
\spacegrad \cdot \lr{ \Ba \wedge \Bb }
=
-\spacegrad \cross \lr{ \Ba \cross \Bb }.
\end{equation*}
Start proof:
\begin{equation}\label{eqn:formAndCurl:860}
\begin{aligned}
\rspacegrad \cdot \lr{ \Ba \wedge \Bb }
&=
\spacegrad’ \cdot \lr{ \Ba’ \wedge \Bb }
+ \spacegrad’ \cdot \lr{ \Ba \wedge \Bb’ } \\
&=
\lr{ \spacegrad’ \cdot \Ba’ } \Bb
– \lr{ \spacegrad’ \cdot \Bb } \Ba’
+ \lr{ \spacegrad’ \cdot \Ba } \Bb’
– \lr{ \spacegrad’ \cdot \Bb’ } \Ba
\\
&=
\lr{ \spacegrad \cdot \Ba } \Bb
– \lr{ \Bb \cdot \spacegrad } \Ba
+ \lr{ \Ba \cdot \spacegrad } \Bb
– \lr{ \spacegrad \cdot \Bb } \Ba.
\end{aligned}
\end{equation}
For the \(\mathbb{R}^3\) part of the story, we have
\begin{equation}\label{eqn:formAndCurl:870}
\begin{aligned}
\spacegrad \cross \lr{ \Ba \cross \Bb }
&=
\gpgradeone{
-I \lr{ \spacegrad \wedge \lr{ \Ba \cross \Bb } }
} \\
&=
\gpgradeone{
-I \spacegrad \lr{ \Ba \cross \Bb }
} \\
&=
\gpgradeone{
(-I)^2 \spacegrad \lr{ \Ba \wedge \Bb }
} \\
&=
–
\spacegrad \cdot \lr{ \Ba \wedge \Bb }
\end{aligned}
\end{equation}
End proof.
We have just one identity left in the article to find the GA equivalent of, but will split that into two logical pieces.
Lemma 1.10: Dual of triple wedge.
\begin{equation*}
\Ba \cdot \lr{ \Bb \cross \Bc } = -I \lr{ \Ba \wedge \Bb \wedge \Bc }.
\end{equation*}
Start proof:
\begin{equation}\label{eqn:formAndCurl:680}
\begin{aligned}
\Ba \cdot \lr{ \Bb \cross \Bc }
&=
\gpgradezero{
\Ba \lr{ \Bb \cross \Bc }
} \\
&=
\gpgradezero{
\Ba (-I) \lr{ \Bb \wedge \Bc }
} \\
&=
\gpgradezero{
-I \lr{
\Ba \cdot \lr{ \Bb \wedge \Bc }
+
\Ba \wedge \lr{ \Bb \wedge \Bc }
}
} \\
&=
\gpgradezero{
-I \lr{ \Ba \wedge \lr{ \Bb \wedge \Bc } }
} \\
&=
-I \lr{ \Ba \wedge \lr{ \Bb \wedge \Bc } }.
\end{aligned}
\end{equation}
End proof.
Lemma 1.11: Curl of a wedge of gradients (divergence of a gradient cross products.)
\begin{equation*}
\spacegrad \wedge \lr{ f \lr{ \spacegrad g \wedge \spacegrad h } }
=
\spacegrad f
\wedge
\spacegrad g
\wedge
\spacegrad h.
\end{equation*}
For \(\mathbb{R}^3\) this can be written as
\begin{equation*}
\spacegrad \cdot \lr{ f \lr{ \spacegrad g \cross \spacegrad h } }
=
\spacegrad f
\cdot
\lr{
\spacegrad g
\cross
\spacegrad h
}.
\end{equation*}
Start proof:
The GA identity follows by chain rule and application of “Lemma: Repeated curl identities”.
\begin{equation}\label{eqn:formAndCurl:910}
\begin{aligned}
\spacegrad \wedge \lr{ f \lr{ \spacegrad g \wedge \spacegrad h } }
&=
\spacegrad f \wedge \lr{ \spacegrad g \wedge \spacegrad h }
+
f
\spacegrad \wedge \lr{ \spacegrad g \wedge \spacegrad h } \\
&=
\spacegrad f \wedge \spacegrad g \wedge \spacegrad h.
\end{aligned}
\end{equation}
The \(\mathbb{R}^3\) part of the lemma follows from “Lemma: Dual of triple wedge”, applied twice
\begin{equation}\label{eqn:formAndCurl:970}
\begin{aligned}
\spacegrad \cdot \lr{ (f \spacegrad g) \cross \spacegrad h }
&=
-I \lr{ \spacegrad \wedge (f \spacegrad g) \wedge \spacegrad h } \\
&=
-I \lr{ \spacegrad f \wedge \spacegrad g \wedge \spacegrad h } \\
&=
\spacegrad f \cdot \lr{ \spacegrad g \cross \spacegrad h}.
\end{aligned}
\end{equation}
End proof.
Lemma 1.12: Curl of a bivector.
\begin{equation*}
\spacegrad \wedge \lr{ \Ba \wedge \Bb } = \Bb \wedge \lr{ \spacegrad \wedge \Ba } – \Ba \wedge \lr{ \spacegrad \wedge \Bb }
\end{equation*}
For \(\mathbb{R}^3\), this can be expressed as the divergence of a cross product
\begin{equation*}
\spacegrad \cdot \lr{ \Ba \cross \Bb } = \Bb \cdot \lr{ \spacegrad \cross \Ba } – \Ba \cdot \lr{ \spacegrad \cross \Bb }
\end{equation*}
Start proof:
The GA case is a trivial chain rule application
\begin{equation}\label{eqn:formAndCurl:950}
\begin{aligned}
\rspacegrad \wedge \lr{ \Ba \wedge \Bb }
&=
\lr{ \spacegrad’ \wedge \Ba’} \wedge \Bb
+
\lr{ \spacegrad’ \wedge \Ba } \wedge \Bb’ \\
&= \Bb \wedge \lr{ \spacegrad \wedge \Ba } – \Ba \wedge \lr{ \spacegrad \wedge \Bb }.
\end{aligned}
\end{equation}
The \(\mathbb{R}^3\) case, is less obvious by inspection, but follows from “Lemma: Dual of triple wedge”.
End proof.
Summary.
We found that we have an isomorphism between the exterior derivative of differential forms and the curl operation of geometric algebra, as follows
\begin{equation}\label{eqn:formAndCurl:990}
\begin{aligned}
df &\rightleftharpoons \spacegrad \wedge f \\
dx_i &\rightleftharpoons \Be_i.
\end{aligned}
\end{equation}
We didn’t look at how the Hodge dual translates to GA duality (pseudoscalar multiplication.) The divergence relationship between the exterior derivative of an \(\mathbb{R}^3\) two-form really requires that formalism, and has only been examined in a cursory fashion.
We also translated a number of vector and gradient identities from conventional vector algebra (i.e.: using cross products) and wedge product equivalents of the same. The GA identities are often simpler, and in some cases, provide nice mechanisms to derive the conventional identities that would be more cumbersome to determine without the GA toolbox.
References
[1] Vincent Bouchard. Math 215: Calculus iv: 4.4 the exterior derivative and vector calculus, 2023. URL https://sites.ualberta.ca/ vbouchar/MATH215/section_exterior_vector.html. [Online; accessed 11-November-2023].