Month: November 2023

Coffee making procedure when you are too tired to make coffee

November 21, 2023 Incoherent ramblings , ,

Here’s the 15-20 minute coffee making procedure when you are tired enough that you should have adult supervision in the kitchen:
  • Boil water.
  • Put beans in coffee grinder.
  • Start pouring water over unground beans in grinder.
  • What the !%!%^! am I doing! 
  • Pour out damp beans, as you watch water drip out of bottom of plugged in grinder.
  • Take apart coffee grinder, and dry out the inside.
  • Blow out remaining moisture with air compressor in back shed.
  • Put grinder back together.
  • Grind coffee beans.
  • Put grounds in the french press.
  • Reboil water.
  • Hot water over grounds in french press.
  • Wait and plunge.
  • Enjoy.

Hodge duality in exterior calculus and geometric algebra.

November 13, 2023 math and physics play , , , , , , ,

[Click here for a PDF version of this post]

This is a continuation of yesterday’s post on the relationships between the exterior derivative, and the curl operation (grad-wedge) in geometric algebra.

Hodge star vs. pseudoscalar multiplication.

We find a definition of the hodge star for basic k-forms in [2].

Definition 1.7: Hodge star.

Let \( \omega \) be a basic k-form on \(\mathbb{R}^n\). The hodge star of \( \omega \), denoted by \( {*} \omega \) is the unique \( n-k \)-form with the property
\begin{equation*}
\omega \wedge {*} \omega = dx_1 \wedge \cdots \wedge dx_n.
\end{equation*}

I find it interesting that this duality definition is completely free of any notion of metric or inner product. That isn’t the case with the hodge star definition from [3]. This is certainly an easier definition to understand.

Let’s calculate all the duals for the basic forms from \(\mathbb{R}^3\). We let \( I = dx_1 \wedge dx_2 \wedge dx_3 \), and then by inspection find all the duals satisfying
\begin{equation}\label{eqn:formAndCurl:1110}
\begin{aligned}
I &= 1 \wedge {*} 1 \\
I &= dx \wedge {*} dx \\
I &= dy \wedge {*} dy \\
I &= dz \wedge {*} dz \\
I &= (dx dy) \wedge {*} (dx dy) \\
I &= (dy dz) \wedge {*} (dy dz) \\
I &= (dz dx) \wedge {*} (dz dx) \\
I &= dx dy dz \wedge {*} (dx dy dz).
\end{aligned}
\end{equation}
Those are
\begin{equation}\label{eqn:formAndCurl:1130}
\begin{aligned}
{*} 1 &= dx dy dz \\
{*} dx &= dy dz \\
{*} dy &= dz dx \\
{*} dz &= dx dy \\
{*} (dx dy) &= dz \\
{*} (dy dz) &= dx \\
{*} (dz dx) &= dy \\
{*} (dx dy dz) &= 1.
\end{aligned}
\end{equation}

Now let’s compare this to multiplication of the \(\mathbb{R}^3\) basis vectors with the pseudoscalar \( I = \Be_1 \Be_2 \Be_3 \). We have
\begin{equation}\label{eqn:formAndCurl:1140}
\begin{aligned}
1 I &= I \\
\Be_1 I &= \Be_{1123} = \Be_{23} \\
\Be_2 I &= \Be_{2123} = \Be_{31} \\
\Be_3 I &= \Be_{3123} = \Be_{12} \\
\Be_{23} I &= \Be_{23123} = – \Be_1 \\
\Be_{31} I &= \Be_{31123} = – \Be_2 \\
\Be_{12} I &= \Be_{12123} = – \Be_3 \\
\Be_{123} I &= \Be_{123123} = -1.
\end{aligned}
\end{equation}
With differential forms, the duals of the duals of all our basic forms recovered the original, that is \( ** \omega = \omega \), but that isn’t the case if we use pseudoscalar multiplication to define duality. We see that to model the Hodge dual, we need to multiply by a grade specific pseudoscalar.

Definition 1.8: Hodge dual of an \(\mathbb{R}^3\) multivector

Let \( M \) be a \(\mathbb{R}^3\) multivector. The Hodge dual \( {*} M \) of that multivector is
\begin{equation*}
{*} M
=
\gpgrade{M}{0,1} I –
\gpgrade{M}{2,3} I.
\end{equation*}

In particular, if \( A \) is a k-blade in \(\mathbb{R}^3\), a round trip requires multiplication with different signed unit pseudoscalars.

Let’s step back and consider the \(\mathbb{R}^2\) case as well. This time we let \( i = dx_1 \wedge dx_2 \). We seek all the duals satisfying
\begin{equation}\label{eqn:formAndCurl:1180}
\begin{aligned}
i &= 1 \wedge {*} 1 \\
i &= dx \wedge {*} dx \\
i &= dy \wedge {*} dy \\
i &= (dx dy) \wedge {*} (dx dy).
\end{aligned}
\end{equation}
Those duals are
\begin{equation}\label{eqn:formAndCurl:1200}
\begin{aligned}
{*} 1 &= dx dy \\
{*} dx &= dy \\
{*} dy &= -dx \\
{*} (dx dy) &= 1 \\
\end{aligned}
\end{equation}

Now let’s compare this to multiplication of the \(\mathbb{R}^2\) basis vectors with the pseudoscalar \( i = \Be_1 \Be_2 \). We have
\begin{equation}\label{eqn:formAndCurl:1220}
\begin{aligned}
1 i &= i \\
\Be_1 i &= \Be_{112} = \Be_{2} \\
\Be_2 i &= \Be_{212} = -\Be_{1} \\
\Be_{12} i &= \Be_{1212} = -1 \\
\end{aligned}
\end{equation}

Definition 1.9: Hodge dual of \(\mathbb{R}^2\) multivector

Let \( M \) be a \(\mathbb{R}^2\) multivector. The Hodge dual \( {*} M \) of that multivector is
\begin{equation*}
{*} M
=
\gpgrade{M}{0,1} i –
\gpgrade{M}{2} i.
\end{equation*}

Neither of these grade specific duality operations are as nice as simply multiplying by a unit pseudoscalar, but if we care about correspondence with the Hodge dual (at least according to the definition in the article), then this is what we need.

Having done that, let’s now look at the Hodge dual that produces the divergence operation.

Lemma 1.13: Divergence relation to the exterior derivative.

Let \( \omega = f dx + g dy + h dz \) be a one-form in \(\mathbb{R}^3\). The exterior derivative of the Hodge dual of \( \omega \) is a divergence three-form
\begin{equation*}
d({*} \omega) = \lr{ \PD{x}{f} + \PD{y}{g} + \PD{z}{h} } dx \wedge dy \wedge dz.
\end{equation*}
The GA equivalent of this, for a vector corresponding to this one-form \( \Bf = f \Be_1 + g \Be_2 + h \Be_3 \in \mathbb{R}^3 \), is
\begin{equation*}
\spacegrad \wedge ({*} \Bf) = \lr{\spacegrad \cdot \Bf} I.
\end{equation*}

Start proof:

The dual of the one form is
\begin{equation}\label{eqn:formAndCurl:1280}
{*} \omega =
f dy \wedge dz
+ g dz \wedge dx
+ h dx \wedge dy,
\end{equation}
so the exterior derivative is
\begin{equation}\label{eqn:formAndCurl:1300}
\begin{aligned}
d({*} \omega) &=
\lr{
\PD{x}{f} dx +
\PD{y}{f} dy +
\PD{z}{f} dz
}
\wedge dy \wedge dz \\
&\quad+
\lr{
\PD{x}{g} dx +
\PD{y}{g} dy +
\PD{z}{g} dz
}
\wedge
dz \wedge dx \\
&\quad+
\lr{
\PD{x}{g} dx +
\PD{y}{g} dy +
\PD{z}{g} dz
}
\wedge
dx \wedge dy \\
&=
\lr{
\PD{x}{f} +
\PD{y}{g} +
\PD{z}{h}
}
dx \wedge dy \wedge dz.
\end{aligned}
\end{equation}
We expect that the GA equivalent of this is \( \spacegrad \wedge ({*} \Bf) = \lr{ \spacegrad \cdot \Bf} I \). Let’s check that this is the case. The dual, for a vector, is
\begin{equation}\label{eqn:formAndCurl:1320}
{*} \Bf
= \Bf I,
\end{equation}
so
\begin{equation}\label{eqn:formAndCurl:1340}
\begin{aligned}
\spacegrad \wedge ({*} \Bf)
&= \gpgradethree{ \spacegrad (\Bf I) } \\
&= \gpgradethree{ (\spacegrad \Bf) I } \\
&= \gpgradethree{ (\spacegrad \cdot \Bf + \spacegrad \wedge \Bf) I } \\
&= \lr{ \spacegrad \cdot \Bf } I.
\end{aligned}
\end{equation}

End proof.

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].

[2] Vincent Bouchard. Math 215: Calculus iv: 4.8 hodge star, 2023. URL https://sites.ualberta.ca/ vbouchar/MATH215/section_hodge.html. [Online; accessed 13-November-2023].

[3] H. Flanders. Differential Forms With Applications to the Physical Sciences. Courier Dover Publications, 1989.

Geometric calculus relationships to differential forms, and vector calculus identities.

November 12, 2023 math and physics play , , , , , ,

[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.

Let \( f : \mathbb{R}^N \rightarrow \mathbb{R} \) be a zero form. It’s exterior derivative is
\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.

We define the gradient of multivector \( f(x_1, x_2, \cdots, x_N) \), and denote it by \( \spacegrad f \)
\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:

Let \( A_r \) be a r-blade, and \( B_s \) a s-blade. The wedge of \( A_r \) with \( B_s \) is
\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.

Let \( A_k \) be a k-blade. We define the curl of a k-blade as the wedge product of the gradient with that k-blade, designated
\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.

Let \( \omega = f_i dx_i \) be a one-form. The exterior derivative of \( d \omega \) is
\begin{equation*}
d\omega = \sum_i d( f_i ) \wedge dx_i.
\end{equation*}

Lemma 1.1: Exterior derivative of a one-form.

Let \( \omega = f_i dx_i \) be a one-form. The exterior derivative \( d \omega \) can be expanding into a Jacobian 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.

Let \( \Bf = \sum_i \Be_i f_i \in \mathbb{R}^N \) be a vector. The curl of \( \Bf \) has a Jacobian structure
\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.

Let \( \eta = \sum_{ij} f_{ij} dx_i \wedge dx_j \) be a two-form. The exterior derivative of \( \eta \) is
\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.

Let \( \eta = \sum_{ij} f_{ij} dx_i \wedge dx_j \) be a two-form. The exterior derivative of \( \eta \) can be expanded as
\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.

Let \( B = \sum_{i \ne j} f_{ij} \Be_i \wedge \Be_j \) be a 2-blade. The curl of \( B \) is
\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.

Let \( A \) be a smooth k-blade, then
\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.

Let \( f \) be a scalar function and \( A \) be a k-blade, then
\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.

Let \( \Ba, \Bb, \Bc \) be vectors in \(\mathbb{R}^3\). Then
\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.

If \( \Ba, \Bb \) are vectors, then
\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.

Let \( \Ba, \Bb \in \mathbb{R}^N \) be vectors. The divergence of their wedge can be written
\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.

If \( \Ba, \Bb, \Bc \in \mathbb{R}^3 \) are vectors, then
\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.)

Let \( f, g, h \) be smooth functions with smooth derivatives. Then
\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.

Let \( \Ba, \Bb \) be vectors. The curl of their wedge is
\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].