# What use are left and right contraction?

394 views

### Fred Lunnon

Aug 8, 2016, 6:41:42 PM8/8/16
I occasionally encounter mention of GA operations called "left contraction",
and even less often "right contraction", apparently due originally to
Lounesto.
Most sources seem to agree on the definitions given in
https://en.wikipedia.org/wiki/Geometric_algebra
so I assume these are correct.

And --- while I scratched my head over the reason why my regular tetrahedron
test demo insists that the area of a face is twice the correct value, despite
romping thru the remainder with no trouble --- I thought to exercise my new
Clifford product engine on an efficient implementation of contraction.

But when I come to test that, a major obstacle looms: there is not a single
application in sight! I complained earlier about finding only two for duality,
not having realised how lucky that was ...

LaVille in sect. II.6 of
http://www.math.unicaen.fr/lmno/semana/documents/laville/Chap2ClifAlg.pdf
mentions (left contraction) X _| Y is "adjoint" to X ^ Y (outer product) ,
whatever that means in this context; and quotes the same identity as everyone
else
(X ^ Y) _| Z = X _| (Y _| Z) ,
which is at least testable. [ Also in Dorst & Lasenby 14.2.4 he makes
tantalising reference to an --- apparently very restricted --- connection with
Euclidean duality. ]

So can anyone out there please demonstrate some convincing instances of
actually using L/R contraction?

Fred Lunnon

### Allan Cortzen

Aug 8, 2016, 10:05:27 PM8/8/16
Dorst - Geometric Algebra for Computer Science has many uses for the left contraction, e.g. with projections, duality, divergence and calculation of geometric pruducts.
Some formulas are on the attached p. 605.
The inner product in Hestenes - Clifford Algebra to Geomitric Calculus is a sort of both left and right contraction and used heavily.
The same with Doran & Lasenby -  Geometric Algebra for Physicists.

Fred Lunnon

--
You received this message because you are subscribed to the Google Groups "Geometric_Algebra" group.
To unsubscribe from this group and stop receiving emails from it, send an email to geometric_algebra+unsubscribe@googlegroups.com.
To post to this group, send email to geometric_algebra@googlegroups.com.

Page 605.pdf

### Fred Lunnon

Aug 8, 2016, 10:23:14 PM8/8/16
<<
and quotes the same identity as everyone else
(X ^ Y) _| Z = X _| (Y _| Z) ,
which is at least testable.
>>
Also Suter (p. 24), who garbles the definition of left contraction
anyway (p. 28)
http://www.jaapsuter.com/geometric-algebra.pdf

Unfortunately, this widely-quoted "identity" is obviously wrong ---
eg. if X,Y,Z have grade 2 in some grade 6 algebra, then the LHS vanishes
but not the RHS ! I wonder how many more authors have mindlessly peddled this
canard, without apparently ever stopping to ask themselves if it makes sense!

I'm not sure, but it looks to me as if left contraction might conserve
versors, in the sense that if X,Y are versors then so is X _| Y .
I have not seen this anywhere: is it well-known? Is it obvious? Is it true?

Fred Lunnon

### Allan Cortzen

Aug 9, 2016, 5:23:10 AM8/9/16
A note attached  about the difference between the hestenes' inner product and the contraction and MUCH more about the contraction.

If X,Y  are blades then so is  X _| Y or zero. Regular blades are also versors.
So you have to find a counterexample among not blades OR prove your hypothesis.

inner.pdf

### Fred Lunnon

Aug 9, 2016, 9:05:07 PM8/9/16
Strange to say, the rest of the world was right and I fell on my face ---
not, it must be admitted, for the first time. It transpires that I had
inadvertantly assigned a slightly different meaning to X ^ Y : Dorst's
comprehensive article clarified the misunderstanding.

Though what with X _| Y , X |_ Y , X ^ Y , X dot Y , X * Y , I maybe
shouldn't have started down this particular primrose path at all.
Notation, notation, notation, ...

I did finally manage to test l/r contractions, by doing what I should have
done earlier anyway: implement an alternative naïve version translating the
textbook definition directly word-for-word, then check its results agree with
my previous heroically souped-up version.

Fred Lunnon
>> To post to this group, send email to geometri...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/geometric_algebra.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Geometric_Algebra" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> To post to this group, send email to geometri...@googlegroups.com.

### Fred Lunnon

Aug 10, 2016, 10:28:48 PM8/10/16
Atoning for past sins, not to mention compensating for the undeserved
obscurity of right contraction: to accompany
(X ^ Y) _| Z = X _| (Y _| Z) , Dorst (2.12)
I unveil before the expectant multitudes
X |_ (Y ^ Z) = (X |_ Y) |_ Z
--- proved immediately using Dorst (2.12) and
(X |_ Y)+ = Y+ _| X+ Dorst (2.8)
(unary "+" denotes reversion) --- left and right are actually isomorphic.

There seems to be a good deal more going on here than discussed in Dorst ---

Outer product is associative: X ^ (Y ^ Z) = (X ^ Y) ^ Z
(must be well-known, tho' Dorst doesn't mention it);

Contraction and inner "fat-dot" product are non-associative;

Inner "fat-dot" product does not conserve versors;

*** Contraction and outer product do conserve versors
(if both arguments are versor, so is the result).

The last conjectures look decidedly nontrivial to me, even for X ^ Y ;
as Lanco mentioned earlier, they're straightforward for blades (ie. both
versors and grators), but where does one go from there?

Finally, in my own computations with the Euclidean / projective algebra
Cl(n,0,1) I make heavy use of operator
X v Y == (X~ ^ Y~ )~
(unary "~" denotes dual, pace Dorst!), which is particularly important in
degenerate situations: on blades it corresponds to generic join, dually
to X ^ Y for generic meet. Dorst doesn't seem to recognise this; indeed,
I failed to make much sense of his final section on the topic at all.

Fred Lunnon

### Fred Lunnon

Aug 12, 2016, 2:29:47 PM8/12/16
I conjectured

Contraction and outer product do conserve versors
(if both arguments are versor, so is the result);
Inner "fat-dot" product does not conserve versors.

AC pointed out earlier that "versor" in this context must include zero,
as well as isotropic (null, zero-magnitude) products of vectors.

I have proved this for Cl(n) with n = 3 via brute-force CAS-assisted
algebra, and partially established it for n = 4 . Not convincing evidence
for the general GA so far: counterexamples to the inner product conjecture
occur only for n >= 4 ; counterexamples to ( (X+) X = scalar) implying
(X is versor) occur only for n >= 6 .

Instead I programmed an experiment which constructs pseudo-random real
versors X, Y of maximum odd and/or even grades, and pseudo-random vector
R , then verifies that
Z = X ^ Y , X _| Y , X |_ Y
in turn all satisfy
(Z+) Z = scalar, (Z+) R Z = vector,
to reasonable approximation --- within 1.0E-12 for double-length fl. pt.;
and incidentally that Z = X . Y does not satisfy them.

The experiment supports my conjectures with a single run at n = 12 ---
by itself pretty convincing, I feel. I intend to repeat it a few times,
and for Cl(4, 4, 4) : each run consuming 30 mins hardly encourages
computational prolixity!

The entire source, including GA engine, should be available on github
within days.

Fred Lunnon

### Allan Cortzen

Aug 12, 2016, 6:36:28 PM8/12/16
Definition. A r-versor is a product of r invertible vectors.
That imply under usual mathematical conventions that a 0-versor is 1.

>>>> To post to this group, send email to

>>>> Visit this group at https://groups.google.com/group/geometric_algebra.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups
>>> "Geometric_Algebra" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an
>>> To post to this group, send email to geometric_algebra@googlegroups.com.

>>> Visit this group at https://groups.google.com/group/geometric_algebra.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>

--
You received this message because you are subscribed to the Google Groups "Geometric_Algebra" group.
To unsubscribe from this group and stop receiving emails from it, send an email to geometric_algebra+unsubscribe@googlegroups.com.
To post to this group, send email to geometric_algebra@googlegroups.com.

### Allan Cortzen

Aug 12, 2016, 6:52:49 PM8/12/16
Correction:
Definition. A versor is a product of invertible vectors or a non-zero number.

We therefore have (probably the old disagreement):
As isotropic vectors are not invertible, they are not versors

### Fred Lunnon

Aug 12, 2016, 8:27:29 PM8/12/16
As I've remarked before, the definition you quote (presumably originating
with Hestenes) is initially plausible but clumsy in practice. It worked well
enough in the classical spherical setting --- Cl(n) or Cl(0,n) --- but
once isotropy is involved, it leads to exceptions constantly having to be made,
which complicate statements without actually adding meaning to them.

I did at one stage coin "proctor" for "product of vectors" --- but a
mischievous suggestion that this might lead to members of the list becoming
"proctologists" ensured that it never caught on ... Nowadays I simply state
that my "versors" are products of vectors, and leave it at that. My
impression is that other authors in practice make a similar assumption,
without stating it or perhaps being aware of it.

The situation with zero is intriguing, and hadn't occurred to me earlier.
I cannot see any reason to exclude it from versordom; though curiously its
grade must apparently be negative rather than 0 !

Versor conservation now verified via numerical experiment for Cl(12) and
Cl(4,4,4) . For non-spherical algebras the potential presence of isotropy
reduces numerical stability considerably: the best rounding error I have been
able to achieve for normalised grade-n versors using double fl. pt. arithmetic
is 10^(n-16) . Timing is over an hour per trial for n = 12 , contrary
to previous optimistic estimates.

Fred Lunnon

### Jeremiah Ong

Sep 9, 2019, 2:53:29 AM9/9/19
to Geometric_Algebra
Necroing this thread in case someone else wanders here by a google search or something.

The main intuition I got is that it is needed to have a left and right bilinear operation that produces something akin to the inner product because the dimensionality of the left and right arguments do not necessarily match.

The conventional inner product is also grade lowering, but is not general at all (nor can it be, being symmetric in its arguments). Ergo, the contractions are introduced to complete the algebra. Probably the better head scratcher is where products between arbitrary r-graded elements is geometrically useful. The obvious is computing the dual which is the orthogonal complement of an element in the pseudoscalar volume. The other immediate application is the projection of arbitrary subspaces onto other subspaces.

Another argument for framing the algebra using the contraction is that the contraction is actually bilinear (compared to a projection which is only linear in the element being projected).