By: Nobody/Anonymous  nobody Geometric (Clifford) Algebra 20051109 21:13 
In a previous posting elsewhere (sci.math.research?) in 2003, Martin Baker enquired about the possible application of GA methods to affine transformations and dynamics in 3D Euclidean space, a topic which I happen to have begun to study at around the same time. There he made a remark which I think worth examining, to the effect that devoting 16 components to represent an isometry seemed an inefficient use of resources. This articulates an attitude I have encountered frequently among my own students, who are frequently unable to come to terms even with using 4 rather than 3 components to represent a point. I wonder why this mysterious parsimony is so widespread. It would not occur to most of these individuals to agonise over whether their vectors were represented as arrays or as doublylinked lists (using 3 times the storage), yet the notion of expending extra components in the cause of simplifying drastically their algorithmic design seems to arouse in them a positively moral outrage. The fact is that many of the elementary difficulties expressed in postings here and elsewhere regarding 3D geometry become trivial if attacked with a suitably powerful notation. Furthermore, in the event that speed or storage are significant concerns, it is usually possible to streamline the resulting GA algorithm by specialising multivectors back to vectors, matrices, etc. A typical example is the representation and composition of general helical (screw) isometries about arbitrary skew axes in space. Because they can (usually) manage to avoid having to tackle such situations headon, programmers working in geometric computation universally wallow in a morass of partial solutions more appropriate to hand computation, attended by a predictable plague of bugs resulting from the attempt to interface them. Unfortunately, there does not at present appear to be a treatment of GA methods in a form which programmers (rather than mathematicians) might be expected to find digestible and applicable. But rest assured, I'm on the case ... Fred Lunnon <fred.lunnon "atsign" gmail.com> 
By: Martin Baker  martinbaker RE: Geometric (Clifford) Algebra 20051110 02:32 
Hi Fred, I apologise for my parsimony (well I looked it up and a simplified definition of parsimony is "a principle that states that the simplest explanation that explains the greatest number of observations is preferred to more complex explanations" which seems like a good principle to me so perhaps I don't apologise). However I like to think that I am quite prepared to overthrow established way of doing things if necessary. Anyway I'm in danger of becoming flippant which I don't mean to be, I share your belief that GA would be a very powerful an general way to represent affine transformations and therefore solid body dynamics in 3D, however although the mathematics is extremely powerful its general application seems just out of reach. I would welcome any thoughts you might have on the following issues: How to represent in programs  The GA libraries that I have seen seem to have generators that generate GA algebras in any arbitrary dimension with the scalar, vector, bivector, trivector... parts all held separately. If we are mainly interested in representing affine transformations in 3D then it seems simpler to me to hold every 3d multivector as 8 scalar numbers even if all parts are not used? Inverse of multivector ?  In general multivectors don't always have an inverse, but affine transformations always have inverses, therefore there must be a subset of 3d multivectors that can represent affine transformations and always have inverses, so what is it? In the same way that we define a subset of matricies: transpose(M) = inverse(M) or quaternions: conjugate(q) = inverse(q) to represent orthogonal transformations. How to represent inertia tensor in GA ?  If we want to relate motion of solid bodies to forces, or impulses in the case of solid body collisions we need to represent inertia tensor. Can we use multivectors to represent an inertia tensor? It seems to me that multivectors are better at representing spinors than tensors? Or do we have to mix multivectors with matrices? How shold we do this? I have put some pages about GA here: https://www.euclideanspace.com/maths/algebra/clifford/ I would welcome thoughts from anyone about how to take this forward. Thanks, Martin 
By: Nobody/Anonymous  nobody RE: Geometric (Clifford) Algebra 20051110 18:04 
Greetings, Martin  delighted to make your acquaintence. Please consider any previously implied condescension on my part unreseservedly withdrawn. For now I shall attempt to deal with your very pertinent queries as briefly as possible: although there is much more that I have to say on this subject [and indeed may have to be restrained forcibly from so doing!] ((0)) Multivector dimension: In referring to "affine" transformations, I presume that you actually have in mind "isometries", that is rigid transformations preserving distance; and also that you would prefer these not to always have one foot nailed to an arbitrary origin, as occurs for instance when employing quaternions or affine (3x3) matrices. Then for 3D the most appropriate system is (I claim) what I call "Duplex Quaternions" (DCQ's), a representation by a grade 4 algebra which is not among any of those previously considered by Hestenes (nor, as far as I know, by anybody else). In principle therefore, the number of components is not 8 but 16. [Now then, everbody just relax!] ((1)) Data representation and arithmetic: In practical applications at least half of these components must be zero; furthermore, the grades of nonzero components must either be entirely even or entirely odd. So the Clifford product may immediately be decomposed into just one of its eveneven, oddodd, evenodd subproducts, involving only 8 components. A more elaborate implementation might decompose these further into grade vectors of length 1,4,6,4,1, invoking only those required for those grades present in the operands and result: the requisite analysis might be performed dynamically by the arithmetic software, statically by the compiler, or ultimately perhaps by dedicated hardware. The crucial observation is that this tuning is completely independent of the problemsolving process by which a graphical algorithm is developed by the programmer, who employs only highlevel "componentfree" multivector arithmetic. When the dust has settled on the optimisation question, it appears that the overall difference in flatout performance between matrix/vector and multivector methods is small: the big advantage is in the development of simple, powerful, branchfree algorithms. ((2)) Inverses: a multivector X representing an isometry [if that is indeed what you intend] is not simply either even or odd: it satisfies the additional constraint that the product X X^+ of X with its reversion X^+ is a scalar, which is in fact the squared magnitude X^2. Because of this happy circumstance [straightforward to prove, tho' not trivial], for X arising in practice the inverse is essentially simply X^+ [since multivectors are homogeneous, the scalar factor 1/X^2 is in principle irrelevant here]. If X = 0, the transformation is a projection onto infinity, for which no inverse exists. The problem of deciding whether a general multivector in such a Clifford algebra is invertible, and if so computing its inverse, is bound up with the algebraic structure of zerodivisors, and is rather complicated. For DCQ's, the general inverse is a polynomial cubic in X, with scalar coefficients  but (fortunately!) the implementor never need to know about this. This matter is for some reason never mentioned in the literature: maybe people are too embarrassed to admit that they don't actually know how to divide by a general multivector! ((3)) The inertia tensor: and now for the bad news. The happy outcome would have been that there existed some (class of) multivector X, such that Y > X^{1} Y X represented a rescaling of a unit point Y by arbitrary ratios along the 3 axes of an arbitrary orthogonal frame: unfortunately, this can be shown to be impossible, at any rate for DCQ's [and almost certainly for any Clifford algebra]. The situation is not desperate: it simply means that we must resort to employing a linear transformation, as we usually do. [In principle, these matrices are 16x16, but in practice they would shrink to 4x4 etc as above.] As you opine, the versor approach to transformations seems to be limited to isometries (essentially, spinors): in particular, neither does it cope very elegantly with perspective projection. However, it is still the case that  for instance  the impulse arising from a collision between two rigid bodies may be expressed far more elegantly in terms of multivector notation than in the conventional formulation. ((4)) The metrical aspect: the necessity for measurement of angle, distance and content has to a large extent been ignored in previous treatments of GA, partly because of insufficient attention to the question of the precise representation mapping the geometry to the algebra. If this is chosen appropriately, any content of a simplex (segment, triangle, tetrahedron) or metrical relation between pairs of subspaces (points, lines, planes) can be elegantly expressed as (more or less) a ratio of two magnitudes of grade vectors from their Clifford product. In order to achieve this, DCQ formalism aims directly at representing isometries, rather than the (unfortunately) customary points: a vector represents (reflection in) the plane whose Cartesian equation coefficients are its components. The 4 anticommuting generators are o,x,y,z with o^2 = 0, x^2 = y^2 = z^2 = 1; Clifford product represents composition of isometries, its highestgrade vector the intersection of subspaces. In detail, the mapping of a real with freedom 1 requires 1 component of grade 4; point 3 4 3; line 4 6 2; plane 3 4 1; scalar volume 1 1 0; proper isometry 6 8 0,2,4; improper isometry 6 8 1,3. Notice that the number of "redundant" components never exceeds 2. Do feel free to fire any further related questions, examples, criticisms or other observations you may have in my general direction  I should welcome the opportunity to consider them, and I intend to inspect the pages you mention in due course. Yours, Fred Lunnon 
By: Nobody/Anonymous  nobody RE: Geometric (Clifford) Algebra 20051110 19:03 
Correction: a combination of proportional spacing, nonfunctioning tab key, and nannying automatic editor has so far frustrated my attempts to typeset an intelligible table. One last try : In detail, the mapping of a real with freedom 1 requires 1 component of grade 4; point  3  4  3; line  4  6  2; plane  3  4  1; scalar volume  1 1  0; proper isometry  6  8  0,2,4; improper isometry 6  8  1,3. Notice that the number of "redundant" components never exceeds 2. Fred Lunnon 
By: Martin Baker  martinbaker RE: Geometric (Clifford) Algebra 20051111 10:57 
Greetings Fred, Thank you very much for this. Please don't feel constrained to keep this short, I find this fascinating, and I welcome as much as you can tell me about this. I would like to improve the web site on this subject and incorporate this information this onto the web site, are you planning to publish this yourself? If not, would it be alright if I include this on euclideanspace.com, I don't want to claim credit for others work so I can credit your contribution as you would like. Yes, you are right, that I was misusing the term 'affine' what I really meant was the sort of transforms which can represent the movement of a solid body, a combination of rotation and translation. I looked up the definitions on MathWorld as follows: "An isometry of the plane is a linear transformation which preserves length. Isometries include rotation, translation, reflection, glides " "An affine transformation is any transformation that preserves collinearity (i.e., all points lying on a line initially still lie on a line after transformation) and ratios of distances (e.g., the midpoint of a line segment remains the midpoint after transformation). In this sense, affine indicates a special class of projective transformations that do not move any objects from the affine space R3 to the plane at infinity or conversely. An affine transformation is also called an affinity. Geometric contraction, expansion, dilation, reflection, rotation, shear, similarity transformations, spiral similarities, and translation are all affine transformations, as are their combinations. In general, an affine transformation is a composition of rotations, translations, dilations, and shears." Perhaps we need an even more restrictive term, which does not allow reflections? I guess the other terminology I need to get clear is 'grade'. Could we define this as the length of the vector part of multivector? So, in the case of grade = 4, if we multiply out all possible combinations using outer product ^ then we get: 0 scalar length = 1 1 vector length = 4 2 bivector length = 6 3 trivector length = 4 4 quatvector length = 1 I need to take a lot longer to work through your message, so I may need to get back to you when I understand more. I guess I need to work out more about the grade 4 algebra when X X^+ = scalar and how exactly we would encode the translation and rotation in this system. I seem to remember somewhere in Hestenes that he said he said that this type of transform requires grade 4 or 5 but I could not find any further explanation so your message really helps. I also seem to remember in Hestenes that he describes the 8 values of grade 3 multivectors as being like 2 quaternions (one quaternion is scalar with bivector, other is trivector with vector). Is DCQ a superset of this? > and I intend to inspect the pages you mention in due course. Don't bother yet, I've had another look at the web pages and realised that I need to do a lot more work on them. I'm very keen to improve them and I would appreciate any help. Thanks again, Martin 
By: Nobody/Anonymous  nobody RE: Geometric (Clifford) Algebra 20051111 14:35 
> ... Is DCQ a superset of this? Let me define a 4component Clifford algebra called "duplex numbers" X = a + b i + c o + d w, where i (iota) is the usual complex generator i^2 = 1, o (omicron) is the null DCQ generator o^2 = 0, and w (omega) = o i =  i o. Then a DCQ is a duplex number whose components are quaternions  or less usefully, a quaternion whose components are duplexes. Omitting o and setting i = x y z, we have the algebra of Hestenes mentioned as a subset [the complex biquaternions, tho' I don't think he uses the term] of DCQ's. However, his representation of the geometry by the algebra is essentially the traditional one based on mapping points to vectors. As I remark elsewhere, in such a system it is difficult to represent translations, as well as to extract metrical information. [Trust me  don't go there!] > Perhaps we need an even more restrictive term, which does not allow reflections? These are what I referred to earlier as "proper" isometries, represented by even DCQ multivectors; those reversing orientation are "improper". At this point it might reasonably be enquired why we should bother with improper isometries at all, since they do not occur in the course of continuous motion of a rigid body. The reasons are firstly, that subspaces are being impersonated by the isometries which fix them, so must include (reflection in) points and planes, which are improper; secondly, that it is necessary for metrical purposes that the x,y,zaxes occur symmetrically, which is impossible using only 3 generators [as in Clifford's original dual biquaternions] without sacrificing translation [as in complex biquaternions]. > I guess the other terminology I need to get clear is 'grade'. Could we define this as the length of the vector part of multivector?" You didn't quite say what you meant here: the grade is the value of k in your kvector, not its length. The term "kvector" seems to have been Hestenes' plausible but rather unwise coinage generalising "bivector, trivector" etc: unfortunately, most people on seeing it would quite reasonably assume that k was the length rather than the grade, and/or finish up confusing the two. [I think you have made my point rather well for me here!] In my own material, "multivector" is shortened to "multor", "kvector" to "grator" for graded vector [multor whose nonzero components all have the same number of generators]. The grade can be specified if required, as "2grator" etc (and it doesn't have to be k!?). So, a 3D line is represented in the DCQ system by a 2grator (grade = 2) with 6 components (length = 6), being the coefficients of o x, o y, o z, z y, x z, z y respectively. > I would like to improve the web site on this subject and incorporate this information this onto the web site ... You are perfectly welcome to quote me verbatim; if however you attempt an independent presentation of the ideas I proposed here, please communicate the results for my approval prior to release. In this area a geometer is more often aware of trying to ram new concepts down reluctant throats, rather than any need to protect priority! > I guess I need to work out more about the grade 4 algebra when X X^+ = scalar and how exactly we would encode the translation and rotation in this system. I have prepared a somewhat skeletal (40 page) manual on DCQ's, targetted specifically at applications in computer graphics, vision and robotics, which I am prepared to release to hardened specialists with a view to improving its barely detectable userfriendliness. I am currently attempting to summon enthusiasm sufficient to incorporate the extensive observations of longsuffering earlier critics into a further expanded draft, which inevitably will continue to fall a long way short of suitability for general consumption. Perhaps when I have done so, you would care to inspect and comment upon it? Yours, Fred Lunnon 
By: Martin Baker  martinbaker RE: Geometric (Clifford) Algebra 20051112 08:12 
> You are perfectly welcome to quote me verbatim; if however you attempt an > independent presentation of the ideas I proposed here, please communicate > the results for my approval prior to release. In this area a geometer is more > often aware of trying to ram new concepts down reluctant throats, rather than > any need to protect priority! Yes I am happy to comply with this, I will put a copy of this thread on the website, in the short term I think I will concentrate on improving the euclideanspace.com web pages in their general explanation of the GA ideas. Although Hestenes and others have done a good job and I would not presume to try to improve on what they have done, I would like the pages to relate and crosslink to the vector and quaternion topics on the site so that people could start by reading about vectors and quaternions and then, if they are interested, they can see how GA can generalise certain concepts. In the medium term I would like the web site to demonstrate how GA can be used for solid body mechanics and I'm happy to work with you in the way you suggest on this. I'll look forward to reading your document. If nothing else I can display my ignorance by asking the silly questions that others may be afraid to, for example, when you define omicron by o^2 = 0 I thought the square root of zero would be zero even for multivectors? (or by 0 do you mean the multiplicative identity 1?) I find it quite interesting that the square root of positive numbers also seems to generate extra dimensions. > You didn't quite say what you meant here Thanks for the kind interpretation of my words! > (DCQ's), a representation by a grade 4 algebra Perhaps if I put it in different terms, just to make sure I have finally got it? This means that it can be generated by 4 basis vectors, e0, e1, e2 and e3 k=0 (scalar) k=1 (e0, e1, e2 , e3) k=2 (e0^e1, e0^e2, e0^e3, e1^e2, e1^e3, e2^e3) k=3 (e0^e1^e2, e0^e1^e3, e0^e2^e3, e1^e2^e3) k=4 (e0^e1^e2^e3) By the way, If anyone else is reading this thread, I am curious to know what level of interest there is in this topic? Martin 
By: Nobody/Anonymous  nobody RE: Geometric (Clifford) Algebra 20051112 12:19 
Dear Martin, > This means that it can be generated by 4 basis vectors, e0, e1, e2 and e3 ... Correct. Just for the record, unlike many of my acquaintences, I consider dealing with "silly questions" a necessary part of the development process: at the very least, they often highlight shortcomings in presentation; and on occasion, they expose major flaws in mathematics. Sadly, it's usually only the experts who have sufficient confidence to ask them, which to some extent defeats the object ... > when you define omicron by o^2 = 0 I thought the square root of zero would be zero ... This is (yet another) unfamiliar feature of Clifford algebras that people, from Hestenes downwards and for a variety of reasons, find disconcerting. And once again, more careful investigation reveals that such attitudes have no relevance to applications. For example, any isometry which has period two  reflection in a plane, half turn about a line, reflection in a point  will be (represented by a DCQ which is) the square root of a scalar, which by rescaling the (homogeneous) multor can be made unity: so in this system +1 must possess a manifold infinity of square roots (and cube roots, etc) of various grades. It is less obvious that divisors of zero are also unavoidable; once this has been accepted, it is largely irrelevant whether one of them happens to be a generator. Hestenes' objection [which he does not trouble to articulaten in his writings] probably arises from his attempt to represent geometric duality via multiplication by the product of all the generators [e.g. X > o x y z X], which easily fails to be bijective when some of these are null. However duality, in a form suitable for geometric computation [as Alan Middleditch has discussed at length, and I discovered painfully in the course of implementing a library], is in any case a much more delicate matter than what amounts merely to reversing the component order. In a similar way, the failure of commutativity for Clifford product is also unavoidable, because the result of composing two rotations (say) depends on the order in which they are taken. When manipulating such expressions, it is no small matter to discipline oneself sufficiently to avoid the assumption of theorems of scalar arithmetic which no longer hold for multors. > I'll look forward to reading your document. Your email address is on my circulation list. It is to be hoped that its presence there will encourage the muse to arise once more from her couch. Yours, Fred Lunnon 
metadata block 

see also:  
Correspondence about this page  
Book Shop  Further reading. Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them. 

Terminology and Notation Specific to this page here: 

This site may have errors. Don't use for critical systems.
Copyright (c) 19982021 Martin John Baker  All rights reserved  privacy policy.