Peeter Joot's (OLD) Blog.

Math, physics, perl, and programming obscurity.

Bivector Geometry in Geometric Algebra.

Posted by peeterjoot on September 20, 2009

[Click here for a PDF of this post with nicer formatting]


Consider the derivative of a vector parametrized bivector square such as

\begin{aligned}\frac{d}{d\lambda} {(\mathbf{x} \wedge \mathbf{k})^2} = \left(\frac{d\mathbf{x}}{d\lambda} \wedge \mathbf{k}\right) \left(\mathbf{x} \wedge \mathbf{k}\right)+\left(\mathbf{x} \wedge \mathbf{k}\right) \left(\frac{d \mathbf{x}}{d\lambda} \wedge \mathbf{k}\right)\end{aligned}

where \mathbf{k} is constant. In this case, the left hand side is a scalar so the right hand side, this symmetric product of bivectors must also be a scalar. In the more general case, do we have any reason to assume a symmetric bivector product is a scalar as is the case for the symmetric vector product?

Here this question is considered, and examination of products of intersecting bivectors is examined. We take intersecting bivectors to mean that there a common vector (\mathbf{k} above) can be factored from both of the two bivectors, leaving a vector remainder. Since all non coplanar bivectors in \mathbb{R}^{3} intersect this examination will cover the important special case of three dimensional plane geometry.

A result of this examination is that many of the concepts familiar from vector geometry such as orthogonality, projection, and rejection will have direct bivector equivalents.

General bivector geometry, in spaces where non-coplanar bivectors do not necessarily intersect (such as in \mathbb{R}^{4}) is also considered. Some of the results require plane intersection, or become simpler in such circumstances. This will be pointed out when appropriate.

Components of grade two multivector product.

The geometric product of two bivectors can be written:

\begin{aligned}\mathbf{A} \mathbf{B} = {\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{0}}+{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{2}}+{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{4}}= {\mathbf{A} \cdot \mathbf{B}}+{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{2}}+{\mathbf{A} \wedge \mathbf{B}}\end{aligned} \quad\quad\quad(1)

\begin{aligned}\mathbf{B} \mathbf{A} = {\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{{0}}+{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{{2}}+{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{{4}}= {\mathbf{B} \cdot \mathbf{A}}+{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{{2}}+{\mathbf{B} \wedge \mathbf{A}}\end{aligned} \quad\quad\quad(2)

Because we have three terms involved, unlike the vector dot and wedge product we cannot generally separate these terms by symmetric and antisymmetric parts. However forming those sums will still worthwhile, especially for the case of intersecting bivectors since the last term will be zero in that case.

Sign change of each grade term with commutation.

Starting with the last term we can first observe that

\begin{aligned}\mathbf{A} \wedge \mathbf{B} = \mathbf{B} \wedge \mathbf{A}\end{aligned} \quad\quad\quad(3)

To show this let \mathbf{A} = \mathbf{a} \wedge \mathbf{b}, and \mathbf{B} = \mathbf{c} \wedge \mathbf{d}. When

\mathbf{A} \wedge \mathbf{B} \ne 0, one can write:

\begin{aligned}\mathbf{A} \wedge \mathbf{B} &= \mathbf{a} \wedge \mathbf{b} \wedge \mathbf{c} \wedge \mathbf{d} \\ &= - \mathbf{b} \wedge \mathbf{c} \wedge \mathbf{d} \wedge \mathbf{a} \\ &= \mathbf{c} \wedge \mathbf{d} \wedge \mathbf{a} \wedge \mathbf{b} \\ &= \mathbf{B} \wedge \mathbf{A} \\ \end{aligned}

To see how the signs of the remaining two terms vary with commutation form:

\begin{aligned}(\mathbf{A} + \mathbf{B})^2&= (\mathbf{A} + \mathbf{B})(\mathbf{A} + \mathbf{B}) \\ &= \mathbf{A}^2 + \mathbf{B}^2 + \mathbf{A} \mathbf{B} + \mathbf{B} \mathbf{A} \\ \end{aligned}

When \mathbf{A} and \mathbf{B} intersect we can write \mathbf{A} = \mathbf{a} \wedge \mathbf{x}, and \mathbf{B} = \mathbf{b} \wedge \mathbf{x}, thus the sum is a bivector

\begin{aligned}(\mathbf{A} + \mathbf{B})= (\mathbf{a} + \mathbf{b}) \wedge \mathbf{x}\end{aligned}

And so, the square of the two is a scalar. When \mathbf{A} and \mathbf{B} have only non intersecting components, such as the grade two \mathbb{R}^{4} multivector \mathbf{e}_{12} + \mathbf{e}_{34}, the square of this sum will have both grade four and scalar parts.

Since the LHS = RHS, and the grades of the two also must be the same. This implies that the quantity

\begin{aligned}\mathbf{A} \mathbf{B} + \mathbf{B} \mathbf{A} = \mathbf{A} \cdot \mathbf{B} + \mathbf{B} \cdot \mathbf{A}+{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} + {\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}+\mathbf{A} \wedge \mathbf{B} + \mathbf{B} \wedge \mathbf{A}\end{aligned}

is a scalar \iff \mathbf{A} + \mathbf{B} is a bivector, and in general has scalar and grade four terms. Because this symmetric sum has no grade two terms, regardless of whether \mathbf{A}, and \mathbf{B} intersect, we have:

\begin{aligned}{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} + {\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2} = 0\end{aligned}

\begin{aligned}\implies{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} = -{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}\end{aligned} \quad\quad\quad(4)

One would intuitively expect \mathbf{A} \cdot \mathbf{B} = \mathbf{B} \cdot \mathbf{A}. This can be demonstrated by forming the complete symmetric sum

\begin{aligned}\mathbf{A} \mathbf{B} + \mathbf{B} \mathbf{A} &= {\mathbf{A} \cdot \mathbf{B}} +{\mathbf{B} \cdot \mathbf{A}}+{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{2}} +{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{{2}}+{\mathbf{A} \wedge \mathbf{B}} + {\mathbf{B} \wedge \mathbf{A}} \\ &= {\mathbf{A} \cdot \mathbf{B}} +{\mathbf{B} \cdot \mathbf{A}}+{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{2}} -{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{{2}}+{\mathbf{A} \wedge \mathbf{B}} + {\mathbf{A} \wedge \mathbf{B}} \\ &= {\mathbf{A} \cdot \mathbf{B}} +{\mathbf{B} \cdot \mathbf{A}}+2{\mathbf{A} \wedge \mathbf{B}} \\ \end{aligned}

The LHS commutes with interchange of \mathbf{A} and \mathbf{B}, as does {\mathbf{A} \wedge \mathbf{B}}. So for the RHS to also commute, the remaining grade 0 term must also:

\begin{aligned}\mathbf{A} \cdot \mathbf{B} = \mathbf{B} \cdot \mathbf{A}\end{aligned} \quad\quad\quad(5)

Dot, wedge and grade two terms of bivector product.

Collecting the results of the previous section and substituting back into equation 1 we have:

\begin{aligned}\mathbf{A} \cdot \mathbf{B} = {\left\langle{{\frac{\mathbf{A} \mathbf{B} + \mathbf{B}\mathbf{A}}{2}}}\right\rangle}_{{0}}\end{aligned} \quad\quad\quad(6)

\begin{aligned}{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} = \frac{\mathbf{A} \mathbf{B} - \mathbf{B}\mathbf{A}}{2}\end{aligned} \quad\quad\quad(7)

\begin{aligned}\mathbf{A} \wedge \mathbf{B} = {\left\langle{{\frac{\mathbf{A} \mathbf{B} + \mathbf{B}\mathbf{A}}{2}}}\right\rangle}_{{4}}\end{aligned} \quad\quad\quad(8)

When these intersect in a line the wedge term is zero, so for that special case we can write:

\begin{aligned}\mathbf{A} \cdot \mathbf{B} = \frac{\mathbf{A} \mathbf{B} + \mathbf{B}\mathbf{A}}{2}\end{aligned}

\begin{aligned}{\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} = \frac{\mathbf{A} \mathbf{B} - \mathbf{B}\mathbf{A}}{2}\end{aligned}

\begin{aligned}\mathbf{A} \wedge \mathbf{B} = 0\end{aligned}

(note that this is always the case for \mathbb{R}^{3}).

Intersection of planes.

Starting with two planes specified parametrically, each in terms of two direction vectors and a point on the plane:

\begin{aligned}\mathbf{x} &= \mathbf{p} + \alpha \mathbf{u} + \beta \mathbf{v} \\ \mathbf{y} &= \mathbf{q} + a \mathbf{w} + b \mathbf{z} \\ \end{aligned} \quad\quad\quad(9)

If these intersect then all points on the line must satisfy \mathbf{x} = \mathbf{y}, so the solution requires:

\begin{aligned}\mathbf{p} + \alpha \mathbf{u} + \beta \mathbf{v} = \mathbf{q} + a \mathbf{w} + b \mathbf{z}\end{aligned}

\begin{aligned}\implies(\mathbf{p} + \alpha \mathbf{u} + \beta \mathbf{v}) \wedge \mathbf{w} \wedge \mathbf{z} = (\mathbf{q} + a \mathbf{w} + b \mathbf{z}) \wedge \mathbf{w} \wedge \mathbf{z} = \mathbf{q} \wedge \mathbf{w} \wedge \mathbf{z}\end{aligned}

Rearranging for \beta, and writing \mathbf{B} = \mathbf{w} \wedge \mathbf{z}:

\begin{aligned}\beta = \frac{\mathbf{q} \wedge \mathbf{B} - (\mathbf{p} + \alpha \mathbf{u}) \wedge \mathbf{B}}{\mathbf{v} \wedge \mathbf{B}}\end{aligned}

Note that when the solution exists the left vs right order of the division by \mathbf{v} \wedge \mathbf{B} should not matter since the numerator will be proportional to this bivector (or else the \beta would not be a scalar).

Substitution of \beta back into \mathbf{x} = \mathbf{p} + \alpha \mathbf{u} + \beta \mathbf{v} (all points in the first plane) gives you a parametric equation for a line:

\begin{aligned}\mathbf{x} = \mathbf{p} + \frac{(\mathbf{q}-\mathbf{p})\wedge \mathbf{B}}{\mathbf{v} \wedge \mathbf{B}}\mathbf{v} + \alpha\frac{1}{\mathbf{v} \wedge \mathbf{B}}((\mathbf{v} \wedge \mathbf{B}) \mathbf{u} - (\mathbf{u} \wedge \mathbf{B})\mathbf{v})\end{aligned}

Where a point on the line is:

\begin{aligned}\mathbf{p} + \frac{(\mathbf{q}-\mathbf{p})\wedge \mathbf{B}}{\mathbf{v} \wedge \mathbf{B}}\mathbf{v} \end{aligned}

And a direction vector for the line is:

\begin{aligned}\frac{1}{\mathbf{v} \wedge \mathbf{B}}((\mathbf{v} \wedge \mathbf{B}) \mathbf{u} - (\mathbf{u} \wedge \mathbf{B})\mathbf{v})\end{aligned}

\begin{aligned}\propto(\mathbf{v} \wedge \mathbf{B})^2 \mathbf{u} - (\mathbf{v} \wedge \mathbf{B})(\mathbf{u} \wedge \mathbf{B})\mathbf{v}\end{aligned}

Now, this result is only valid if \mathbf{v} \wedge \mathbf{B} \ne 0 (ie: line of intersection is not directed along \mathbf{v}), but if that is the case the second form will be zero. Thus we can add the results (or any non-zero linear combination of) allowing for either of \mathbf{u}, or \mathbf{v} to be directed along the line of intersection:

\begin{aligned}a\left( (\mathbf{v} \wedge \mathbf{B})^2 \mathbf{u}- (\mathbf{v} \wedge \mathbf{B})(\mathbf{u} \wedge \mathbf{B})\mathbf{v} \right)+ b\left((\mathbf{u} \wedge \mathbf{B})^2 \mathbf{v} - (\mathbf{u} \wedge \mathbf{B})(\mathbf{v} \wedge \mathbf{B})\mathbf{u}\right)\end{aligned} \quad\quad\quad(12)

Alternately, one could formulate this in terms of \mathbf{A} = \mathbf{u} \wedge \mathbf{v}, \mathbf{w}, and \mathbf{z}. Is there a more symmetrical form for this direction vector?

Vector along line of intersection in \mathbb{R}^{3}

For \mathbb{R}^{3} one can solve the intersection problem using the normals to the planes. For simplicity put the origin on the line of intersection (and all planes through a common point in \mathbb{R}^{3} have at least a line of intersection). In this case, for bivectors \mathbf{A} and \mathbf{B}, normals to those planes are i\mathbf{A}, and i\mathbf{B} respectively. The plane through both of those normals is:

\begin{aligned}(i\mathbf{A}) \wedge (i\mathbf{B})= \frac{(i\mathbf{A})(i\mathbf{B}) - (i\mathbf{B})(i\mathbf{A})}{2} = \frac{\mathbf{B}\mathbf{A} - \mathbf{A}\mathbf{B}}{2} = {\left\langle{{\mathbf{B}\mathbf{A}}}\right\rangle}_{2}\end{aligned}

The normal to this plane

\begin{aligned}i{\left\langle{{\mathbf{B}\mathbf{A}}}\right\rangle}_{2}\end{aligned} \quad\quad\quad(13)

is directed along the line of intersection. This result is more appealing than the general \mathbb{R}^{N} result of equation 12, not just because it is simpler, but also because it is a function of only the bivectors for the planes, without a requirement to find or calculate two specific independent direction vectors in one of the planes.

Applying this result to \mathbb{R}^{N}

If you reject the component of \mathbf{A} from \mathbf{B} for two intersecting bivectors:

\begin{aligned}\text{Rej}_{\mathbf{A}}(\mathbf{B}) = \frac{1}{\mathbf{A}}{\left\langle{{\mathbf{A}\mathbf{B}}}\right\rangle}_{2}\end{aligned}

the line of intersection remains the same … that operation rotates \mathbf{B} so that the two are mutually perpendicular. This essentially reduces the problem to that of the three dimensional case, so the solution has to be of the same form… you just need to calculate a “pseudoscalar” (what you are calling the join), for the subspace spanned by the two bivectors.

That can be computed by taking any direction vector that is on one plane, but isn’t in the second. For example, pick a vector \mathbf{u} in the plane \mathbf{A} that is not on the intersection of \mathbf{A} and \mathbf{B}. In mathese that is \mathbf{u} = \frac{1}{\mathbf{A}}(\mathbf{A}\cdot \mathbf{u}) (or \mathbf{u} \wedge \mathbf{A} = 0), where \mathbf{u} \wedge \mathbf{B} \ne 0. Thus a pseudoscalar for this subspace is:

\begin{aligned}\mathbf{i} = \frac{\mathbf{u} \wedge \mathbf{B}}{{\left\lvert{\mathbf{u} \wedge \mathbf{B}}\right\rvert}}\end{aligned}

To calculate the direction vector along the intersection we don’t care about the scaling above. Also note that provided \mathbf{u} has a component in the plane \mathbf{A}, \mathbf{u} \cdot \mathbf{A} is also in the plane (it’s rotated \pi/2 from \frac{1}{\mathbf{A}}(\mathbf{A} \cdot \mathbf{u}).

Thus, provided that \mathbf{u} \cdot \mathbf{A} isn’t on the intersection, a scaled “pseudoscalar”
for the subspace can be calculated by taking from any vector \mathbf{u} with a component in the plane \mathbf{A}:

\begin{aligned}\mathbf{i} \propto (\mathbf{u} \cdot \mathbf{A}) \wedge \mathbf{B}\end{aligned}

Thus a vector along the intersection is:

\begin{aligned}\mathbf{d} = ((\mathbf{u} \cdot \mathbf{A}) \wedge \mathbf{B}) {\left\langle{{\mathbf{A}\mathbf{B}}}\right\rangle}_{2}\end{aligned} \quad\quad\quad(14)

Interchange of \mathbf{A} and \mathbf{B} in either the trivector or bivector terms above would also work.

Without showing the steps one can write the complete parametric solution of the line through the planes of equations 9 in terms of this direction vector:

\begin{aligned}\mathbf{x} = \mathbf{p} + \left(\frac{(\mathbf{q} - \mathbf{p})\wedge \mathbf{B}}{(\mathbf{d} \cdot \mathbf{A}) \wedge \mathbf{B}}\right) (\mathbf{d} \cdot \mathbf{A}) + \alpha \mathbf{d}\end{aligned} \quad\quad\quad(15)

Since (\mathbf{d} \cdot \mathbf{A}) \ne 0 and (\mathbf{d} \cdot \mathbf{A}) \wedge \mathbf{B} \ne 0 (unless \mathbf{A} and \mathbf{B} are coplanar), observe that this is a natural generator of the pseudoscalar for the subspace, and as such shows up in the expression above.

Also observe the non-coincidental similarity of the \mathbf{q}-\mathbf{p} term to Cramer’s rule (a ration of determinants).

Components of a grade two multivector

The procedure to calculate projections and rejections of planes onto planes is similar to a vector projection onto a space.

To arrive at that result we can consider the product of a grade two multivector \mathbf{A} with a bivector \mathbf{B} and its inverse (
the restriction that \mathbf{B} be a bivector, a grade two multivector that can be written as a wedge product of two vectors, is required for general invertability).

\begin{aligned}\mathbf{A}\frac{1}{\mathbf{B}}\mathbf{B} &= \left(\mathbf{A} \cdot \frac{1}{\mathbf{B}} + {\left\langle{{ \mathbf{A} \frac{1}{\mathbf{B}} }}\right\rangle}_{2} + \mathbf{A} \wedge \frac{1}{\mathbf{B}}\right) \mathbf{B} \\ &= \mathbf{A} \cdot \frac{1}{\mathbf{B}} \mathbf{B} \\ &+{\left\langle{{ \mathbf{A} \frac{1}{\mathbf{B}} }}\right\rangle}_{2} \cdot \mathbf{B} +{\left\langle{{ {\left\langle{{ \mathbf{A} \frac{1}{\mathbf{B}} }}\right\rangle}_{2} \mathbf{B} }}\right\rangle}_{2}+{\left\langle{{ \mathbf{A} \frac{1}{\mathbf{B}} }}\right\rangle}_{2} \wedge \mathbf{B} \\ &+\left(\mathbf{A} \wedge \frac{1}{\mathbf{B}}\right) \cdot \mathbf{B} +{\left\langle{{\mathbf{A} \wedge \frac{1}{\mathbf{B}} \mathbf{B}}}\right\rangle}_{4}+\mathbf{A} \wedge \frac{1}{\mathbf{B}} \wedge \mathbf{B} \\ \end{aligned}

Since \frac{1}{\mathbf{B}} = -\frac{\mathbf{B}}{{{\left\lvert{\mathbf{B}}\right\rvert}}^2}, this implies that the 6-grade term \mathbf{A} \wedge \frac{1}{\mathbf{B}} \wedge \mathbf{B} is zero. Since the LHS has grade 2, this implies that the 0-grade and 4-grade terms are zero (also independently implies that the 6-grade term is zero). This leaves:

\begin{aligned}\mathbf{A}= \mathbf{A} \cdot \frac{1}{\mathbf{B}} \mathbf{B} \\ +{\left\langle{{{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}}}\right\rangle}_{2}+\left(\mathbf{A} \wedge \frac{1}{\mathbf{B}}\right) \cdot \mathbf{B} \end{aligned} \quad\quad\quad(16)

This could be written somewhat more symmetrically as

\begin{aligned}\mathbf{A}&=\sum_{i=0,2,4}{\left\langle{{{\left\langle{{\mathbf{A} \frac{1}{\mathbf{B}}}}\right\rangle}_{{i}} \mathbf{B}}}\right\rangle}_{2} \\ &= {\left\langle{{ \left\langle{{\mathbf{A} \frac{1}{\mathbf{B}}}}\right\rangle \mathbf{B} +{\left\langle{{\mathbf{A} \frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B} +{\left\langle{{\mathbf{A} \frac{1}{\mathbf{B}}}}\right\rangle}_{4} \mathbf{B} }}\right\rangle}_{2} \\ \end{aligned}

This is also a more direct way to derive the result in retrospect.

Looking at equation 16 we have three terms. The first is

\begin{aligned}\mathbf{A} \cdot \frac{1}{\mathbf{B}} \mathbf{B}\end{aligned} \quad\quad\quad(17)

This is the component of \mathbf{A} that lies in the plane \mathbf{B} (the projection of \mathbf{A} onto \mathbf{B}).

The next is

\begin{aligned}{\left\langle{{{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}}}\right\rangle}_{2}\end{aligned} \quad\quad\quad(18)

If \mathbf{B} and \mathbf{A} have any intersecting components, this is the components of \mathbf{A} from the intersection that are perpendicular to \mathbf{B} with respect to the bivector dot product. ie: This is the rejective term.

And finally,

\begin{aligned}\left(\mathbf{A} \wedge \frac{1}{\mathbf{B}}\right) \cdot \mathbf{B}\end{aligned} \quad\quad\quad(19)

This is the remainder, the non-projective and non-coplanar terms. Greater than three dimensions is required to generate such a term. Example:

\begin{aligned}\mathbf{A} &= \mathbf{e}_{12} + \mathbf{e}_{23} + \mathbf{e}_{43} \\ \mathbf{B} &= \mathbf{e}_{34} \\ \end{aligned}

Product terms for these are:

\begin{aligned}\mathbf{A} \cdot \mathbf{B} &= 1 \\ {\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} &= \mathbf{e}_{24} \\ \mathbf{A} \wedge \mathbf{B} &= \mathbf{e}_{1234} \\ \end{aligned}

The decomposition is thus:

\begin{aligned}\mathbf{A} = \left(\mathbf{A} \cdot \mathbf{B} + {\left\langle{{\mathbf{A} \mathbf{B}}}\right\rangle}_{2} + \mathbf{A} \wedge \mathbf{B}\right) \frac{1}{\mathbf{B}} = (1 + \mathbf{e}_{24} + \mathbf{e}_{1234}) \mathbf{e}_{43}\end{aligned}

Closer look at the grade two term

The grade two term of equation 18 can be expanded using its antisymmetric bivector product representation

\begin{aligned}{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}&= \frac{1}{{2}}\left(\mathbf{A}\frac{1}{\mathbf{B}} - \frac{1}{\mathbf{B}}\mathbf{A}\right) \mathbf{B} \\ &= \frac{1}{{2}}\left(\mathbf{A} - \frac{1}{\mathbf{B}}\mathbf{A} \mathbf{B}\right) \\ &= \frac{1}{{2}}\left(\mathbf{A} - \frac{1}{{\hat{\mathbf{B}}}}\mathbf{A} \hat{\mathbf{B}}\right) \\ \end{aligned}

Observe here one can restrict the examination to the case where \mathbf{B} is a unit bivector without loss of generality.

\begin{aligned}{\left\langle{{\mathbf{A}\frac{1}{\mathbf{i}}}}\right\rangle}_{2} \mathbf{i}&= \frac{1}{{2}}\left(\mathbf{A} + \mathbf{i}\mathbf{A}\mathbf{i}\right) \\ &= \frac{1}{{2}}\left(\mathbf{A} - \mathbf{i}^\dagger\mathbf{A}\mathbf{i}\right) \\ \end{aligned}

The second term is a rotation in the plane \mathbf{i}, by 180 degrees:

\begin{aligned}\mathbf{i}^\dagger\mathbf{A}\mathbf{i} = e^{-\mathbf{i} \pi/2}\mathbf{A} e^{\mathbf{i} \pi/2}\end{aligned}

So, any components of \mathbf{A} that are completely in the plane cancel out (ie: the \mathbf{A} \cdot \frac{1}{\mathbf{i}}\mathbf{i} component).

Also, if {\left\langle{{\mathbf{A} \mathbf{i}}}\right\rangle}_{4} \ne 0 then those components of \mathbf{A} \mathbf{i} commute so

\begin{aligned}{\left\langle{{\mathbf{A} - \mathbf{i}^\dagger\mathbf{A}\mathbf{i}}}\right\rangle}_{4}&= {\left\langle{\mathbf{A}}\right\rangle}_{4} - {\left\langle{{\mathbf{i}^\dagger\mathbf{A}\mathbf{i}}}\right\rangle}_{4} \\ &= {\left\langle{\mathbf{A}}\right\rangle}_{4} - {\left\langle{{\mathbf{i}^\dagger\mathbf{i}\mathbf{A}}}\right\rangle}_{4} \\ &= {\left\langle{\mathbf{A}}\right\rangle}_{4} - {\left\langle{\mathbf{A}}\right\rangle}_{4} \\ &= 0 \\ \end{aligned}

This implies that we have only grade two terms, and the final grade selection in equation 18 can be dropped:

\begin{aligned} {\left\langle{{{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}}}\right\rangle}_{2} = {\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}\end{aligned} \quad\quad\quad(20)

It’s also possible to write this in a few alternate variations which are useful to list explicitly so that one can recognize them in other contexts:

\begin{aligned}{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}&= \frac{1}{{2}}\left(\mathbf{A} - \frac{1}{\mathbf{B}}\mathbf{A}\mathbf{B}\right)  \\ &= \frac{1}{{2}}\left(\mathbf{A} + \hat{\mathbf{B}}\mathbf{A}\hat{\mathbf{B}}\right)  \\ &= \frac{1}{{2}}\left( \hat{\mathbf{B}}\mathbf{A} -\mathbf{A}\hat{\mathbf{B}} \right)\hat{\mathbf{B}} \\ &= {\left\langle{{\hat{\mathbf{B}}\mathbf{A}}}\right\rangle}_{2}\hat{\mathbf{B}} \\ &= \hat{\mathbf{B}}{\left\langle{{\mathbf{A}\hat{\mathbf{B}}}}\right\rangle}_{2} \\ \end{aligned}

Projection and Rejection

Equation 20 can be substituted back into equation 16 yielding:

\begin{aligned}\mathbf{A} =\mathbf{A} \cdot \frac{1}{\mathbf{B}} \mathbf{B} \\ +{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B}+\left(\mathbf{A} \wedge \frac{1}{\mathbf{B}}\right) \cdot \mathbf{B} \end{aligned} \quad\quad\quad(21)

Now, for the special case where \mathbf{A} \wedge \mathbf{B} = 0 (all bivector components of the grade two multivector \mathbf{A} have a common vector with bivector \mathbf{B}) we can write

\begin{aligned}\mathbf{A} &= \mathbf{A} \cdot \frac{1}{\mathbf{B}} \mathbf{B} +{\left\langle{{\mathbf{A}\frac{1}{\mathbf{B}}}}\right\rangle}_{2} \mathbf{B} \\ &= \mathbf{B} \frac{1}{\mathbf{B}} \cdot {\mathbf{A}} + \mathbf{B} {\left\langle{{\frac{1}{\mathbf{B}}\mathbf{A}}}\right\rangle}_{2} \\ \end{aligned}

This is

\begin{aligned}\mathbf{A} = \text{Proj}_{\mathbf{B}}(\mathbf{A}) + \text{Rej}_{\mathbf{B}}(\mathbf{A}) \end{aligned} \quad\quad\quad(22)

It’s worth verifying that these two terms are orthogonal (with respect to the grade two vector dot product)

\begin{aligned}\text{Proj}_{\mathbf{B}}(\mathbf{A}) \cdot \text{Rej}_{\mathbf{B}}(\mathbf{A})&= \left\langle{{ \text{Proj}_{\mathbf{B}}(\mathbf{A}) \text{Rej}_{\mathbf{B}}(\mathbf{A}) }}\right\rangle \\ &= \left\langle{{ \mathbf{A} \cdot \frac{1}{\mathbf{B}} \mathbf{B} \mathbf{B} {\left\langle{{\frac{1}{\mathbf{B}}\mathbf{A}}}\right\rangle}_{2} }}\right\rangle \\ &= \frac{1}{{4\mathbf{B}^2}}\left\langle{{ (\mathbf{A}\mathbf{B} + \mathbf{B}\mathbf{A})(\mathbf{B}\mathbf{A} - \mathbf{A}\mathbf{B}) }}\right\rangle \\ &= \frac{1}{{4\mathbf{B}^2}}\left\langle{{ \mathbf{A}\mathbf{B}\mathbf{B}\mathbf{A} -\mathbf{A}\mathbf{B}\mathbf{A}\mathbf{B} +\mathbf{B}\mathbf{A}\mathbf{B}\mathbf{A} -\mathbf{B}\mathbf{A}\mathbf{A}\mathbf{B} }}\right\rangle \\ &= \frac{1}{{4\mathbf{B}^2}}\left\langle{{ -\mathbf{A}\mathbf{B}\mathbf{A}\mathbf{B} +\mathbf{B}\mathbf{A}\mathbf{B}\mathbf{A} }}\right\rangle \\ \end{aligned}

Since we have introduced the restriction \mathbf{A} \wedge \mathbf{B} \ne 0, we can use the dot product to reorder product terms:

\begin{aligned}\mathbf{A}\mathbf{B} = -\mathbf{B}\mathbf{A} + 2 \mathbf{A} \cdot \mathbf{B}\end{aligned}

This can be used to reduce the grade zero term above:

\begin{aligned}\left\langle{{ \mathbf{B}\mathbf{A}\mathbf{B}\mathbf{A} -\mathbf{A}\mathbf{B}\mathbf{A}\mathbf{B} }}\right\rangle&= \left\langle{{ \mathbf{B}\mathbf{A}(-\mathbf{A}\mathbf{B} + 2 \mathbf{A} \cdot \mathbf{B}) -(-\mathbf{B}\mathbf{A} + 2 \mathbf{A} \cdot \mathbf{B})\mathbf{A}\mathbf{B} }}\right\rangle \\ &= + 2 (\mathbf{A} \cdot \mathbf{B})\left\langle{{\mathbf{B}\mathbf{A} - \mathbf{A}\mathbf{B} }}\right\rangle \\ &= + 4 (\mathbf{A} \cdot \mathbf{B})\left\langle{{{\left\langle{{\mathbf{B}\mathbf{A}}}\right\rangle}_{2}}}\right\rangle \\ &= 0 \\ \end{aligned}

This proves orthogonality as expected.

Grade two term as a generator of rotations.

\caption{Bivector rejection. Perpendicular component of plane.}

Figure \ref{fig:planerejection} illustrates how the grade 2 component of the bivector product acts as a rotation in the rejection operation.

Provided that \mathbf{A} and \mathbf{B} are not coplanar, {\left\langle{{\mathbf{A}\mathbf{B}}}\right\rangle}_{2} is a plane mutually perpendicular to both.

Given two mutually perpendicular unit bivectors {\mathbf{A}} and {\mathbf{B}}, we can in fact write:

\begin{aligned}{\mathbf{B}} = {\mathbf{A}}{\left\langle{{\mathbf{B}{\mathbf{A}}}}\right\rangle}_{2}\end{aligned}

\begin{aligned}{\mathbf{B}} = {\left\langle{{\mathbf{A}{\mathbf{B}}}}\right\rangle}_{2}{\mathbf{A}}\end{aligned}

Compare this to a unit bivector for two mutually perpendicular vectors:

\begin{aligned}\mathbf{b} = \mathbf{a} (\mathbf{a} \wedge \mathbf{b})\end{aligned}

\begin{aligned}\mathbf{b} = (\mathbf{b} \wedge \mathbf{a}) \mathbf{a}\end{aligned}

In both cases, the unit bivector functions as an imaginary number, applying a rotation of \pi/2 rotating one of the perpendicular entities onto the other.

As with vectors one can split the rotation of the unit bivector into half angle left and right rotations. For example, for the same mutually perpendicular pair of bivectors one can write

\begin{aligned}\mathbf{B} &= \mathbf{A}{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2} \\ &= \mathbf{A} e^{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}\pi/2} \\ &= e^{-{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}\pi/4} \mathbf{A} e^{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}\pi/4} \\ &= \left(\frac{1}{{\sqrt{2}}}(1 - \mathbf{B} \mathbf{A})\right) \mathbf{A} \left(\frac{1}{{\sqrt{2}}}(1 + \mathbf{B} \mathbf{A}) \right) \\ \end{aligned}

Direct multiplication can be used to verify that this does in fact produce the desired result.

In general, writing

\begin{aligned}\mathbf{i} = \frac{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}}\end{aligned}

the rotation of plane \mathbf{B} towards \mathbf{A} by angle \theta can be expressed with either a single sided full angle

\begin{aligned}\text{Rot}_{\theta: \mathbf{A} \rightarrow \mathbf{B}}(\mathbf{A}) &= \mathbf{A} e^{\mathbf{i} \theta} \\ &= e^{-\mathbf{i} \theta} \mathbf{A} \\ \end{aligned}

or double sided the half angle rotor formulas:

\begin{aligned}\text{Rot}_{\theta: \mathbf{A} \rightarrow \mathbf{B}}(\mathbf{A}) = e^{-\mathbf{i} \theta/2} \mathbf{A} e^{\mathbf{i} \theta/2} = \mathbf{R}^\dagger \mathbf{A} \mathbf{R}\end{aligned} \quad\quad\quad(23)


\begin{aligned}\mathbf{R} &= e^{\mathbf{i}\theta/2} \\ &= \cos(\theta/2) + \frac{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}}\sin(\theta/2) \\ \end{aligned}

As with half angle rotors applied to vectors, there are two possible orientations to rotate. Here the orientation of the rotation is such that the angle is measured along the minimal arc between the two, where the angle between the two is in the range (0,\pi) as opposed to the (\pi,2\pi) rotational direction.

Angle between two intersecting planes.

Worth pointing out for comparison to the vector result, one can use the bivector dot product to calculate the angle between two intersecting planes. This angle of separation \theta between the two can be expressed using the exponential:

\begin{aligned}\hat{\mathbf{B}} = \hat{\mathbf{A}} e^{ \frac{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}} \theta}\end{aligned}

\begin{aligned}\implies-\hat{\mathbf{A}} \hat{\mathbf{B}} = e^{ \frac{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}} \theta}\end{aligned}

Taking the grade zero terms of both sides we have:

\begin{aligned}-\left\langle{{\hat{\mathbf{A}} \hat{\mathbf{B}}}}\right\rangle = \left\langle{{ e^{ \frac{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}} \theta} }}\right\rangle\end{aligned}

\begin{aligned}\implies\cos(\theta) = - \frac{\mathbf{A} \cdot \mathbf{B}}{{\left\lvert{\mathbf{A}}\right\rvert}{\left\lvert{\mathbf{B}}\right\rvert}}\end{aligned}

The sine can be obtained by selecting the grade two terms

\begin{aligned}-{\left\langle{{\hat{\mathbf{A}} \hat{\mathbf{B}}}}\right\rangle}_{2} = \frac{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}} \sin(\theta)\end{aligned}

\begin{aligned}\implies\sin(\theta) = \frac{{\left\lvert{{\left\langle{{\mathbf{B} \mathbf{A}}}\right\rangle}_{2}}\right\rvert}}{ {\left\lvert{\mathbf{A}}\right\rvert}{\left\lvert{\mathbf{B}}\right\rvert} }\end{aligned}

Note that the strictly positive sine result here is consistent with the fact that the angle is being measured such that it is in the
(0,\pi) range.

Rotation of an arbitrarily oriented plane.

As stated in a few of the GA books the rotor equation is a rotation representation that works for all grade vectors. Let’s verify this for the bivector case. Given a plane through the origin spanned by two direction vectors and rotated about the origin in a plane specified by unit magnitude rotor \mathbf{R}, the rotated plane will be specified by the wedge of the rotations applied to the two direction vectors. Let

\begin{aligned}\mathbf{A} = \mathbf{u} \wedge \mathbf{v}\end{aligned}


\begin{aligned}R(\mathbf{A}) &= R(\mathbf{u}) \wedge R(\mathbf{v}) \\ &= (\mathbf{R}^\dagger \mathbf{u} \mathbf{R}) \wedge (\mathbf{R}^\dagger \mathbf{v} \mathbf{R}) \\ &= \frac{1}{{2}}( \mathbf{R}^\dagger \mathbf{u} \mathbf{R} \mathbf{R}^\dagger \mathbf{v} \mathbf{R} - \mathbf{R}^\dagger \mathbf{v} \mathbf{R} \mathbf{R}^\dagger \mathbf{u} \mathbf{R}) \\ &= \frac{1}{{2}}( \mathbf{R}^\dagger \mathbf{u} \mathbf{v} \mathbf{R} - \mathbf{R}^\dagger \mathbf{v} \mathbf{u} \mathbf{R}) \\ &= \mathbf{R}^\dagger \frac{\mathbf{u} \mathbf{v} - \mathbf{v} \mathbf{u}}{2} \mathbf{R} \\ &= \mathbf{R}^\dagger \mathbf{u} \wedge \mathbf{v} \mathbf{R} \\ &= \mathbf{R}^\dagger \mathbf{A} \mathbf{R} \\ \end{aligned}

Observe that with this half angle double sided rotation equation, any component of \mathbf{A} in the plane of rotation, or any component that does not intersect the plane of rotation, will be unchanged by the rotor since it will commute with it. In those cases the opposing sign half angle rotations will cancel out. Only the components of the plane that are perpendicular to the rotational plane will be changed by this rotation operation.

A couple of reduction formula equivalents from \mathbb{R}^{3} vector geometry.

The reduction of the \mathbb{R}^{3} dot of cross products to dot products can be naturally derived using GA arguments. Writing i as the \mathbb{R}^{3} pseudoscalar we have:

\begin{aligned}( \mathbf{a} \times \mathbf{b} ) \cdot ( \mathbf{c} \times \mathbf{d} )&= \frac{\mathbf{a} \wedge \mathbf{b}}{i} \cdot \frac{\mathbf{c} \wedge \mathbf{d}}{i} \\ &= \frac{1}{{2}}\left( \frac{\mathbf{a} \wedge \mathbf{b}}{i} \frac{\mathbf{c} \wedge \mathbf{d}}{i} + \frac{\mathbf{c} \wedge \mathbf{d}}{i} \frac{\mathbf{a} \wedge \mathbf{b}}{i} \right) \\ &= -\frac{1}{{2}}\left( (\mathbf{a} \wedge \mathbf{b}) (\mathbf{c} \wedge \mathbf{d}) + (\mathbf{c} \wedge \mathbf{d}) (\mathbf{a} \wedge \mathbf{b}) \right) \\ &= - (\mathbf{a} \wedge \mathbf{b}) \cdot (\mathbf{c} \wedge \mathbf{d}) - (\mathbf{a} \wedge \mathbf{b}) \wedge (\mathbf{c} \wedge \mathbf{d})\end{aligned}

In \mathbb{R}^{3} this last term must be zero, thus one can write

\begin{aligned}( \mathbf{a} \times \mathbf{b} ) \cdot ( \mathbf{c} \times \mathbf{d} ) = -(\mathbf{a} \wedge \mathbf{b}) \cdot (\mathbf{c} \wedge \mathbf{d})\end{aligned} \quad\quad\quad(24)

This is now in a form where it can be reduced to products of vector dot products.

\begin{aligned}(\mathbf{a} \wedge \mathbf{b}) \cdot (\mathbf{c} \wedge \mathbf{d})&= \frac{1}{{2}}\left\langle{{ (\mathbf{a} \wedge \mathbf{b}) (\mathbf{c} \wedge \mathbf{d}) + (\mathbf{c} \wedge \mathbf{d}) (\mathbf{a} \wedge \mathbf{b}) }}\right\rangle \\ &= \frac{1}{{2}}\left\langle{{ (\mathbf{a} \wedge \mathbf{b}) (\mathbf{c} \wedge \mathbf{d}) + (\mathbf{d} \wedge \mathbf{c}) (\mathbf{b} \wedge \mathbf{a}) }}\right\rangle \\ &= \frac{1}{{2}}\left\langle{{ (\mathbf{a}\mathbf{b} - \mathbf{a} \cdot \mathbf{b} ) (\mathbf{c} \wedge \mathbf{d}) + (\mathbf{d} \wedge \mathbf{c}) (\mathbf{b} \mathbf{a} - \mathbf{b} \cdot \mathbf{a} ) }}\right\rangle \\ &= \frac{1}{{2}}\left\langle{{ \mathbf{a}\mathbf{b} (\mathbf{c} \wedge \mathbf{d}) + (\mathbf{d} \wedge \mathbf{c}) \mathbf{b} \mathbf{a} }}\right\rangle \\ &= \frac{1}{{2}}\left\langle{{ \mathbf{a} (\mathbf{b} \cdot (\mathbf{c} \wedge \mathbf{d}) + \mathbf{b} \wedge (\mathbf{c} \wedge \mathbf{d})) ( (\mathbf{d} \wedge \mathbf{c}) \cdot \mathbf{b} + (\mathbf{d} \wedge \mathbf{c}) \wedge \mathbf{b}) \mathbf{a} }}\right\rangle \\ &= \frac{1}{{2}}\left\langle{{ \mathbf{a} (\mathbf{b} \cdot (\mathbf{c} \wedge \mathbf{d})) + ( (\mathbf{d} \wedge \mathbf{c}) \cdot \mathbf{b} ) \mathbf{a} }}\right\rangle \\ &= \frac{1}{{2}}\left\langle{{ \mathbf{a} ( (\mathbf{b} \cdot \mathbf{c}) \mathbf{d} - (\mathbf{b} \cdot \mathbf{d}) \mathbf{c} ) + ( \mathbf{d} (\mathbf{c} \cdot \mathbf{b}) - \mathbf{c} (\mathbf{d} \cdot \mathbf{b}) ) \mathbf{a} }}\right\rangle \\ &= \frac{1}{{2}}( ( \mathbf{a} \cdot \mathbf{d} ) ( \mathbf{b} \cdot \mathbf{c} ) - ( \mathbf{b} \cdot \mathbf{d} ) ( \mathbf{a} \cdot \mathbf{c} ) + ( \mathbf{d} \cdot \mathbf{a} ) ( \mathbf{c} \cdot \mathbf{b} ) - ( \mathbf{c} \cdot \mathbf{a} ) ( \mathbf{d} \cdot \mathbf{b} ) ) \\ &= ( \mathbf{a} \cdot \mathbf{d} ) ( \mathbf{b} \cdot \mathbf{c} ) - ( \mathbf{a} \cdot \mathbf{c} ) ( \mathbf{b} \cdot \mathbf{d} ) \\ \end{aligned}

Summarizing with a comparison to the \mathbb{R}^{3} relations we have:

\begin{aligned}(\mathbf{a} \wedge \mathbf{b}) \cdot (\mathbf{c} \wedge \mathbf{d}) = -(\mathbf{a} \times \mathbf{b}) \cdot (\mathbf{c} \times \mathbf{d}) = ( \mathbf{a} \cdot \mathbf{d} ) ( \mathbf{b} \cdot \mathbf{c} ) - ( \mathbf{a} \cdot \mathbf{c} ) ( \mathbf{b} \cdot \mathbf{d} )\end{aligned} \quad\quad\quad(25)

\begin{aligned}(\mathbf{a} \wedge \mathbf{c}) \cdot (\mathbf{b} \wedge \mathbf{c}) = -(\mathbf{a} \times \mathbf{c}) \cdot (\mathbf{b} \times \mathbf{c}) = ( \mathbf{a} \cdot \mathbf{c} ) ( \mathbf{b} \cdot \mathbf{c} ) - \mathbf{c}^2 ( \mathbf{a} \cdot \mathbf{b} )\end{aligned} \quad\quad\quad(26)

The bivector relations hold for all of \mathbb{R}^{N}.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: