Phil Lucht Math & Physics Archive
Home / Math and Physics Files / Math / Wedge World / Wedge Stuff

clifford-intro-1 denker

PDF · 35 pages · 323.9 KB
Open PDF file

Tutorial by John Denker, filed in Phil's Wedge World folder. It begins with reasons to use Clifford algebra: complex numbers, quaternions, one-equation Maxwell, and replacing cross products. It then gives an overview of grades, bivectors, dot, wedge and geometric products, reverse, basis sets and components. Later sections cover angular velocity, contractions, the Hodge dual, pedagogy and a desk calculator.

AI-written summary; may contain errors.

Extracted text (machine-read; may contain errors)
1 Introduction to Cli ord Algebra John Denker 1 Preface: Why Cli ord Algebra is Useful We begin by discussing why we should care about Cli ord Algebra. (If you want an overview of how Cli ord Algebra actually works, skip to section 2.) (1) The real numbers are a subalgebra of Cli ord algebra: just throw away all elements with grade >0. Alas this doesn't tell us much beyond what we already knew. (2) Ordinary vector algebra is another subalgebra of Cli ord algebra. Alas, again, this doesn't tell us much beyond what we already knew. (3) The complex numbers are another subalgebra of Cli ord algebra, as discussed in ref- erence 1. This gives useful insight into complex numbers and into rotations in two dimensions. (4) Quaternions can be understood in terms of another subalgebra of Cli ord algebra, namely the subalgebra containing just scalars and bivectors. This is tremendously useful for describing rotations in three or more dimensions (including four-dimensional spacetime). See reference 2. Note that the Pauli spin matrices are isomorphic to quaternions. (5) It is advantageous to get rid of cross products and replace them with wedge products. The cross product only makes sense in three dimensions.The wedge product is well behaved in any number of dimensions, from zero on up. The cross product of two vectors is a vectorThe wedge product of two vectors is a bivector. In three dimensions, the result of a cross product points in \the" direction per- pendicular to the two multiplicands. In two dimensions, there cannot be any such direction, and in four dimensions (or higher), there is an in nitude of di- rections perpendicular to any two vec- tors, so talking about \the" perpendic- ular direction is so underspeci ed as to be meaningless.The wedge product between two vectors is patch of area in the plane spanned by the two vectors. 1 PREFACE: WHY CLIFFORD ALGEBRA IS USEFUL 2 The cross product only applies when multiplying one vector by another.The wedge product can multiply any combination of scalars, vectors, or higher-grade objects. The cross product is de ned in terms of a \right hand rule. "A wedge product is de ned without any notion of handedness, without any no- tion of chirality. This is discussed in more detail in section 2.13. This is more important than it might seem, because it changes how we perceive the appar- ent symmetry of the laws of physics, as discussed in reference 3. The wedge product of two vectors is antisymmetric, and involves the sine of the angle between two vectors ... and the same can be said of the cross product. However, the similarities more-or-less end there. (6) In all of physics, whenever you see an idea expressed as the cross product of vectors, you will usually be much better o if you re-express the idea in terms of a wedge product. Help stamp out cross products! It is traditional to write down four Maxwell equations. However, by using Cli ord algebra, we can express the same meaning in just one very compact, elegant equation: rF=1 c0J (1) It is worth learning Cli ord algebra just to see this equation. For details, see reference 4. Also: In their traditional form, the Maxwell equations seem to be not left/right symmetric, because they involve cross products. However, we believe that classical electromagnetism does have a left/right symmetry. By rewriting the laws using geometric products, as in equation 1, it becomes obvious that no right-hand rule is needed. A particularly pronounced example of this is Pierre's puzzle , as discussed in reference 3. Similarly: The traditional form of the Maxwell equations is not manifestly invari- ant with respect to special relativity, because it involves a particular observer's time and space coordinates. However, we believe the underlying physical laws are relativistically invariant. Rewriting the laws using geometric products makes this invariance manifest, as in equation 1. As an elegant application of the basic idea that the electromagnetic eld is a bivector, reference 5 explains why a eld that is purely an electric eld in one ref- erence frame must be a combination of electric and magnetic elds when observed in another frame. CONTENTS 3 As a more mathematical application of equation 1, reference 6 calculates the eld surrounding a long straight wire. The ideas of torque, angular momentum, and gyroscopic precession are particu- larly easy to understand when expressed in terms of bivectors, as mentioned in section 2.3. See also section 3. You can calculate volume using wedge products, as discussed in reference 7. This is much preferable to the so-called triple scalar product ( ABC). Help Stamp Out Cross Products Contents 1 Preface: Why Cli ord Algebra is Useful 1 2 Overview 4 2.1 Visualizing Scalars, Vectors, Bivectors, et cetera . . . . . . . . . . . . . . . . 5 2.2 Basic Scalar and Vector Arithmetic . . . . . . . . . . . . . . . . . . . . . . . 6 2.3 Addition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.4 Grade Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.5 Multiplication: Preliminaries . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.6 Multiplying Vectors by Vectors . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.7 Some Properties of the Dot Product (Vector Dot Vector) . . . . . . . . . . . 10 2.8 Parallel and Perpendicular . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.9 Some Properties of the Wedge Product (Vector Wedge Vector) . . . . . . . . 12 2.10 Other Wedge Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.11 Other Dot Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 2.12 Wedge Product as Painting . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.13 Chirality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.14 More About the Geometric Product . . . . . . . . . . . . . . . . . . . . . . . 16 2.15 Spacelike, Timelike, and Null . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.16 Reverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2 OVERVIEW 4 2.17 Gorm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.18 Basis Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.19 Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.20 Dimensions; Number of Components . . . . . . . . . . . . . . . . . . . . . . 20 3 Formulas for Angular Velocity and Angular Momentum 21 4 Contractions : Generalizations of the Dot Product 22 5 Hodge Dual and Cross Products 23 5.1 Basic Properties of the Hodge Dual . . . . . . . . . . . . . . . . . . . . . . . 23 5.2 Remarks : Subspace Freedom, Or Not . . . . . . . . . . . . . . . . . . . . . 25 5.3 Recipe for Replacing Cross Products . . . . . . . . . . . . . . . . . . . . . . 26 6 Pedagogical Remarks 27 6.1 Visualizing Bivectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 6.2 Symmetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.3 Connections and Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 6.4 Geometric Approach versus Components . . . . . . . . . . . . . . . . . . . . 28 7 Cli ord Algebra Desk Calculator 29 8 References 33 2 Overview The purpose of this section is to provide a simple introduction to Cli ord algebra, also known as geometric algebra. I assume that you have at least some prior exposure to the idea of vectors and scalars. (You do notneed to know anything about matrices.) For a discussion of why Cli ord algebra is useful, see section 1. 2 OVERVIEW 5 2.1 Visualizing Scalars, Vectors, Bivectors, et cetera In addition to scalars and vectors, we will nd it useful to consider more-general objects, including bivectors, trivectors, et cetera. Each of these objects has a clear geometric inter- pretation, as summarized in gure 1. Scalar Vector Bivector Trivector PPPQQR Figure 1: Scalar, Vector, Bivector, and Trivector That is, a scalar can be visualized as an ideal point in space, which has no geometric extent. A vector can be visualized as line segment, which has length and orientation. A bivector can be visualized as a patch of at surface, which has area and orientation. Continuing down this road, a trivector can be visualized as a piece of three-dimensional space, which has a volume and an orientation. Each such object has a grade , according to how many dimensions are involved in its geometric extent. Therefore we say Cli ord algebra is a graded algebra . The situation is summarized in the following table. object visualized as geometric extent grade scalar point no geometric extent 0 vector line segment extent in 1 direction 1 bivector patch of surface extent in 2 directions 2 trivector piece of space extent in 3 directions 3 etc. For any vector Vyou can visualize 2 Vas being twice as much length, and for any bivector Byou can visualize 2 Bas having twice as much area. Alas this system of geometric visual- ization breaks down for scalars; geometrically all scalars \look" equally pointlike. Perhaps for a scalar syou can visualize 2 sas being twice as hot, or something like that. For another important visualization idea, see section 2.12. As mentioned in section 1 and section 6, bivectors make cross products obsolete; any math or physics you could have done using cross products can be done more easily and more logically using a wedge product instead. 2 OVERVIEW 6 2.2 Basic Scalar and Vector Arithmetic The scalars in Cli ord algebra are the familiar real numbers. They obey the familiar laws of addition, subtraction, multiplication, et cetera. Addition of scalars is associative and commutative. Multiplication of scalars is associative and commutative, and distributes over addition. The vectors in Cli ord algebra can be added to each other, and can be multiplied by scalars in the usual way. Addition of vectors is associative and commutative. Multiplication by scalars distributes over vector addition. We will introduce multiplication of vectors in section 2.5. 2.3 Addition Presumably you are familiar with the idea of adding scalars to scalars, and adding vectors to vectors (tip to tail). We now introduce the idea that anyelement of the Cli ord algebra can be added to any other. This includes adding scalars to vectors, adding vectors to bivectors, and every other combination. So it would not be unusual to nd an element Csuch that: C=s+V+B (2) wheresis a scalar, Vis a vector, and Bis a bivector. This clearly sets Cli ord algebra apart from ordinary algebra. Remark: Sometimes non-experts nd this disturbing. Adding scalars to vectors is like adding apples to oranges. Well, so be it: people add apples to oranges all the time; it's called fruit salad. In contrast, it is proverbially unwise to compare apples to oranges, and indeed we will not be comparing scalars to vectors. Addition ( s+V) is allowed; comparison (s<V ) is not. Terminology: The most general element of the Cli ord algebra we will call a clif. In the literature, the same concept is called a multivector , but we avoid that term because it is misleading, for reasons discussed near the end of section 2.9. Presumably you already know how to add vectors graphically, by placing them tip-to-tail as shown in gure 2. By extending this idea, we can also add bivectors graphically, by placing them edge-to-edge as shown in gure 3. 2 OVERVIEW 7 equals plusb bx x equals plusabc d wx y z b ax y Figure 2: Addition of VectorsFigure 3: Addition of Bivectors 2 OVERVIEW 8 We add bivectors edge-to-edge, in analogy to the way we add ordinary vectors tip-to-tail. In this example, edge badds tip-to-tail to edge xto form the top edge of the sum. Similarly, edgezadds tip-to-tail to edge dto form the bottom edge of the sum. Edge ccancels1edgew since they are equal and opposite. Edges aandysurvive unchanged to become the vertical edges of the sum. As a concrete example of addition of bivectors, consider a gyroscopic precession problem, as follows: The green bivector is the initial angular momentum of the system, and the small purple bivector is torque ^time. Then the yellow bivector is the new angular momentum, which has a new orientation due to precession. The formula for angular momentum is given in section 3. 2.4 Grade Selection Given any clif C, we can talk about the grade-0 piece of it, the grade-1 piece of it, et cetera. Notation: The grade-Npiece ofCis denotedhCiN. We will often be particularly interested in the scalar piece, hCi0. Note: If you are familiar with complex numbers, you can understand the hi operator as analogous to the <() and=() operators that select the real and imaginary parts. However, there is one di erence: You might think that the imaginary part of a complex number would be imaginary (or zero), but that's not how it is de ned. According to long-established convention, =(z) is a real number, for any complex z. Cli ord algebra is more logical: The vector part of any clif is a vector (or zero), the bivector part of any clif is a bivector (or zero), et cetera. See reference 1 for more on this. 2.5 Multiplication: Preliminaries Axiom: We postulate that there is a geometric product operator that can be used to multiply anyelement of the Cli ord algebra by any other. Notation: The geometric product of AandBis writtenAB. That is, we simply juxtapose the multiplicands, without using any operator symbol. We further postulate that the geometric product is associative and distributes over addition: (AB)C =A(BC) =ABC A(B+C) =AB+AC(3) 1As we have just discussed, it is OK join ctow. Alternatively, you could join atoyand get the same answer. In contrast, it would not make sense to join ctoy, for the following reasons: Edge yis not opposite to c, so this pair would not drop out of the sum. Also, this would make us unable to add ztodtip-to-tail; they woud be tail-to-tail. Similarly, it would make us unable to add xtobtip-to-tail; they would be tip-to-tip. 2 OVERVIEW 9 whereA,B, andCare any clifs. Multiplication is not commutative in general, as we shall see in section 2.6 and elsewhere, but we remark that the following special cases are commutative: As a special case of the geometric product, multiplying scalars by scalars is straight- forward. This is just the familiar multiplication of real numbers. In this case, multi- plication is commutative. As another special case, multiplying vectors by scalars is also straightforward, and is presumably familiar from ordinary vector algebra. This is another case where multi- plication is commutative; that is, sV=Vsfor any scalar sand any vector V. For that matter, it is easy to multiply any clif by a scalar. This is always commutative; that is,sC=Csfor any scalar sand any clif C. 2.6 Multiplying Vectors by Vectors We have already asserted that any clif can be multiplied by any other clif. Multiplying a vector by a vector is a particularly interesting case. At this point Cli ord algebra makes a dramatic departure from ordinary vector algebra. Given two vectors PandQ, we know that the geometric product PQexists, but (so far) that's about all we know. However, based on this mere existence, plus what we already know about addition and subtraction, we can de ne two new products, namely the dot product PQand the wedge product P^Q, as follows: PQ:=PQ+QP 2wherePandQhave grade= 1 (4a) P^Q:=PQQP 2wherePandQhave grade1 (4b) Equation 4a is a very useful formula, but you should not become overly attached to it, because it only applies to grade=1 vectors. It doesn't work for higher or lower grades. See section 2.10 for a more general formula. Equation 4b is only slightly more general. It works for any combination of vectors and/or scalars (grade1). See section 2.11 for some more general formulas. As an immediate corollary of equation 4, we can re-express the geometric product of two vectors as: PQ =PQ+P^Q wherePandQhave grade= 1 (5) This useful formula only works when both PandQare vectors. I keep mentioning this, because some authors take equation 5 to be the \de nition" of geometric product (based on some sort of pre-existing notion of dot and wedge). They can get away with that for the product of two plain old vectors, but it fails for higher (or lower) grades, and creates lots of confusion. 2 OVERVIEW 10 As another corollary of equation 4, we see that the dot product of two vectors is symmetric, while the wedge product of two vectors is antisymmetric: PQ=QP wherePandQhave grade= 1 (6a) P^Q=Q^P wherePandQhave grade1 (6b) Terminology: The wedge product is sometimes called the exterior product . (This is not to be confused with the tensor product , which is sometimes called the outer product.) Exterior product 6= outer product. In this document we don't bother with the term exterior product, and just call it the wedge product. 2.7 Some Properties of the Dot Product (Vector Dot Vector) Let's investigate the properties of the dot product. We restrict attention to ordinary grade=1 vectors. We will show that the dot product de ned here behaves just like the dot product you recall from ordinary vector algebra. For starters, we are going to argue that PPbehaves like a scalar. One characteristic behavior of a scalar (in the geometric sense) is that if you rotate it, nothing happens. This is very unlike a vector, which changes if you rotate it (unless the plane of rotation is perpendicular to the vector). As an introductory special case, consider rotating Pby 180 degrees, assuming Plies in the plane of rotation. That's easy to do: a 180 degree rotation transforms PintoP. We are pleased to see that this transformation leaves PPunchanged. This is easy to prove, using the de nition (equation 4) and using the fact that multiplication by scalars is commutative: Just factor out two factors of -1 from the product ( P)(P). It's also obvious that a rotation in a plane perpendicular to PleavesPPunchanged, which is reassuring, although it doesn't help distinguish scalars from anything else. Tangential remark: More generally, we assert without proof that PPis in fact invariant under any rotation (i.e. any amount of rotation in any plane). We are not ready to prove this, since we haven't yet formally de ned what we mean by rotation ... but we will pretty much insist that rotation leave PPinvariant, because we wantPPto be a scalar, and we wantp(PP) to be the length of P, and we want rotations to be length-preserving transformations. (This isn't a proof, but it is an argument for plausibility and self-consistency.) IfPPis a scalar, it is easy to show that PQis a scalar, for any vectors PandQ. Just de neR:=P+Qand then take the dot product of each side with itself: RR=PP+ 2PQ+QQ (7) 2 OVERVIEW 11 where every term except 2 PQis manifestly a scalar, so the remaining term must be a scalar as well. This leaves us pretty much convinced that the dot product between any two vectors is a scalar. It can't be a vector or anything else we know about. To get here, we didn't do much more than postulate the existence of the geometric product, and then do a bunch of arithmetic. 2.8 Parallel and Perpendicular Terminology: If vectorQis equal toP, or is equal to Pmultiplied by any nonzero scalar, we say that PandQareparallel and we symbolize this as PkQ. Based on what we already know (mainly the symmetry properties, equation 6) we can deduce that ifPandQare parallel, then P^Q= 0 andPQ=PQ; that is: PQ=QP=PQi PkQ (8) which gives us a useful test for detecting parallel vectors. Terminology: IfPQ= 0, we say that vectors PandQareperpendicular or equivalently orthogonal and we symbolize this as P?Q. If vectorsPandQare orthogonal, then PQ= 0 andPQ=P^Q; that is: PQ=QP=P^Qi P?Q (9) In general, in the case where PandQare not necessarily parallel or perpendicular, the geometric product will have two terms, in accordance with equation 5. Lemma: We can resolve any vector Pinto a component PQwhich is parallel to vector Q, plus another component ( PPQ) which is perpendicular to Q. Proof by construction: PQ:=QPQ QQ(10) This lemma is conceptually valuable, and frequently useful in practice. (See e.g. section 2.18.) PQis called the projection of Ponto the direction of Q, or the projection of Pin the Q-direction. It is an easy exercise to show the following: (PQ)Q =PQ P Qis parallel to Q (PQ)^Q = 0 (PPQ)Q= 0 PPQis perpendicular to Q (PPQ)^Q=P^Q(11) 2 OVERVIEW 12 2.9 Some Properties of the Wedge Product (Vector Wedge Vec- tor) Now, let's investigate the properties of the wedge product of two vectors. We anticipate that it will be a bivector (or zero). We use the same line of reasoning as in section 2.7. We begin by considering the case where P^Qis nonzero. You can easily show that the wedge product P^Qis invariant with respect to 180 degree rotation in the PQplane. That is, just replace PbyPandQbyQand observe that nothing happens to the wedge product. This tells us the product is not a vector in the PQ plane. We remark without proof that this result is invariant under any rotation (however small or large) in the PQplane. Things get more interesting if we have more than two dimensions, because that allows us to investigate additional planes of rotation. To make things easy to visualize, let us replace QbyQ0, whereQ0is the projection of Qin the directions perpendicular to P. We can always do this, using the methods discussed in section 2.8. According to equation 11, we know P^Q0is equal toP^Q. Choose any vector Rperpendicular to both PandQ0. Rotate both vectors in the PR plane by 180 degrees. This transforms PintoP, but leaves Q0unchanged (since it is perpendicular to the plane of rotation). That means the rotation ips sign of the wedge product,P^Q. Similarly a rotation in the QRplane ips the sign of the wedge product. As a nal check, we perform an inversion, i.e. the operation that transforms any vector VintoV, not limited to any plane of rotation. This leaves the wedge product unchanged. Taking all these observations together, we nd that P^Qbehaves exactly as we would expect a bivector to behave, based on the description given in section 2.1: a patch of surface with a direction of circulation around its edge. That is: the area is unchanged if we rotate things in the plane of the surface, but if we rotate things 180 degrees in a plane perpendicular to the surface, the surface ips over, reversing the sense of circulation. The idea of wedge product generalizes to more than two vectors. For example, with three vectors, we generalize equation 4 as follows: P^Q^R:=1 6(PQR +QRP +RPQRQPQPRPRQ ) (12) You can skip the following equation if you're not interested, but if you want the fully general expression, it is: q1^q2^q3qr:=1 r!X sign()q(1)q(2)q(3)q(r) (13) 2 OVERVIEW 13 where the sum runs over all possible permutations . There are r! such permutations, and sign() is de ned to be +1 for even permutations and 1 for odd permutations. This will be an object of grade rif all the vectors q1qrare linearly independent; otherwise it will be zero. People like to say \the wedge product is antisymmetric" ... but you have to be careful. It is antisymmetric with respect to interchange of any two vectors ... not any two clifs. For example: s^C=C^s (not antisymmetric) (14) for any scalar sand any clif C. Terminology: Ablade is de ned to be any scalar, any vector, or the wedge product of any number of vectors. Terminology: Any clif that has a de nite grade is called homogeneous . It is necessarily either a blade or the sum of blades, all of the same grade. Example: The sums+V(wheresis a scalar and Vis a vector) is not homogenous. It does not have any de nite grade. It is certainly not a blade. Example: In four dimensions, the quantity 0 1+ 2 3is homogeneous but is not a blade. It has grade=2, but cannot be written as just the wedge product between two vectors. Terminology: As previously mentioned, we use the term clifto cover the most general element of the Cli ord algebra. In the literature, the same concept is called a multivector , but we avoid that term because it is misleading. The problem may be due in part to the etymology suggested by the sequence: vector;bivector;trivector;;multivector (WRONG) (15) in contrast to the correct sequence: vector;bivector;trivector;;blade (RIGHT) (16) Terminology: Do not confuse a trivector with a 3-vector. A trivector is visualized as the 3-dimensional region spanned by three vectors. This region may be embedded in a space that is 3-dimensional or higher. In contrast, a 3-vector is a single vector that lives in a space with exactly 3 dimensions. Terminology: To describe the grade of a blade, the recommended approach is to mention the grade explicitly. For example, we say a bivector has grade=2, while a trivector has grade=3, and so on. There is another, non-recommended approach, in which a bivector is called a 2-blade, while a trivector is called a 3-blade, and so on. This is risky because of possible confusion as to whether the number refers to grade or dimension. Note that a 3-blade has grade=3, while a 3-vector has dimension=3, so confusion is to be expected. 2 OVERVIEW 14 2.10 Other Wedge Products We have already de ned the wedge product of arbitrarily many vectors, according to equation 13. We now de ne the wedge product between any blade and any blade. The rule is simple: unpack each blade as a wedge product, remove the parentheses, and apply equation 13: P^(Q^R) :=P^Q^R (P^Q)^R:=P^Q^R(17) where the RHS is de ned by equation 13. As an obvious corollary of this de nition, the wedge product has the associative property. It is easy to see that for any two blades PandQ, which are of grade pandqrespectively, the grade of P^Qwill bep+q(unless the product happens to be zero, in which case its grade is zero). We can use that idea in the other direction, as follows: As discussed in section 2.14, the full geometric product PQis liable to contain terms of all grades from jpqjtop+qinclusive (counting by twos). The wedge product consists of just those terms with the highest possible grade. In symbols: IfP =hPip Q =hQiq thenP^Q:=hPQip+q(18) Given this de nition of blade wedge blade, we can generalize to any clif wedge clif, simply by saying the wedge product distributes over addition: V^(A+B) =V^A+V^B (19) 2.11 Other Dot Products We hereby de ne the dot product of two blades to be the lowest-grade part of the geometric product. That is, if Phas gradepandQhas gradeq, then the dot product will have grade jpqj. In symbols: IfP =hPip Q =hQiq thenPQ:=hPQijpqj(20) Just as the wedge product was the top-grade part of the geometric product, the dot product is the bottom-grade part. 2 OVERVIEW 15 Let's be clear: The de nition of dot product depends more on its grade than on its symmetry. The dot product of two vectors is symmetric, while the dot product of a vector with a bivector is antisymmetric: VX=XV VB=BV(21) You can check that this more-general de nition of dot product is consistent with what we said back in section 2.6 about the dot product of vectors. Given this de nition of blade dot blade, we can generalize to any clif dot clif, simply by saying that the dot product distributes over addition. That is, V(A+B) =VA+VB (22) 2.12 Wedge Product as Painting There is a very interesting way to visualize the wedge product. Consider the product C^V, whereCis a clif of any grade and Vis a vector. The idea is to use Cas a paintbrush, draggingCalongV. The dragging motion is speci ed by the direction and magnitude of V. We keepCparallel to itself during the process. For instance, in gure 1 or gure 4, we form the parallelogram P^Qby dragging the vector PalongQ. Similarly in gure 1 we form the parallelepiped P^Q^Rby dragging the parallelogram P^QalongR. The paintbrush picture is a little dodgy in the case where Cis a scalar, but we can repair it by rewriting s^Vas 1^(sV), for any scalar s. That is, we take the scalar 1 (which is pointlike) and drag it for a distance jsVjin theVdirection. It just paints a copy of sV. The orientation of the bivector P^Qcan be thought of as a \direction of circulation" marked on the parallelogram, namely moving in the Pdirection then moving in the Qdirection. In gure 4,Q^P=P^Qbecause they have the opposite direction of circulation. (They have the same magnitude, just opposite orientation.) 2.13 Chirality Chirality is a fancy word for handedness. It describes a situation where we can de ne the di erence between right-handed and left-handed. The foundations of Cli ord algebra do not require any notion of handedness. This is important, because many of the fundamental laws of physics are invariant with respect to re ection, and Cli ord algebra allows us to write these laws in a way that makes manifest this invariance. The exception is the Hodge dual, which requires a notion of handedness, as discussed in section 5. This can be considered an optional feature, added onto the basic Cli ord algebra package. 2 OVERVIEW 16 Q P Q PP /\ Q Q /\ P Figure 4: Bivectors: Direction of Circulation The following three concepts are all optional, and are all equivalent: (1) A notion of \front" versus \back" side of the bivector; (2) a notion of chirality such as the \right-hand rule"; and (3) a notion of \clockwise" circulation. We emphasize that for most purposes, we do not need to de ne any of these three concepts. We are just saying that if you did de ne them, they would all be equivalent. Except in section 5, we are not going to rely on any notion of clockwise or right-handedness or front- versus-back. Instead, we rely on orientation as speci ed by circulation around the edge of the bivector, which is completely geometrical and completely non-chiral. We make a point of keeping things non-chiral, to the extent possible, because it tells us something about the symmetry of the fundamental laws of physics, as discussed in reference 3. 2.14 More About the Geometric Product In general, if you multiply an object of grade rby an object of grade s, the geometric product is liable to contain terms of all grades from jrsjtojr+sj, counting by twos, as we see in the following: Example: Letf 1, 2, 3, 4gbe a set of orthonormal spacelike vectors, as discussed in section 2.18, and de ne: A:= 1^ 2 B:= ( 2+ 3)^( 4+ 1)(23) BothAandBare homogeneous of grade 2. Indeed they are 2-blades. It is easy to calculate the geometric product: AB = 1 + 1 4+ 2 3+ 1 2 3 4 (24) 2 OVERVIEW 17 and therefore AB=hABi0= 1 (25a) hABi2= 1 4+ 2 3 (25b) A^B=hABi4= 1 2 3 4 (25c) For high-grade clifs AandB, the geometric product ABgenerally leaves us with a lot of terms. As discussed in section 2.11 the bottom-grade term is the dot product (e.g. equation 25a). Meanwhile, as discussed in section 2.10, the top-grade term is the wedge product (e.g. equation 25c). Alas, there are no special names for the other terms, such as the middle term in the previous example (e.g. equation 25b). If we temporarily restrict attention to plain old vectors (grade=1 only), we reach the re- markable conclusion that the geometric product of two vectors has only two terms, a scalar term and a bivector term (assuming the bivector term is nonzero): VW =VW+V^W VW =hVWi0 V^W=hVWi2(26) which we can compare and contrast with equation 4, which we reproduce here: VW :=VW +WV 2 V^W:=VWWV 2(27) still assuming VandWarevectors . Sometimes one sees introductory discussions that start by presenting the properties of the dot product and wedge product, and then \de ne" the geometric product as VW :=VW+V^W (allegedly) (28) which turns the discussion on its head relative to what we have done here. We started by postulating the existence of the geometric product, and then used it to work out the properties of dot and wedge. They can get away with equation 28 when talking about vectors, but it doesn't generalize well to objects of any grade higher or lower than 1, and it gets students started o on the wrong foot conceptually. Here is a simple counterexample: sC =sC =s^C 6=sC+s^C(29) wheresis any scalar and Cis any clif. Here is another important example: IfA := 1 2 B := 2 3 thenAB := 1 3 6=AB+A^B sinceAB= 0 A^B= 0(30) 2 OVERVIEW 18 2.15 Spacelike, Timelike, and Null In ordinary Euclidean space, whenever you compute the dot product of a vector with itself, the result is positive; that is, SS > 0. In general, whenever this dot product is positive, we say that the vector Sisspacelike . In special relativity, i.e. in Minkowski space, we nd that some vectors have the property thatTT <0. In that case, we say that the vector Tistimelike . In a space where spacelike and timelike vectors exist, there will be other vectors with the property that NN= 0. We say that such a vector Nisnullor equivalently lightlike . I de ne the gorm of a vector to be dot the product of a vector with itself. The gorm is bilinear, unlike the norm which is linear. For a spacelike vector, the norm isp(SS), and corresponds to the notion of proper length. Meanwhile, for a timelike vector, the norm isp(TT), which corresponds to the notion of proper time interval. For a null vector, the norm is zero. For a more general de nition of gorm, see section 2.17. 2.16 Reverse We de ne the reverse of a clif as follows: Express the clif as a sum of products, and within each term, reverse the order of the factors. For example, the reverse of ( P+Q^R) is (P+R^Q), whereP,Q, andRare vectors (or perhaps scalars). Notation: For any clif C, the reverse of Cis denotedC Reverse has no e ect on individual scalars or vectors, but is important for bivectors and higher-grade objects. Reverse plays an important role in the description of rotations, as discussed in reference 2. It also appears in the general de nition of gorm, as discussed in section 2.17 Note: If you are familiar with complex numbers, you can understand the reverse as a gener- alization of the notion of complex conjugate. See reference 1 for details. 2.17 Gorm In all generality, the gorm of any clif Cis formed by multiplying Cby the reverse of C, and keeping the scalar part of the product. That is: gorm(C) :=hCCi0 (31) For example, if C=a+b 1+c 2+d 1 2, then the gorm of Cisa2+b2+c2+d2... assuming 1and 2are spacelike basis vectors, as discussed in section 2.18. You can almost 2 OVERVIEW 19 consider this a generalization of the Pythagorean formula, where in a non-abstract sense 1 is perpendicular to 2, and in some much more abstract sense the terms of each grade are \orthogonal" to the terms of every other grade. 2.18 Basis Sets Given any set of dlinearly-independent non-null vectors, we can create an orthonormal basis set, i.e. a set of dmutually-orthogonal unit vectors. Actually we can create arbitrarily many such sets. Proof by construction: Use the Gram-Schmidt renormalization algorithm. That is, use formulas like equation 10 to project out mutually-orthogonal components. Then divide by the norm to normalize them. In Minkowski spacetime, any such basis will have the following properties: 0 0=1 (32) 1 1= 2 2= 3 3= +1 (33) and i j= j ifor alli6=j (34) In this basis set, 0is the timelike unit vector, while 1, 2, and 3are the spacelike unit vectors. Remark: The minus sign in equation 32 stands in contrast to the plus sign in equation 33. This one di erence in signs is essentially the only thing that sets special relativity apart from ordinary Euclidean geometry. This point is discussed more fully in reference 8. In ordinary Euclidean space, the story is the same, except there are no timelike vectors, so you simply forget about 0and equation 32. 2.19 Components Given a basis, we can write any arbitrary vector Vas a linear combination of the basis vectors: V=a 0+b 1+c 2+d 3 (35) for suitable scalars a,b,c, andd. Terminology: These scalars ( a,b,c, andd) are sometimes called the components ofVin the chosen basis. They can also be called the matrix elements ofVin the chosen basis. 2 OVERVIEW 20 Terminology: The vector a 0is sometimes called the component ofVin the chosen 0 direction (and similarly for the other terms on the RHS of equation 35). Such a vector can also be called the projection ofVonto the chosen directions. It is usually obvious from context which de nition of \component" is intended. If you want to avoid ambiguity in your writing, you can avoid the word \component" and instead say \matrix element" or \projection" as appropriate. We can also write the expansion of Vas V=V0 0+V1 1+V2 2+V3 3 (36) where again the Viare called the components (or matrix elements) of Vin the chosen basis. Beware: Even though Viis a component of the vector Vand is a scalar, please do not think of iin the same way. Each iis a vector unto itself, not a scalar. The iin itells which vector, whereas the iinVitells which component of the vector. There is no advantage in imagining some super-vector that has the ivectors as its components. Given two vectors PandQ, the dot product can be expressed in terms of their components as follows: PQ=P0Q0+P1Q1+P2Q2+P3Q3(37) assuming timelike 0and spacelike 1, 2, and 3. Note that this is notthe de nition of dot product; it is merely a consequence of the earlier de nition of dot product (equation 5) and the de nition of components (equation 37). In particular: Non-experts sometimes think the dot product is \de ned" by adding up the product of corresponding components, but that is not true in general, as you can see from the minus sign in front of the rst term in equation 37. The bogus de nition is reinforced by software library routines that compute a so-called \dot product" by blithely multiplying corresponding elements. (If all the basis vectors are spacelike, then you can get away with just multiplying the corresponding components, but keep in mind that that's not the de nition, and not the general rule.) Useful tutorials on various aspects of Cli ord algebra and its application to physics include reference 9, reference 10, and reference 11. 2.20 Dimensions; Number of Components The number of components required to describe a clif depends on the number of dimensions involved. The rst few cases are shown in this table: 1s 1v D = 1 1s 2v 1b D = 2 1s 3v 3b 1t D = 3 1s 4v 6b 4t 1q D = 4(38) 3 FORMULAS FOR ANGULAR VELOCITY AND ANGULAR MOMENTUM 21 wheresmeans scalar, vmeans vector, bmeans bivector, tmeans trivector, and qmeans quadvector. You can see that it takes the form of Pascal's triangle. On each row, the total number of components is 2D. When we speak of \the" dimension, it refers to the dimensionality of whatever space you are actually using . This includes the case where, for whatever reason, attention is restricted to some subspace of the natural universe. For example, if your universe contains three dimensions, but you are only considering a single plane of rotation, then the D= 2 descrip- tion applies. Similarly, if you live in four-dimensional spacetime, but are only considering rotations in the three spacelike directions, then the D= 3 description applies. To say the same thing another way, Cli ord algebra is remarkably agnostic about the exis- tence (or non-existence) of dimensions beyond the ones you are actually using. (This makes the geometric product much more elegant than the old-fashioned vector cross product, which requires you to think about a third dimension, even if you only started out with two dimen- sions.) If you nd that you need Ddimensions to describe the laws of physics, that sets a lower bound on the dimensionality of the universe you live in. It is not an upper bound, i.e. it provides not the slightest evidence against the existence of additional, unseen dimensions, such as arise in string theory. 3 Formulas for Angular Velocity and Angular Momen- tum This section doesn't explain the physics. Sorry. The purpose here is just to collect some useful formulas. In particular, if you ever forget the sign conventions, this may serve as a reminder. The angular momentum of a pointlike object is given by L:=r^p (39) whereris the object's position and pis its momentum (i.e. its ordinary linear momentum). The fundamental laws of physics say that both linear momentum and angular momentum are conserved. The object's angular velocity is given by !:= (1=r)^v =r^v rr(40) wherevis the velocity. 4 CONTRACTIONS : GENERALIZATIONS OF THE DOT PRODUCT 22 It is often useful to nd the linear velocity ( v) in terms of the angular velocity ( !) and the position: v=r! =!r(41) as you can verify by plugging the de nition of !(from equation 40) into the RHS of equation 41. You will also need the de nition of wedge product, i.e. equation 4. Beware the minus sign in the last line of equation 41; multiplying a vector times a bivector is not commutative. 4 Contractions : Generalizations of the Dot Product This section should be skipped on rst reading. For most purposes, the dot product { as de ned by equation 20 or equation 42d { is the only type of dot product you need to know. On the other hand, there are occasionally situations where one of the other products de ned in equation 42 allow something to be expressed more simply; see section 5.1 for an example. By way of background, recall the de nition of the product P:=ABfrom elementary vector algebra. This is known as the dot product, inner product, or scalar product. The elementary de nition applies only to the case where AandBare ordinary grade=1 vectors. In this case, the product has several interesting properties: The grade of Pis zero;Pis a scalar. The grade of Pis equal to the di erence: grade( A) - grade(B). The grade of Pis equal to the di erence the other way around: grade( B) - grade(A). We wish to generalize this notion of product, so that it applies to arbitrary clifs. There are several ways of doing this, depending on which properties we are most interested in preserving. If A =hAir (homogeneous of grade= r) B =hBis (homogeneous of grade= s) Then AyB :=hABisr (left contraction) (42a) AxB :=hABirs (right contraction) (42b) AB :=hABi0 (scalar product) (42c) AB :=hABijsrj (dot product) (42d) AHB:=hABijsrj providedr>0 ands>0 (42e) (Hestenes inner product) Loosely speaking, these all try to capture the idea that the contraction is the lowest-grade piece of the geometric product. The Hestenes inner product is almost never a good idea; 5 HODGE DUAL AND CROSS PRODUCTS 23 we mention it here just so you don't get confused if you see it in the literature. Beware that people who like the Hestenes inner product typically write it with a simple , so it can easily be confused with the more conventional dot product. Similarly, people who like the scalar product typically write it with a simple , so now we have three di erent products represented by the same symbol. In cases where it is necessary to distinguish the conventional dot product (as de ned in equation 20 or equation 42d) from other things, it can be called the \fat" dot product. For details, see reference 12. Beware that the symbol xresembles the letter \L" but it stands for the right (not left) contraction. I don't know of any good mnemonic for this. IfAandBare not homogeneous, we extend these de nitions by using the fact that the product distributes over addition. That gives us the following formulas: AyB :=X r;shhAirhBisisr (left contraction) (43a) AxB :=X r;shhAirhBisirs (right contraction) (43b) AB :=X r;shhAirhBisi0 (scalar product) (43c) AB :=X r;shhAirhBisijsrj (dot product) (43d) AHB:=X r6=0 s6=0hhAirhBisijsrj (Hestenes inner product) (43e) 5 Hodge Dual and Cross Products 5.1 Basic Properties of the Hodge Dual The Hodge dual is a linear operator. In ddimensions, it maps a blade of grade ginto a blade ofdgand vice versa. I call this the the grade- ipping property. Two particularly-common cases are illustrated in gure 5 and gure 6. scalar vector bivectorgrade=0 grade=1 grade=2 grade=3grade=0 grade=1 grade=2 grade=3pseudovector pseudoscalar Figure 5: Hodge Dual in d= 3 5 HODGE DUAL AND CROSS PRODUCTS 24 As a rst example, the Hodge dual always converts a scalar into the corresponding pseu- doscalar. As another example, in d= 3, it converts a bivector to a certain \corresponding" pseudovector. Meanwhile, in d= 4, it converts a vector into the \corresponding" pseudovec- tor. scalar vector bivectorgrade=0 grade=1 grade=2 grade=3 grade=4grade=0 grade=1 grade=2 grade=3 grade=4bivector pseudovector pseudoscalar Figure 6: Hodge Dual in d= 4 LetVbe any vector (grade=1) and let Cbe an arbitrary blade (grade= g). Then the wedge productV^Cwill have grade= g+ 1, unless the product vanishes. We can summarize this by saying that wedge-multiplying by a vector raises the grade by 1, roughly speaking. Similarly, let Vbe any vector (grade=1) as before, and let Dbe an arbitrary blade that is not a scalar (grade= g, whereg >0). Then the dot product VDwill have grade= g1, unless the product vanishes. We can summarize this by saying that dot-multiplying by a vector lowers the grade by 1, roughly speaking. Optional tangential remark: We can simplify the previous paragraph by using the left-contraction operator de ned in section 4. Let Vbe any vector (grade=1) as before, and let Cbe an arbitrary blade (grade= g), scalar or otherwise. Then the left-contraction VyCwill have grade= g1, unless the product vanishes. We can summarize this by saying that left-contracting with a vector lowers the grade by 1, roughly speaking. Combining these ideas, we can say that wedge-multiplying is in some sense the grade- ipped version of dot-multiplying. That is, we should be able to de ne a correspondence, where wedge-multiplying moves us downward in the left column of gure 6, while dot-multiplying moves us upward in the right column. In fact, we can use this idea to de ne the Hodge dual. (Note that gure 5 and gure 6 do not fully de ne the Hodge dual; they merely describe some of its features.) Start with a blade Bwith grade= k. LetXdenote the Hodge dual of B. We are not yet able to calculate X, but we know that whatever it is, it must have grade dk. We now nd some other blade Awith the same grade as the original B, namely grade= k. The wedge productA^Xwill be a pseudoscalar. That is to say, it will have the largest possible grade, namely grade= d. 5 HODGE DUAL AND CROSS PRODUCTS 25 Meanwhile, we can also form the dot product, AB. This will have the smallest possible grade, namely grade=0. Finally, we choose some unit pseudoscalar, which we denote i. If we have an ordered set of basis vectors, the obvious choice is to multiply all of them together in order, so that i= 1 2 d. (Note that by assigning an order to the basis vectors, we introduce a notion of chirality. This is signi cant addition, insofar as the foundations of Cli ord algebra do not require chirality, as discussed in section 2.13.) At this point we have all the tools needed to de ne the Hodge dual. IfA^X = (AB)i for allA (44a) thenX =Bxi (44b) soA^(Bxi) = (AB)i for allA (44c) whereBxidenotes the Hodge dual ofB, namely the Hodge dual with respect to i. Under mild conditions, there is always one and only one Xthat satis es equation 44a, so the Hodge dual exists and is unique. We require that in some basis, every basis vector that appears in Bmust also appear in i. In a fairly wide range of practical applications, there is an obvious choice for i, which is then called the \preferred" pseudoscalar. In is therefore conventional to simplify the notation by writing the dual of BasB, where this \" is a unary pre x operator. This is conventional, but it is not entirely wise. That's because sometimes we want to think about physics in four-dimensional Minkowski spacetime, and sometimes we want restrict attention to three- dimensional Euclidean space. The Hodge dual is very di erent in these two cases, because the relevant pseudoscalar is di erent. Example: Suppose B= 7 (i.e. a scalar). Then Bxi= 7i(i.e. a pseudoscalar). This is true in any number of dimensions, from d= 1 on up. Example: In d= 3, suppose B= 5 1 2(i.e. a bivector in the xyplane). Then Bxi= 5 3= [0;0;5] (i.e. a vector in the zdirection). This assumes i= 1 2 3. Remark: equation 44 provides an implicit de nition. There exist explicit cut-and-dried algo- rithms for calculating the Hodge dual of B, especially if Bis known in terms of components in some basis. See the discussion in reference 13, or see the actual code in reference 14. 5.2 Remarks : Subspace Freedom, Or Not If you're not using the Hodge dual, Cli ord algebra has the following remarkable property, which I nd starkly beautiful: Suppose you are working with three basis vectors, 1, 2, and a. You know that your space must have at least three dimensions, but you have no way of knowing whether that is merely a subspace of some much larger space. That is, there could be other basis vectors that you do not know about, and do not need to know about. That's because Cli ord algebra is closed under the usual operations (dot product, wedge product, 5 HODGE DUAL AND CROSS PRODUCTS 26 addition, et cetera). Furthermore, you do not need to arrange your basis vectors in order. You do not need to know whether acomes before the others, or after, or in between. You do not have a \right-hand rule" and you do not need one. I call this property \subspace freedom. " In contrast, if you write the Hodge dual in the form B, it does not permit subspace freedom. That's becauseBimplicitly depends on some speci c, chosen, \preferred" unit pseudovec- tor. According to the usual way of thinking about B, the grade of the pseudoscalar tells you exactly how many basis vectors there are. Furthermore, the choice of pseudoscalar de nes a notion of right-handed versus left-handed, because if you perform an odd permutation of the basis vectors, the sign of the \preferred" pseudoscalar changes. In contrast, writing the Hodge dual in the form Bxireveals the dependence on iand preserves subspace freedom. There could be other basis vectors you don't know about and don't need to know about, so long as they do not appear in Bor ini. 5.3 Recipe for Replacing Cross Products In this subsection, we restrict attention to d= 3. We choose our preferred unit pseudoscalar in the obvious way, namely i= 1 2 3. The cross product ABis a pseudo-vector. It can be calculated in terms of the bivector A^Bas follows: AB = (A^B)xi (45a)   (A^B) (45b) jABj=jA^Bj (45c) where in equation 45a the operator xiis our representation for the Hodge dual, as de ned in section 5.1. Meanwhile, equation 45b expresses exactly the same thing, using the more conventional unary pre x notation. The Hodge dual operator is a linear operator. That means that if you are not planning on doing anything nonlinear with your cross products, you can pretty much ignore the Hodge dual operator in equation 45. That leaves us with the following quick-and-dirty recipe: AB!A^B (for simple linear applications) jABj=jA^Bj(46) As part of this recipe, replace the notion of \axis of rotation" with \plane of rotation. " For example, rather than rotation around the Zaxis, think in terms of rotation in the XYplane. You need to stick with the more general expression in equation 45 if you plan to multiply your bivectors by vectors or higher-grade clifs. As an example, consider the triple scalar 6 PEDAGOGICAL REMARKS 27 product, representing the volume of the parallelepiped spanned by three vectors. We can write that as: ABC =A^B^C jABCj=jA^B^Cj(47) In this case, ABCis strictly equal to A^B^C. They are two ways of calculating the same pseudoscalar. For more about the volume of a parallelepiped, see reference 7. In more advanced situations such as electrodynamics, you often nd that there is an equation involving a cross product and a \similar" equation involving a dot product. In this case you may need to combine the two equations and replace both products with the full geometric product. This generally requires more than a recipe, i.e. it may require actually understand- ing what the equations mean. For electrodynamics in particular, the right answer involves promoting the equations from 3D to 4D, and replacing two vector elds by one bivector eld. See reference 4. 6 Pedagogical Remarks 6.1 Visualizing Bivectors I prefer the wedge product for several reasons First and foremost is the simplest of practical pedagogical reasons: I can get good results using wedge products. The more elementary the context, and the more unprepared the students, the more helpful wedge products are. I can visualize the wedge product, and I can get the students to visualize it. (This stands in stark contrast to the cross product, which tends to be very mysterious to students.) Speci cally: Consider gyroscopic precession. I have done the pedagogical experiment more times than I care to count. I have tried it both ways, using cross products (pseudovectors) and/or using wedge products (bivectors). Precession can be understood using little more than the addition of bivectors, adding them edge-to-edge as described in section 2.3. I can use my hands to represent the bivectors to be added, or (even better) I can show up with simple cardboard props. Getting students to visualize angular momentum as a bivector in the plane of rotation takes no time at all. In contrast, getting them to visualize it as a pseudovector along the axis of rotation is a big production; even a bright student is going to struggle with this, and the not-so-bright students are never going to get it. Maybe this just means I'm doing a lousy job of explaining cross products, but even if that's true, I'll bet there are plenty of teachers out there who nd themselves in the same situation and would bene t from taking the bivector approach. 6 PEDAGOGICAL REMARKS 28 6.2 Symmetry Another reason for preferring the geometrical approach, i.e. the Cli ord algebra approach, is that (compared to cross products) it does a much better job of modeling the symmetries of the real world. Remember, the real world is what it is and does what it does. When we write down an equation, it may or may not be an apt model of the real world. Often an equation involving a cross product will have a chirality (\handedness") to it, even when the real-world physics is not chiral. For more on this, see reference 3. 6.3 Connections and Extensions Additional reasons for preferring the geometric approach have to do with its connections to other mathematical and physical ideas, as discussed in section 1. (This is in contrast to the cross product, which is not nearly so extensible.) 6.4 Geometric Approach versus Components There are always multiple ways of presenting the same material. In the case of Cli ord alge- bra, it would have been possible to leap to the idea of a basis set very early on. The sequence would have been: (a) establish a few fundamental notions; (b) set forth the behavior of the basis vectors according to equation 33 and equation 34; (c) express all vectors, bivectors, etc. in terms of their components relative to this basis; and (d) derive the main results in terms of components. Let's call this the basis+components approach. Some students prefer the basis+components approach because it is what they are expecting. They think a vector, by de nition, is nothing more than a list of components. The alternative is to think of a vector as a thing unto itself, as an object with geometric properties, independent of any basis. Let's call this the geometric approach. We must ask the question, which approach is more elementary, and which approach is more sophisticated? Also, which approach is more abstract, and which approach is more closely tied to physical reality? Actually those are trick questions; they look like dichotomies, but they really aren't. The answer is that the geometric approach is more physical andmore abstract. It is more elementary andmore sophisticated. You can use a pointed stick as a physical model of a vector, independent of any ba- sis. Wave it around in front of the class.Show how vectors can be added by putting them tip-to-tail. 7 CLIFFORD ALGEBRA DESK CALCULATOR 29 Use a at piece of cardboard as a physical model of a bivector.Show how bivectors can be added by putting them edge-to-edge. In physics, almost everything worth knowing can be expressed independently of any basis . You should be suspicious of anything that appears to depend on a particular chosen basis. For more about this, see reference 15. Observe that everything in section 2 is done without reference to any basis; the de nition of \basis" and \components" are not even mentioned until the very end. The real practical advantage of the basis+components approach is that it is well suited for numerical calculations, including computer programs. Reference 2 includes a program that is useful for keeping track of compound rotations in D= 3 space. Summary of This Subsection Consider the contrast: The geometric approach is physical yet al- gebraic, axiomatic, and abstract; it is ele- mentary yet sophisticated.The basis+components approach is more numerical, i.e. more suited for computer programs. Some students have prior familiarity with one approach, or the other, or both, or neither. 7 Cli ord Algebra Desk Calculator I wrote a \Cli ord algebra desk calculator" program. It knows how to do addition, subtrac- tion, dot product, wedge product, full geometric product, reverse, hodge dual, and so forth. Most of the features work in arbitrarily many dimensions. Here is the program's help message. See also reference 14. Desk calculator for Clifford algebra in arbitrarily many Euclidean dimensions. (No Minkowski space yet; sorry.) Usage: ./cliffer [options] Command-line options include -h print this message (and exit immediately). -v increase verbosity. -i fn take input from file 'fn'. -pre fn take preliminary input from file 'fn'. -- take input from STDIN 7 CLIFFORD ALGEBRA DESK CALCULATOR 30 If no input files are specified with -i or --, the default is an implicit '--'. Note that -i and -pre can be used multiple times. All -pre files are processed before any -i files. Advanced usage: If you want to make an input file into a self-executing script, you can use "#! /path/to/cliffer -i" as the first line. Similarly, if you want to do some initialization and then read from standard input, you can use "#! /path/to/cliffer -pre" as the first line. Ordinary usage example: # compound rotation: two 90 degree rotations # makes a 120 degree rotation about the 1,1,1 diagonal: echo -e "1 0 0 90 vrml 0 0 1 90 vrml mul @v" | cliffer Result: 0.57735 0.57735 0.57735 2.09440 = 120.0000 Explanation: *) Push a rotation operator onto the stack, by giving four numbers in VRML format X Y Z theta followed by the "vrml" keyword. *) Push another rotation operator onto the stack, in the same way. *) Multiply them together using the "mul" keyword. *) Pop the result and print it in VRML format using the "@v" keyword On input, we expect all angles to be in radians. You can convert from degrees to radians using the "deg" operator, which can be abbreviated to "" (the degree symbol). Hint: Alt-0 on some keyboards. As a special case, on input, a number with suffix "d" (with no spaces between the number and the "d") is converted from degrees to radians. echo "90 sin @" | cliffer echo "90 sin @" | cliffer echo "90d sin @" | cliffer are each equivalent to echo "pi 2 div sin @" | cliffer 7 CLIFFORD ALGEBRA DESK CALCULATOR 31 Input words can be spread across as many lines (or as few) as you wish. If input is from an interactive terminal, any error causes the rest of the current line to be thrown away, but the program does not exit. In the non-interactive case, any error causes the program to exit. On input, a comma or tab is equivalent to a space. Multiple spaces are equivalent to a single space. Note on VRML format: X Y Z theta [X Y Z] is a vector specifying the axis of rotation, and theta specifies the amount of rotation around that axis. VRML requires [X Y Z] to be normalized as a unit vector, but we are more tolerant; we will normalize it for you. VRML requires theta to be measured in radians. Also note that on input, the VRML operator accepts either four numbers, or one 3-component vector plus one scalar, as in the following example. Same as previous example, with more output: echo -e "[1 0 0] 90 vrml dup @v dup @m [0 0 1] -90 vrml rev mul dup @v @m" | cliffer Result: 1.00000 0.00000 0.00000 1.57080 = 90.0000 [ 1.00000 0.00000 0.00000 ] [ 0.00000 0.00000 -1.00000 ] [ 0.00000 1.00000 0.00000 ] 0.57735 0.57735 0.57735 2.09440 = 120.0000 [ 0.00000 0.00000 1.00000 ] [ 1.00000 0.00000 0.00000 ] [ 0.00000 1.00000 0.00000 ] Even fancier: Multiply two vectors to create a bivector, then use that to crank a vector: echo -e "[ 1 0 0 ] [ 1 1 0 ] mul normalize [ 0 1 0 ] crank @" \ | ./cliffer Result: [-1, 0, 0] Another example: Calculate the angle between two vectors: echo -e "[ -1 0 0 ] [ 1 1 0 ] mul normalize rangle @a" | ./cliffer 7 CLIFFORD ALGEBRA DESK CALCULATOR 32 Result: 2.35619 = 135.0000 Example: Powers: Exponentiate a quaternion. Find rotor that rotates only half as much: echo -e "[ 1 0 0 ] [ 0 1 0 ] mul 2 mul dup rangle @a " \ " .5 pow dup rangle @a @" | ./cliffer Result: 1.57080 = 90.0000 0.78540 = 45.0000 1 + [0, 0, 1] Example: Take the 4th root using pow, then take the fourth power using direct multiplication of quaternions: echo "[ 1 0 0 ] [ 0 1 0 ] mul dup @v .25 pow dup @v dup mul dup mul @v" | ./cliffer Result 0.00000 0.00000 1.00000 3.14159 = 180.0000 0.00000 0.00000 1.00000 0.78540 = 45.0000 0.00000 0.00000 1.00000 3.14159 = 180.0000 More systematic testing: ./cliffer.test1 The following operators have been implemented: help help message listops list all operators === Unary operators pop remove top item from stack neg negate: multiply by -1 deg convert number from radians to degrees dup duplicate top item on stack gorm gorm i.e. scalar part of V~ V norm norm i.e. sqrt(gorm} normalize divide top item by its norm rev clifford '~' operator, reverse basis vectors hodge hodge dual aka unary '' operator; alt-' on some keyboards gradesel given C and s, find the grade-s part of C rangle calculate rotor angle === Binary operators exch exchange top two items on stack codot multiply corresponding components, then sum 8 REFERENCES 33 add add top two items on stack sub sub top two items on stack mul multiply top two items on stack (in subspace if possible) cmul promote A and B to clifs, then multiply them div divide clif A by scalar B dot promote A and B to clifs, then take dot product wedge promote A and B to clifs, then take wedge product cross the hodge of the wedge (familiar as cross product in 3D) crank calculate R~ V R pow calculate Nth power of scalar or quat sqrt calculate square root of power of scalar or quat === Constructors [ mark the beginning of a vector ] construct vector by popping to mark unpack unpack a vector, quat, or clif; push its contents (normal order) dimset project object onto N-dimensional Clifford algebra unbave top unit basis vector in N dimensions ups unit pseudo-scalar in N dimensions pi push pi onto the stack vrml construct a quaternion from VRML representation x,y,z,theta clif take a vector in D=2**n, construct a clif in D=n Note: You can do the opposite via '[ exch unpack ]' === Printout operators setbasis set basis mode, 0=abcdef 1=xyzabc dump show everything on stack, leave it unchanged @ compactly show item of any type, D=3 (then remove it) @m show quaternion, formatted as a rotation matrix (then remove it) @v show quaternion, formatted in VRML style (then remove it) @a show angle, formatted in radian and degrees (then remove it) @x print clif of any grade, row by row === Math library functions: sin cos tan sec csc cot sinh cosh tanh asin acos atan asinh acosh atanh ln log2 log10 exp atan2 8 References 1. John Denker, \Comparing Complex Numbers to Cli ord Algebra" www.av8n.com/physics/complex-cli ord.htm 8 REFERENCES 34 2. John Denker, \Multi-Dimensional Rotations, Including Boosts" www.av8n.com/physics/rotations.htm 3. John Denker, \Pierre's Puzzle" www.av8n.com/physics/pierre-puzzle.htm 4. John Denker, \Electromagnetism using Geometric Algebra versus Components" www.av8n.com/physics/maxwell-ga.htm 5. John Denker, \Origin of the Magnetic Field" www.av8n.com/physics/magnet-relativity.htm 6. John Denker, \The Magnetic Field Bivector of a Long Straight Wire" www.av8n.com/physics/straight-wire.htm 7. John Denker, \Area and Volume of Parallelograms and Parallelepipeds" www.av8n.com/physics/area-volume.htm 8. John Denker, \The Geometry and Trigonometry of Spacetime" ahrefbib 9. Stephen Gull, Anthony Lasenby, and Chris Doran, \The Geometric Algebra of Spacetime" http://www.mrao.cam.ac.uk/~cli ord/introduction/intro/intro.html 10. Richard E. Harke, \An Introduction to the Mathematics of the Space-Time Algebra" http://www.harke.org/ps/intro.ps.gz 11. David Hestenes, \Oersted Medal Lecture 2002: Reforming the Mathematical Language of Physics" Abstract: http://geocalc.clas.asu.edu/html/Overview.html Full paper: http://geocalc.clas.asu.edu/pdf/OerstedMedalLecture.pdf 12. Leo Dorst, \The inner products of geometric algebra" pp. 35{46 Birkh auser (Boston, 2002). 13. Wikipedia article, \Hodge dual" http://en.wikipedia.org/wiki/Hodge_dual 8 REFERENCES 35 14. John Denker, \cli er" { a desk calculator for Cli ord Algebra in arbitrarily many Euclidean dimensions (from 1 on up) Main program: ./cat.cgi/cli er.pl Required library: ./cat.cgi/cli ord.pm Usage examples and tests: ./cat.cgi/cli er.test1 15. John Denker, \Fundamental Notions of Vectors" www.av8n.com/physics/vector-intro.htm