Physics Using Geometric Algebra/Basic Geometric Algebra
Clifford described his algebras as geometric because their algebraic operations map naturally into geometric operations. In particular, they provide an elegant representation of rotations and reflections in various spaces. This introduction will explain how geometric algebras work and how they correspond to geometric operations.
The geometric algebras are a family of algebras. From a physics point of view, the most interesting geometric algebras are G_{2} (2D), G_{3} (Euclidean space), and the Spacetime Algebra (STA). For expository purposes, we will start with G_{2} (2D). (We will not discuss the Spacetime Algebra in this section.)
Vector Spaces (2D)Edit
An algebra can be defined as a vector space plus a product operation, where a vector space consists of vectors that can be added and scaled, where scalars are real numbers.
e_{1} and e_{2} are orthonormal basis vectors, which means that |e_{1}| = |e_{2}| = 1 and e_{1} and e_{2} are orthogonal. (See Figure 1.)
e_{1} is the unit vector of the x-axis. e_{2} is the unit vector of the y-axis.
We know what it means to add two vectors, just add components (see Figure 2):
1e_{1} + 3e_{2} (u)
+ 2e_{1} + 1e_{2} (v)
————————
= 3e_{1} + 4e_{2} (w)
NB: [3,4] is not a vector; 3e_{1} + 4e_{2} is a vector.
Vector Products (G_{2})Edit
What is a vector product in a geometric algebra?
A simple approach to vector multiplication would be to cross-multiply the terms algebraically:
(ae_{1} + be_{2})(ce_{1} + de_{2}) =
ace_{1}e_{1} + ade_{1}e_{2} + bce_{2}e_{1} + bde_{2}e_{2}
But what are e_{1}e_{1}, e_{1}e_{2}, e_{2}e_{1}, and e_{2}e_{2}?
In partial answer to this, we introduce a new basis element, e_{12}, which corresponds to the x-y plane (see Figure 3). We stipulate that e_{1}e_{2} = e_{12} and e_{2}e_{1} = -e_{12}.
The product of two basis vectors is a plane.
You can think of e_{1}e_{2} as sweeping e_{1} in the direction of e_{2}. The area covered is e_{12}.
The basis element has an orientation based on how you rotate when you go from the first vector to the second. If you move in a right-handed way (e.g. from e_{1} to e_{2} in the first image of Figure 3), then the orientation is positive. If you move in a left-handed way (e.g. from e_{2} to e_{1} in the second image of Figure 3) then the orientation is negative. ('Right-handed' means the direction that your right hand turns if your thumb is pointing at you and you move your hand in the direction of your fingers.)
Multiplication Table (G_{2})Edit
We now have four basis elements in G_{2} if you include a scalar element: 1, e_{1}, e_{2}, and e_{12}.
The following table defines multiplication between these basis elements, where rows correspond to the left term in a product and columns correspond to the right term:
1 | e_{1} | e_{2} | e_{12} | |
---|---|---|---|---|
1 | 1 | e_{1} | e_{2} | e_{12} |
e_{1} | e_{1} | 1 | e_{12} | e_{2} |
e_{2} | e_{2} | -e_{12} | 1 | -e_{1} |
e_{12} | e_{12} | -e_{2} | e_{1} | -1 |
Note that multiplying by e_{12} rotates basis vectors by 90 degrees:
Multiplying by e_{12} on the left rotates left-handed (e_{1} -> -e_{2} -> -e_{1} -> e_{2}).
Multiplying by e_{12} on the right rotates right-handed (e_{1} -> e_{2} -> -e_{1} -> -e_{2}).
Note also that e_{12} squared equals -1, which corresponds to rotation by 180 degrees.
e_{12} plays the role of i in G_{2}.
Vector Multiplication (G_{2})Edit
We can now say what it means to cross-multiply two vectors in G_{2}:
(ae_{1} + be_{2})(ce_{1} + de_{2})
= ace_{1}e_{1} + ade_{1}e_{2} + bce_{2}e_{1} + bde_{2}e_{2}
= ac + ade_{12} - bce_{12} + bd
= (ac + bd) + (ad - bc)e_{12}.
This scalar plus a scaled basis plane is isomorphic to a complex number (x +yi), where e_{12} plays the role of the imaginary i.
We will call any expression of the form a + be_{12} a spinor (or rotor). (We will see in the next sections why it has this name.)
The product of two vectors is a spinor.
Note that ac + bd is the definition of the dot product (or inner product) of two vectors and ad - bc is the definition of the wedge product (or outer product) of two vectors. Thus, uv = u·v + u∧v.
In general, a multivector in G_{2} has four components: a + be_{1} + ce_{2} + de_{12}.
We will reserve the word 'vector' for a multivector that just consists of basis vectors: be_{1} + ce_{2}.
A spinor is a multivector that just consists of a scalar and a basis plane: a + de_{12}.
Simple Rotation (G_{2})Edit
When we multiply a vector by e_{12} on the right:
(ae_{1} + be_{2}) e_{12} = ae_{2} - be_{1}
we see that e_{12} rotates each basis vector in the vector by 90 degrees:
e_{1} -> e_{2}
e_{2} -> -e_{1}.
This has the effect of rotating the whole vector by 90 degrees (see Figure 4). This is because a vector is just the sum of its basis vectors, so if the basis vectors are rotated, the vector is rotated.
Multiplying any vector by e_{12} rotates the vector by 90 degrees.
General Rotation (G_{2})Edit
When we multiply a spinor times a vector we get:
(a + be_{12}) (ce_{1} + de_{2})
= a(ce_{1} + de_{2}) + be_{12}(ce_{1} + de_{2})
= a(ce_{1} + de_{2}) + b(de_{1}- ce_{2}).
The result has a component in the original direction of the vector (the spinor's scalar times the vector (a in Figure 5)), plus a component at right angles to the vector (the spinor's e_{12} times the vector, which rotates the vector by 90 degrees (b in Figure 5)). This combination allows for the arbitrary rotation of a vector.
Multiplying a spinor times a vector rotates the vector.
Meaning of the Spinor (G_{2})Edit
Let u = ae_{1} + be_{2}
and v = ce_{1} + de_{2}.
Then
uv = (ae_{1} + be_{2})(ce_{1} + de_{2})
= (ac + bd) + (ad - bc)e_{12}
= R.
Then uR = (ae_{1} + be_{2}) [[(ac + bd) + (ad - bc)e_{12}]]
= ae_{1}(ac + bd) + ae_{2}(ad - bc) + be_{2}(ac + bd) - be_{1}(ad - bc)
= [a^{2}c + abd - abd + b^{2}c]e_{1} + [a^{2}d - abc + abc + b^{2}d]e_{2}
= [a^{2}c + b^{2}c]e_{1} + [a^{2}d + b^{2}d]e_{2}
= [a^{2} + b^{2}]ce_{1} + [a^{2} + b^{2}]de_{2}
= [a^{2} + b^{2}](ce_{1} + de_{2})
= [a^{2} + b^{2}]v.
So, if uv = R, then uR = |u|^{2}v.
R = uv represents the rotation between u to v.
Another way to show this is to note that since uu = |u|^{2} for any vector (the wedge product is zero, so only the dot product remains), then uR = u(uv) = (uu)v = |u|^{2}v. So having R on the right rotates a vector from u to v. Similarly, since Rv = (uv)v = u(vv) = |v|^{2}u, having R on the left rotates a vector from v to u.
Reflection (G_{2})Edit
Let R = uv. We know that uR = u(uv) = (uu)v = |u|^{2}v. Now consider vR. We know that R rotates a vector by the angle between u and v. When we rotate v away from u by the angle between u and v, then we get u', which is the reflection of u across v. (See Figure 6.)
Euclidean Space (G_{3})Edit
In Euclidean space, there are three basis elements corresponding to the three planes: e_{12} (the x-y plane), e_{23} (the y-z plane), and e_{31} (the x-z plane). There is also a basis element corresponding to the space: e_{123}.
Just as an arbitrary vector can be represented as the sum of scaled basis vectors, an arbitrary plane can be represented as the sum of scaled basis planes. Thus, u∧v is a sum of scaled basis vectors that represents the plane that contains both u and v in it. (u∧v is uv without the scalar element, which can be computed using (uv - vu)/2.)
The G_{3} multivector has eight elements in it:
Multivector = a + be_{1} + ce_{2} + de_{3} + fe_{12} + ge_{23} + he_{31} + ke_{123}
The following subsets of the multivector are useful:
Vector = be_{1} + ce_{2} + de_{3}
Plane = fe_{12} + ge_{23} + he_{31}
Spinor = a + fe_{12} + ge_{23} + he_{31}
The spinor is isomorphic to Pauli spinors.
Multiplication Table (G_{3})Edit
Here is the multiplication table for G3:
1 | e_{1} | e_{2} | e_{3} | e_{12} | e_{23} | e_{31} | e_{123} | |
---|---|---|---|---|---|---|---|---|
1 | 1 | e_{1} | e_{2} | e_{3} | e_{12} | e_{23} | e_{31} | e_{123} |
e_{1} | e_{1} | 1 | e_{12} | -e_{31} | e_{2} | e_{123} | -e_{3} | e_{23} |
e_{2} | e_{2} | -e_{12} | 1 | e_{23} | -e_{1} | e_{3} | e_{123} | e_{31} |
e_{3} | e_{3} | e_{31} | -e_{23} | 1 | e_{123} | -e_{2} | e_{1} | e_{12} |
e_{12} | e_{12} | -e_{2} | e_{1} | e_{123} | -1 | -e_{31} | e_{23} | -e_{3} |
e_{23} | e_{23} | e_{123} | -e_{3} | e_{2} | e_{31} | -1 | -e_{12} | -e_{1} |
e_{31} | e_{31} | e_{3} | e_{123} | -e_{1} | -e_{23} | e_{12} | -1 | -e_{2} |
e_{123} | e_{123} | e_{23} | e_{31} | e_{12} | -e_{3} | -e_{1} | -e_{2} | -1 |
Note that the subset of this table that only includes the rows and columns for 1, e_{1}, e_{2}, and e_{12} is identical to the multiplication table for G_{2}. Similarly for the subset that only includes 1, e_{1}, e_{3}, and e_{31} and the subset that only includes 1, e_{2}, e_{3}, and e_{23}. So the geometry of 2D planes is embedded in the geometry of 3D spaces. The only elements of the table that are new are the ones that involve e_{123} in some way or that involve multiplying two basis planes together.
Multiplying a basis plane times the remaining vector produces e_{123}:
e_{12}e_{3} = e_{123}
e_{1}e_{23} = e_{123}
e_{2}e_{31} = e_{123}
e_{31}e_{2} = e_{123}
Think of the plane sweeping out the space in the direction of the vector.
Multiplying anything by e_{123} produces its dual (NB: vectors and planes are duals of each other, and scalars and spaces are duals of each other):
e_{12}e_{123} = e_{3}
e_{1}e_{123} = e_{23}
1e_{123} = e_{123}
e_{123}e_{123} = -1
This lets us define the cross product in terms of the wedge product:
u⨯v = e_{123}u∧v.
The cross product and the wedge product are duals of each other.
Multiplying one plane by another produces the third plane:
e_{12}e_{23} = -e_{31}
e_{12}e_{31} = e_{23}
e_{23}e_{31} = -e_{12}
e_{31}e_{23} = e_{12}
The three basis planes correspond to i, j, k in quaternions, and the G_{3} spinor is isomorphic to quaternions. You can see this by comparing the subset of the table that only includes the rows and columns for 1, e_{12}, e_{23}, and e_{31} with the following table, where e_{12} corresponds to i, e_{31} corresponds to j, and e_{23} corresponds to k.
× | 1 | i | j | k |
---|---|---|---|---|
1 | 1 | i | j | k |
i | i | −1 | k | −j |
j | j | −k | −1 | i |
k | k | j | −i | −1 |
The whole G_{3} multiplication table is based on just two rules:
e_{i}e_{i} = 1
e_{i}e_{j} = -e_{j}e_{i} (i ≠ j)
Here are some examples of how this works (remember that e_{ij} = e_{i}e_{j} and that e_{ijk} = e_{i}e_{j}e_{k}):
e_{12}e_{12} = e_{1}e_{2}e_{1}e_{2} = -e_{1}e_{2}e_{2}e_{1} = -e_{1}e_{1} = -1
e_{123}e_{3} = e_{1}e_{2}e_{3}e_{3} = e_{1}e_{2} = e_{12}
e_{2}e_{31} = e_{2}e_{3}e_{1} = -e_{2}e_{1}e_{3} = e_{1}e_{2}e_{3} = e_{123}
Rotation (G_{3})Edit
Rotation in G_{3} is a little more complicated than rotation in G_{2}. Rotation in G_{3} works fine if the vector that is being rotated is in the plane of the rotation. But rotation in G_{3} does not produce a proper vector if the vector being rotated is out of the plane of the rotation. To see this, consider rotating e_{1} + e_{2} + e_{3} by e_{12} on the right. Based on the multiplication table for G_{3}, we get:
e_{2} - e_{1} + e_{123}
The first two elements correspond to rotating e_{1} + e_{2} by e_{12}. The last element is what you get when you multiply e_{3} by e_{12}: the volume e_{123}.
The solution to this problem is to rotate the result on the other side by the conjugate of the rotation (the conjugate of a rotation negates all of the non-scalar elements of the rotation):
-e_{12}(e_{2} - e_{1} + e_{123}) = -e_{1} - e_{2} + e_{3}
This rotation rotated the first two elements again in the same direction, resulting in a total rotation of 180 degrees. It also restored e_{3}.
In general, you rotate a vector in G_{3} using a sandwich rotation:
v’ = RvR*
where R* is the conjugate of R.
Effectively, you are rotating the vector twice, with each spinor providing half of the spin.
This can be generalized to any multivector V:
V’ = RVR*
In particular, a spinor can be rotated. The result is the sum of the two rotations.