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

Suter Geometric Algebra Primer notes

DOCX · 493.7 KB
Open DOCX file

Phil's commentary written while reading Suter's 66-page primer, with his questions, checks and corrections. It covers wedge products, k-blade basis counts (binomial coefficients summing to 2^n), the geometric product ab = a.b + a^b, inverses of versors, pseudoscalars, duals with a x b = (a^b)*, projection, reflection, and complex numbers and rotations in R2. Equations and figures are mostly missing from the extracted text.

AI-written summary; may contain errors.

Extracted text (machine-read; may contain errors)
Suter: Geometric Algebra Primer PhL 8.29.15 This is a nice looking 66 page PDF that I think "speaksa my language". His orientation is computer graphics and this leads him to select some things over others. His word subspace just refers to things like the space of vectors or bivectors or trivectors. Question: What is the formal description of the Clifford Space as a sum of these blade subspaces? None of my sources so far (pdfs) has a clean upfront statement, but I did see many direct products and so on. I will start again with this focus in my search. Here is something hopeful where the author starts with the direct product business. I found cliffordfit.pdf which has the answer, so I defer for now. He gives the standard bivector set of pictures. He then does a basis-vector ^ product standard issue calculation, but he refers to e1^ e2 as I. Two errors in text so far. I think e1^ e2 spans a subspace and not "is a subspace" . Later calls wedge product an outer product. So yes, I is the bivector basis element and in R2 there are no others. He then doggedly (just as I would do) repeats this in R3 to get the following wedge product of two vectors a and b. Next he starts into trivectors. Think of this now as a bivector extended by a vector. (a^b)^c . Author says it has only a volume and a sign, the perfectly cubic shape could be any shape he claims. I guess I would think of it as 3-piped in shape. So far so good. Now he comes to blades. A trivector is a 3-blade. Very clear. Here is a nice picture: I think I can now verify the count sequence for Rn scalar basis clifs 1 vector basis clifs n bivector basis clifs n(n-1)/2 because only increasing ordering is used trivector basis clifs n(n-1)(n-2)/3! for every ABC ordering (3! orders) only one is used and so on Note that n(n-1)(n-2)/3! = n! / [ (3! (n-3)!] k-blade basis clifs n(n-1)(n-2)....(n-k+1)/k! = n! / [ (k! (n-k)!] = (n,k) So the number of k-blade basis elements for Rn is simply (n,k), the binomial coefficient. For a fixed n, you can have k = 1,2....n only. You cannot have e1e2.....en if n > k! this total basis vector count = Σk=1n (n,k) = 2n (the number of ways to pick a committee of any size). This simple result ins in Schaum p 4 but is too simple for GR7. So again: In Rn the number of unique k-blade (k-subspace) basis elements is (n,k) for k = 0,1...n nd the total of all these is just 2n. Author reviews my conclusions. Now on to Chapter 3. He wants to write Clk as the "Clifford subspace" which has k-blades. So: Fine indeed. I like this writer. So now we know the basis elements for each Clifford subspace labeled by k. He keeps calling the wedge product an outer product, that is fine (after all, exterior product). So here he goes ab = a.b + a^b and this is going to be his definition of ab. But I thought PQ has a whole range of grades? Ah, this is only for vectors! So add scalar and a bivector, that is fine, you just keep track as you do for z = x + iy of the real and imaginary parts. Notice that in ab = a.b + a^b there is no 1-blade in the result, only 0 and 2. Multivector = a sum of blades of different grade. If only one coefficient is non-zero, you get a blade also being in the class of multivectors. Fine. On to his Section 3.3. Example 1. Consider two general elements of Cl2 which recall has 4 basis elements. Here is a result after some fiddling' (this is exactly the approach I was hunting for, sorry Mr Denker). Notice the use of I for the sort of maximal basis vector which for R2 is just e1^ e2. Now consider e1e1 = e1.e1 + e1^e1 = e1.e1 ≡ e12 = 1 if we use normalized basis vectors (we can only do this for the basis vectors) . Similarly e1e2 = e1.e2 + e1^e2 = e1^e2 = e12 = I // orthogonal for dot He next shows that e1I = e2. Now I am slowed down a bit by this claim I need to try some examples. I know that e1e2 = e12 e1e2e3 = e12e3 = e12.e3 + e12^e3 // not justified because e12 is not a vector!!!! How do I know that e12.e3 = 0 ? He has not really explained this little detail. (e1^e2).e3 = ? I guess you add a new assumption: Basis elements in different k-subspaces are orthogonal in terms of dot products. He never stated that fact. I will just add it to the assumptions list (it does seem reasonable, we have disjoint subspaces as in a direct sum). Then at once we get e1e2e3 = e12e3 = e12.e3 + e12^e3 = e12^e3 = e1^e2^e3 and then his example above makes more sense. BUT, I am applying the expansion beyond its restriction to two vectors! So his Rules 1,2,3 are find by me. So a very nice multiplication table He then completes the AB calculation for R2 started above to get where of course the result is now expressed in the complete set of basis vectors for Cl2. I am sure I could then develop this table for R3, that is, for Cl3: Recall that there are 23 = 8 basis vectors for Cl3. And so we come to Section 3.4. He has been very good so far! Now on page 24 of 66. Section 3.4 reviews the decomposition of ab for a and b both being vectors. These rules apply only to vectors. How then can you define a dot product for two arbitrary blades? He focuses on one type of dot product which get the character (the Lounesto inner product, backwards L symbol, also a contraction). We start off with these definitions, all of which seem reasonable Here α,β are scalars, a,b are vectors. So dot of vector with scalar is 0, something I assumed already for the regular dot product (I think I did, basis of k-spaces orthogonal). Now the question is this: how to you extend the above dot product definition to fancier blades of grade 3 or more? He gives this two new rules, where A,B,C are arbitrary multivectors! So I believe the first rule? Suppose C = scalar. LHS = a (b^α) = α(a b) RHS = (a b) ^ α - b ^ (a α) = α(a b) - b ^(αa) = α(a b)- α b ^a Oops, it does not work, he did not mention that. So we leave things a little roughly at the end of this section! Final quote is good Chapter 4 Tools. Same notation <A>s for grade s piece of A. New notation example: where for A we state all 8 components in a linear manner! He just throws out this rule, where A and B are pure blades, where we are dotting two blades of grades s and t. Result is asymmetric, as you see. Very hazy where this rule is coming from , but it is just a definition. Grade is lowered either to new grade = if (s≤t) t-s else 0 = (t-s) θ(t-s) Here is the next rule OK, I can go with this so far. The Inverse. A versor is a vector or any geometric product of vectors. (vector = 1-blade).   No problem here. Agreed. Then here is a claim: for a versor, the left and right inverse are the same and given by A-1 = A†/ (A†A) Now first look at A†A. It seems to me that A†A = (vk.....v2v1)(v1v2....vk) = (vk.....v2)v12(v2....vk) = ??? What do I know about v12 for a vector? Since v1^v1 = 0, I know that v12 = v1.v1 which is a scalar. So this says that\ A†A = v12v22.....vk2 = a scalar so 1/ (A†A) is a scalar. So OK, given that fact, it is obvious that AA-1 = A[A†/ (A†A)] = (A†A)/ (A†A) = 1 = a scalar = A-1A. So much for this section. 4.3 Pseudoscalars [ 31 ] // almost half way done We already know that the maximal basis vector for CLk is e1^e2....^ek which is a single element. There is only one "maximal" basis vector like this, and it is called a pseudovector for reasons not yet clear. 4.4 The Dual This is very good. I is the pseudoscalar for some Cln and being a blade we know I-1 is both a left and right inverse of I (from last section). Then the Hodge Dual of an arbitrary Multivector (but he does not mention Hodge) is this (he puts the asterisk after instead of before) A* = AI-1 In R3 we have I-1 = e3e1e1. Example: What is the Dual of the outer product of two vectors? (a^b)* = (a^b) e3e1e1. Recall from earlier that Then we have e12e321 = - e12e231 = - e1e31 = e1e13 = e3 e13e321 = e1ε21 = -ε2 e23e321 = e2e21 = e1 Then we find that (a^b)* = (α1β2- α2β1)e3 + (α1β3- α3β1)(-e2) + (α2β3- α3β2)e1 = (α1β2- α2β1)e3 + (α3β1- α1β3)(e2) + (α2β3- α3β2)e1 = (α2β3- α3β2)e1 + cyclic = a x b !! Conclusions: (1) In geometric algebra for R3, one can write a x b = (a^b)* which is the Dual of a^b. (2) In geometric algebra for R3, (a^b)* is a vector which is normal to the plan defined by a^b 4.5 Projection and Rejection If a is a vector and B is a bivector(defining a plan), then we can write = projection onto B + rejection from B The figure makes complete sense (unlike a previous figure) New Claim: aB = a.B + a^B a = vector B = any k-blade We have to assume these reasonable things: and we then find that Then apply B-1 from the right ( B is a blade) to get In similar simple fashion it is shown that So here then is our decomposition: a = (a.B)B-1 + (a^B)B-1 = aBB-1 = a // checks par to B + perp to B 4.6 Reflections This is a little tricky. First U = a bivector a = a||U + aU // the above decomposition u = *U = normal to U = a vector = a 1-blade He shows that -uau-1 = a||U – aU = aref This is exactly the reflection of vector a through the plane of U, and this is shown in Fig 4.2. Remember, a is any vector, while u = U* is the normal to plane U. How would I say this in conventional terms? a = a n a = (a n)n a|| = a - a But to write down a|| you really need to define a basis in the plane. You could say 1 = a x n / |a x n| 2 = 1 x n a|| = a 2 = a [ 1 x n ] = a [ (a x n) x n ] / |a x n| So then we have a = a [ (a x n) x n ] / |a x n| + (a n)n parallel perp aref = a [ (a x n) x n ] / |a x n| - (a n)n I agree, it seems a lot messier maybe than the geometric algebra method. I think that is his point. If we arrange for u to be a unit vector so u-1 = u, then aref = -uau // the geometric algebra result 4.6 The Meet Question: how do you dot a vector a with a bivector B ? Well recall that so I guess the answer is this a.B = a||B B But now I need to know the geometric product of a vector with a bivector B. I don't think that has evern been addressed. Oh well, the claim is this A*.B = "A B" = the intersection of planes A and B, somehow Chapter 5: Applications 5.1.1 Complex numbers. Recall that in general we had for R2 Suppose we take only those multivectors which have no e1 or e2 components. Then A = α1 + α4 I I2 = -1 from mult table of Fig 3.1 clipped above B = β1 + β4 I Just for fun then, let α and β be real scalars and rewrite I as imaginary i. Then we have A = α1 + α4 i I2 = -1 from mult table of Fig 3.1 clipped above B = β1 + β4 i and now A and B certainly look like complex numbers. Now note that AB = (α1 + α4 I)( β1 + β4 I) =(α1β1- α4β4) + I (α4β1-α1β4) In complex math we would find exactly the above result with I replaced by i. Fact: The geometric algebra for R2 can encompass the algebra of complex numbers, for both addition and multiplication. This happens in a piece of the CL2 algebra where we ignore vectors with components on e1 and e1. Very excellent. 5.1.2 Rotations in the plane. [40] This is a longer section. The claim made here is the following: Let a = any vector in R2 a = α2e1 + α3e2 // notice strange labeling B = β1 + β4I I = e1e2 B is a 2-multivector of the form we used earlier to simulate complex numbers with I → i. It is a combination of a scalar and a pseudoscalar. He shows the algebra to get a" = aB = (β1α2- β4α3) e1 + (β4α2+β1α3) e2 Now suppose we give a" those same strange component names we did for a, to then a" = α2"e1 + α3"e2 Comparing I see that α2" = (β1α2- β4α3) α3" = (β4α2+β1α3) or = For some reason he has the signs wrong in (5.3), I will use the corrected signs. Now suppose we by fiat select β1 = cosθ and β4 = sinθ. We then find that = = Rz(θ) where Ry(θ) is the xy part only of the R3(θ) matrix. This is not really the "physics" spinor representation because that matrix Ry has half angles in it. That is, it is not really SU(2). But it is a 2x2 representation and they want to call it "spinor" so OK. So, in this application of Clifford, we represent a vector by a = α2e1 + α3e2 . For R2 there is only one rotation generator so we can take it to be Rz where the plan is xy. The rotation of a vector in R2 in our Clifford world Cl2 is represented by the following scalar + bivector combination: B = cosθ + sinθ I I = e1e2 // which sure looks like eIθ to me We have seen that you apply this from the right to get the rotation shown above. If you were to apply it on the left, I think you might get rotation by -θ, but I would have to check. He then shows that you can write B in as a product of two unit vectors p and q B = pq where pq = p.q + p^q = cosθ + sinθ I He does not prove this decomposition but I might be able to do that, somehow. He quotes a ref. In general we already know that "the geometric product of two vectors is a scalar + a bivector", and we see that happening here with the unit vectors pq. Claim is that pq is clockwise and qp CCW. Totally obvious from formula above since I → -I. In this framework, he then looks specifically at rotations of π and π/2. Rz(π/2) = I Rz(π) = I2 = -1 I think we can say that the clifs B form a 2D clif representation of SO(2), a "spinor rep". I'm sure of that. He then concatenates two rotations, but I would have done it much differently showing it really works. 5.1.3 Lines [43] Think of line in the u direction that passes through a. Then x = a + αu generates all points on the line for α = real. Thus we can say (x-a) ^ u = 0 and this is how you say it in the geo algebra. You can also think of this as a cross-product here. He write this fact various ways: Notice the non-sentence, but OK. So easy to describe a line in R2 in geo alg. I don't grok Fig 5.1 since it shows U twice. Also, he writes d = U/u, but we don't know how to do in division at all in Clif World. So imagine this really says U = du U = our x^u bivector u = our unit direction vector d = some vector d.u = 0 I think, d ^ u = a bivector We are selecting d intentionally so d.u = 0!! Therefore we have du = d ^ u But the line passes through point d as well as picture shows. Therefore, d is like any x on the line, and for any x we know that x ^ u = U, and as a special case therefore we have d ^ u = U So we have x ^ u = U and also d ^ u = U I guess. Now look at the picture: The vertical U is U = a ^ u, the lower U is d ^ u, but we have shown these are the same. Fact: This is what me means by saying U has no special shape! It can appear multiple times in a picture with different shapes! I guess the area of U must be the same for both shapes. The area of the lower U seems to be |U| = |d| |u|. Note that d is shortest vector to the line from the origin! If u is a unit vector, then we just get |U| = |d| = d, that distance. [ Both U's are in the same plane! They have the same base time height, so the 2-pipeds have the same area. So OK, this seems like a lot of fiddling just to talk about a line in R2. 5.2 Euclidian Space [45] 5.2.1 Rotations [45] These were called p and q before, and we had p.q = cosθ and p^q = cosθ I, so now just changing names to confuse the reader. We are now going to work up rotations in R3 at least maybe for Rn. Start of with: R = cosθ + sinθ B where B = a unit bivector (unit area). v' = Rv What did we do earlier? R = cosθ + sinθ I a" = aR and yes, I2 = - 1, so that is going to account for the new order! Claim: If R = cosθ + sinθ B where B is any unit bivector, then v' = Rv is the vector rotated by θ. The vector is rotated in the plane of B. This is in general Rn ! The rotation axis is the normal to the plane B. I will try my own methods. First, why does the length of v not change? Ouch, we have not really talked about lengths of things too much. Get back on the train. The claim is that v and v' will be in the same plane which is the plane of B. That means that v and v' are both perp to v, so I agree that v' x B = 0. Follow steps. But claims that B.v = bivector . vector = complement of vector, whatever that means (I did not understand Fig 3.3). The claim is that B.v = v , some vector in the B plane perp to v. Then Now using this, he wants to show that v' ^ B = 0 so that v' is in the B plane. That is obvious from the above. He does not show that |v| = |v'|, basically just assumes it! I think it is because B is a unit bivector. I don't like his proof very much, but I accept the Claim above. Notice that B defines some plane of two vectors and this could be any plane in Rn spanned by two vectors. But this only gives rotation of a vector within that plane. He now wants to rotate an arbitrary vector relative to some plane. His picture is now Fig 5.3. I am not doing all the details, but he ENDS UP with this result: R = cos(θ/2) + sin(θ/2)A A = some plane (bivector, maybe unit) v' = R†v R Recall that R† has meaning of R is a versor = product of vectors. Then R† just reverses their order. In this result v' = R†v R , what are the pieces? v = any vector in Rn = has n components R = cos(θ/2) + sin(θ/2)A A = plane A* = its normal = axis of rotation v' = R†v R = a triple geometry algebra Clif Rn product There is obviously some major isomorphism going on here! This is like the quantum mechanics rotation of a vector operator. A normal 3D vector rotation would just be v' = Rv. Now he makes a very big claim. The spinor R rotates ANY MULTIVECTOR in this same way. For example, if B is a bivector, then B' = R†B R That is an impressive claim, but I think the isomorphism supports that idea. Now back to 3D space! There are three bivector basis functions, so write B = (β1,β2,β3) those being the coefficients. Write cos(θ/2) = γ, a scalar. So R = cos(θ/2) + sin(θ/2)B has 4 components in R3. R = (cos(θ/2), sin(θ/2)β1, sin(θ/2)β2, sin(θ/2)β3) = showing the parameters New symbols: i = e12 j = e23 k = e13 Now above we wrote the spinor R as R = (w,x,y,z) = w + xi + yj + zk // error in his notation! where then w = cos(θ/2) x = sin(θ/2)β1 y = sin(θ/2)β2 z = sin(θ/2)β3 The claim is that this is then the world of quaternions! And B' = R†B R is a quaternion thing. In R3 we have the spinor R = a quaternion. So this is a big deal! And the geometric algebra approach works in any Rn so it is in some sense beyond quaternions, having them as a special case for R3. I have ignored his last section, am now on page 54 of 66. 5.2.2 Lines [45] In Rn a line through point a is still described by (x-a)^u = 0. Nothing in that discussion required 2D. 5.2.3 Planes [45] The equation (x-a) ^ B = 0 describes a line in plane B (a bivector) passing through point a. We get then but now U is a trivector! In R3 there is only one trivector basis element, so U is described by a single number, the coefficient of ε123. Point a requires three numbers, so 4 numbers to describe a plane through a point. In regular work, you could use a normal and a distance d from origin, so again 4 parameters. But this thing with Clif is that 3 of the four parameters are just the point that a plane passes through. If you write a plane as (r-a)n = 0 where n is a unit normal, you seem to need 5 parameters. I guess you also know that r x a = ± ran, but that does not add much. But there are really only 4 parameters. Claim is that the scalar of the Clifford rep is the volume of a certain 3-piped. OK, he is just giving us a fast tour here, I do appreciate the speed of motion. The rest of this Chapter concerns "homogeneous space". I think this is what we did with FGS replacing 3 vectors with 4-vectors to make math easier. Chapter 6 Conclusions. Computation is not quite there yet, and old methods die hard. References: a small number of names! Leo Dorst David Hestenes author Jaap Suter Ian Bell Chris Doran