Multivectors constitute an attractive alternative to the conventional matrix representations
of transformations in Â^{N}.
We will use uppercase mulitivector labels when we wish to emphasise a multivector's use in this role.
Bivector Transform
¦(a)ºa¿b maps one 1-vector a "into" 2-vector b and rotates by ½p "within" b.
For pure 2-blade b=e_{12}
we have ¦(å_{i} a^{i}e_{i})=-a^{2}e_{1}+a^{1}e_{2}. It provides 1-vector transformations
¦^{k}(a)
º
¦^{k-1}(a)¿b
=2^{-k}å_{i=0}^{k} ^{k}C_{i}(-1)^{i}b^{i}ab^{k-i} .
Lorentz Transforms
We are particularly interested in grade-preserving transformations of multivectors of the form
A(b) º A_{#-1}(x) º Ax(A^{#})^{-1}
; defined to be Ax(A^{#}) when A^{#} is noninvertible;
and their application to the representions for pointsets in Â^{N}.
For invertible k-versor A^{#} = (-1)^{k} A, such transformations satisfy
A(x)¿A(c) = x¿c
and are known as Lorentz transforms, or as isometries of inner product ¿.
They preserve both magnitudes and subtended angles. Because they preserve magntude, null points are mapped to
to other null points and so Lorentz transforms on U_{N}^{%} induce transfroms on U^{N}.
The involution ^{#} ensures that a_{k}(x) = x for any x with
x¿a_{k}=0 (ie. "perpendicular" to a_{k} with xa_{k}=xÙa_{k}=(-1)^{k}a_{k}x)
but means that A(1) = A(A^{#})^{-1} so scalars
are negated for odd A, and multiplied by potentially nonscalar A(A^{#}^{-1})
for mixed A.
If A is even then A(x) = AxA^{-1} = A_{-1}(x) in
Bellian notation
and we have A(bc) = A(b) A(c) .
If A is odd so then A = -A_{-1}.
If follows that for odd or even A we have A(a_{1}Ùa_{2}...Ùa_{k}) = ±
A(a_{1})ÙA(a_{2})Ù...A(a_{k}) with the negative case arising when both
A and k are odd.
[ Proof : Follows from aÙb_{k} = ab_{k} + b_{k}^{#}a
.]
Thus A is an outtermorphism, apart from a possible sign change incurred by the ^{#},
and this means that we can apply A for odd or even A to the pureblade GHC representations
of geometric objects like k-planes and k-spheres to obtain representors for the Lorentz transformed objects.
Clearly (-A)_{#-1} = A_{#-1} and for even A we can often resolve this ambiguity of sign by
specifying A_{<0>}>0.
Also of interest is A_{§}(x) º Ax(A^{§})
with adjoint
A_{§}^{D}(x) = A_{§}^{-1}(x) º (A^{§})xA
if AA^{§}=1.
a_{*}AbxA^{§} =
A^{§}aA_{*}bx
.
For a unit 2k-versor R , since
R^{#} = R and
R^{-1} = R^{§}
we have R = R_{#-1} = R_{§} .
We will show below that b_{§}(a) = bab is a pure 1-vector for any 1-vectors a,b. Since this is also so for scalar b
we have bab^{§} = (bab^{§})_{<1>} for any versor b.
Lorentz transforms preserve orthogonality and since it can be shown
[ Cartan-Dieudonne Theorem ] that any such transform can be expressed as
up to N reflections in hyperplanes, any orthogonality preserving
transform can be expressed as an e_{¥}-preserving rotation R_{§}() where R is a nonnull unit k-versor.
In particular, the orientation of a continuously rotated rigid body in Â^{N} always
has a unit k-rotor representation with k£N.
A standard result of complex matrix theory is that any unitary (U^{^}^{T}=U^{-1})
complex matrix can be expressed
expressed as U=(iH)^{↑} where
H is Hermitian (H^{^}^{T}=H).
Within Â_{4,1}, Hermitian conjugation is
^{†} = ^{§}^{#}^{§} = ^{§}^{[e4]} so even
R with RR^{§}^{[e4]}=1 has a logarithm ih where h^{†}=h.
Any Hermitian h comprises blades of grades <0;1;4;5;8;...> that exclude e_{4} and grades
<2;3;6;7;..> that include e_{4}. Taking i=e_{12345} we see that ih comrpises blaaes of grades
<1;4;5> that include e_{4} and grades <2;3> that exclude e_{4}.
If we further insist ih be even,
we have 4-blades with an e_{4} factor and 2-blades without.
Restricting attention to e_{4}^{*} we see that any even unit rotor R in Â_{4}
can be expressed as an exponentiated bivector.the e
Higher Dimensional Embeddings
Suppose we have extended Â_{N} into Â_{N+p,q,r} with an associated point embedding
¦ : Â^{N} ® Â^{N+p,q,r}.
Any multivector A in Â_{N+p,q,r} represents a transformation
G_{A,¦} : Â^{N} ® Â^{N}
defined by
G_{A,¦}(x) = ¦^{-1}(A¦(x)(A^{#})^{-1}).
In the three embeddings we consider here,
¦^{-1}(sx) = ¦^{-1}(x) for any nonzero scalar s
so we have
A¦(x)(A^{(#)})^{-1} = s(x)¦(G_{A,¦}(x))
where s(x) is a scalar.
The involution ^{(#)} is the "interior" or "unextended" Â_{N} involution operating within Â_{N+p,q,r} rather than
the proper involution ^{#} of Â_{N+p,q,r} ; so that, for example, in the affine model
we take e_{0}^{(#)} = e_{0} rather than e_{0}^{#} = -e_{0}.
Homogeneous Coordinates
A(¦(x))
= A(x+e_{0})
= A(x) + Ae_{0}(A^{(#)})^{-1}
= A(x) + e_{0}A^{#}(A^{(#)})^{-1}
= A(x) + e_{0}
= ¦(A(x))
Affine Model
A(x)
= A(1 + e_{0}x)
= A(A^{(#)})^{-1} + Ae_{0}x(A^{#})^{-1}
= A(A^{(#)})^{-1} + e_{0}A^{#}x(A^{(#)})^{-1}
If A is even/odd we have
A(¦(x)) = ± ¦(A(x)).
Generalised Homogeneous Coordinates
A(¦(x))
= A(x + e_{0} + ½ x^{2}e_{¥})
= A(x) + A(e_{0}) + ½ x^{2}A(e_{¥})
= A(x) + e_{0} + ½ x^{2}e_{¥}
if A is within Â_{N}
= ¦(A(x))
if A is odd or even .
Translations
Translations in Â^{N} can only be represented in Â_{N} by addition of a 1-vector in
the conventional manner.
In some higher dimensional emebeddings we can
exploit the fact that a translation by
displacement vector d is equivalent to reflection in any two hyperplanes normal to d spaced
½ |d| apart.
In particular, the Â_{N} hyperplanes through 0 and then ½d will suffice.
Affine Model
The representor of x - d is
1 + e_{0}(x - d)
= T_{d}(1+e_{0}x)T_{d}
where
T_{d}=(1 - ½ e_{0}d)=(-½e_{0}d)^{↑} has
T_{d}^{2} = T_{2d}
and T_{d}^{(#)}T_{d} =
T_{d}^{§}T_{d} =
T_{d}^{§}^{#}T_{d} =
1.
[ Proof :
(1-½ e_{0}d)(1+e_{0}x)(1-½ e_{0}d)
= (1-½ e_{0}d)(1+e_{0}x-½ e_{0}d)
= (1+e_{0}x-½ e_{0}d - ½ e_{0}d)
= 1 + e_{0}(x - d) .]
We have T_{d}^{-1} = (1 + ½ e_{0}d) = T_{-d}
and T_{d}^{(#)} = T_{-d} = T_{d}^{§}
so we have
T_{d}^{#} ^{-1} = T_{d} for all d in Â_{N}.
If B is any Â_{N} multivector representing an "origin centered" transformation of
Â^{N} we can represent the associated operation centered at d with
T_{-d}BT_{d} . If B is even we have
T_{-d}BT_{d}
= (1+½ e_{0}d)B(1-½ e_{0}d)
= B - ½(Be_{0}d-e_{0}dB)
= B + ½ e_{0} (dB - Bd)
= B + ½ e_{0}(d × B) .
Generalised Homogeneous Coordinates
The representor of x + d
is T_{d}xT_{d}^{§}
= T_{d}xT_{d}^{(#)}
where even T_{d} º (1+½ e_{¥}d)
= (½e_{¥}d)^{↑} = (-½de_{¥})^{↑}
has
T_{d}^{2} = T_{2d}
and T_{d}^{(#)}T_{d} =
T_{d}^{§}T_{d} =
T_{d}^{§}^{#}T_{d} =
1.
[ Proof :
(1-½e_{¥}d)(x+e_{0}+½e_{¥}x^{2})(1+½e_{¥}d)
= (1+½de_{¥})(x+e_{0}+½e_{¥}x^{2})(1-½ de_{¥})
=
(x+e_{0}+ ½e_{¥}x^{2} + ½ de_{¥}x + ½ d(-1+e_{¥0}))
(1-½de_{¥})
=
x+e_{0}+ ½e_{¥}x^{2} + ½ de_{¥}x - ½d + ½de_{¥0}
- ½(xde_{¥} + e_{0}de_{¥} - ½d^{2}e_{¥} - ½d^{2}e_{¥})
= x+e_{0}+ ½e_{¥}x^{2} + ½ de_{¥}x - d - ½xde_{¥}
= x-d+e_{0}+ ½e_{¥}x^{2} - ½(dx+xd)e_{¥}
= x-d + e_{0} +½(x-d)^{2}e_{¥}
.]
We can thus represent translations with spinor transforms that preserve the e_{0} coordinate (s(x)=1). As with the affine model, we have
(T_{d}^{(#)})^{-1} = T_{-d}^{-1} = T_{d}
(since ^{(#)} preserves e_{¥}) for any d Î Â_{N}.
If B is any Â_{N} multivector representing an "origin centered" transformation of
Â^{N} we can represent the associated operation centered at d with
T_{-d}BT_{d}. If B is even we have
T_{-d}BT_{d}
= B + ½ e_{¥}(d × B).
Note that (1+½ e_{¥}d)e_{¥}(1-½ e_{¥}d)=e_{¥} so e_{¥} is preserved by translations while (1+½ e_{¥}d)e_{0}(1-½ e_{¥}d) = d+e_{0}+½d^{2}e_{¥}.
Note that
since e_{¥0} and e_{¥}d anticommute we have
(½e_{¥}d)^{↑}
= (½e_{¥}d-½+½e_{¥0})^{↑}
= (-½)^{↑}(½e_{¥}d+½e_{¥0})^{↑}
= (-½)^{↑}(½e_{¥}d+½e_{¥0})^{↑}
= (-½)^{↑}( cosh(½)+2(½e_{¥}d+½e_{¥0}) sinh(½)
= ½(1+(-1)^{↑}) + (½e_{¥}d+½e_{¥0})(1-(-1)^{↑})
.
Reflections
Consider the transformation
Reflect_{bl}(x)
= ¯_{bl}(x) - ^_{bl}(x)
= 2¯_{bl}(x) - x
where b_{l} is a nondegenerate m-blade.
Reflect_{bl}(x)
= (x¿b_{l})b_{l}^{-1} - (xÙb_{l})b_{l}^{-1}
= ((½(xb_{l}-b_{l}^{#}x) - (½(xb_{l}+b_{l}^{#}x))b_{l}^{-1}
= -b_{l}^{#}xb_{l}^{-1}
= -b_{l}xb_{l}^{#}^{-1}
.
[ b(x) = ^(x,b) - ¯(x,b) corresponds to a rotation of subspace
b by p ],
In particular:
Reflection in the 2-plane (bivector) b is given by
Reflect_{b}(x)
= -b(x) = -bxb^{-1} = -bxb^{§}
;
Reflection in the hyperplane through 0 perpendicular to unit vector
n is given by
Reflect_{n*}(x) =
-nxn = n(x).
[ Verification : -nxn
= -(nx)n = -(nx)n^{-1}
= -(n¿x + nÙx)n^{-1}
= -(n¿x)n^{-1} + (xÙn)n^{-1}
= -¯_{n}(x) + ^_{n}(x) ]
When n^{2}=-1 we have -nxn = ¯_{n}(x) - ^_{n}(x) .
To reflect in a displaced subspace we apply a translation bringing the subspace
to the origin, reflect, and then reverse the translation.
Null Reflection Rule
For any nullvector s , s_{§}(b) = s_{=}(b) º sbs
= 2(s¿b)s We will call this the null reflection rule.
[ Proof : Trivially true for scalar b. True for 1-vectors since
s(bÙs) = s¿(bÙs)
= (s¿b)s - (s¿s)b = s(s¿b)
Þ sbs = s(b¿s+bÙs)=2s(b¿s).
True in particular (zerovalued) for b_{2} = e_{-}u which anticommutes with s.
Thus the result holds " b Î e_{-}u . Also true for any b_{k}Î(e_{-}u)^{*}
since then sb_{k}=(-1)^{k}b_{k}s. For other b_{k}, ^(b_{k},(e_{-}u)^{*}) is a blade of
grade <k so we can inductively assume the result for it.
Whence sb_{k}s = s(^(b_{k},(e_{-}u)^{*})+¯(b_{k},(e_{-}u)^{*})s
= s^(b_{k},(e_{-}u)^{*})s
= 2(s¿^(b_{k},(e_{-}u)^{*}))s
= 2(s¿b_{k})s
.]
In particular,
s_{§}(b_{2}) = 2(s¿b_{2})Ùs .
We also have the null reflected 2-blade rule
sabs = s(aÙb)s = sbsa - sasb .
[ Proof :
sabs
= sbsa + sabs - (sbs)a
= sbsa + sabs - 2(s¿b)sa
= sbsa + sa(bs-2(s¿b))
= sbsa + sa(-sb)
.]
Affine Model
-n(1+e_{0}x)n
= -1 + e_{0}nxn
= -1 - e_{0}x'
Reflection in a hyperplane having normal
n passing through mn has versor representative
T_{-mn}nT_{mn}
= (1+½ e_{0}mn)n(1-½ e_{0}mn)
= (1+½ e_{0}mn)(n+½ e_{0}m)
= n + me_{0}.
Generalised Homogeneous Coordinates
Reflection in a hyperplane having normal
n passing through mn has versor representative
T_{-mn}nT_{mn}
= (1+½ e_{¥}mn)n(1-½ e_{¥}mn)
= (1+½ e_{¥}mn)(n+½ e_{¥}m)
= n + me_{¥}.
Shears and Strains
S_{a,b}(x) º x + (x¿a)b
with S_{a,b}^{-1}(y) = y - (1+a¿b)^{-1}(y¿a)b
= S_{-(1+a¿b)-1a,b}(y)
constitutes a shear in plane aÙb when a¿b=0
sending aa+bb+gc to
aa + (b+aa^{2})b + gc where c Î (aÙb)^{*} ;
and a strain along a when b=la , sending
aa+gc to
a(1+la^{2})a + c where c Î a^{*} .
Any linear transformation can be expressed as a succession of reflections and shears.
More generally, defining
S_{a,b}(x) º x + bÙ(a¿x)
we have
S_{a,b}(x_{k})ÙS_{a,b}(c) = S_{a,b}(x_{k}Ùc)
[ Proof :
x_{k}Ùc + bÙ(a¿x_{k})Ùc + x_{k}ÙbÙ(a¿c)
= x_{k}Ùc + bÙ((a¿x_{k})Ùc + (-1)^{k}x_{k}(a¿c))
= x_{k}Ùc + bÙ(a¿(x_{k}Ùc))
by the Expanded contraction rule
a¿(b_{k}Ùc) = (a¿b_{k})Ùc + (-1)^{k}b_{k}Ù(a¿c).
.]
and
S_{a,b}^{-1}(y) = S_{-(1+a¿b)-1a,b}(y) for a¿b¹-1.
S_{c,d}(S_{a,b}(x)) = x + bÙ(a¿x) + dÙ(c¿(x + bÙ(a¿x)) = x + bÙ(a¿x) + dÙ(c¿x) + dÙ(c¿(bÙ(a¿x)))
S_{c,d}(S_{a,b}(x))
= x + b(a¿x) + d(c¿x + (c¿b)(a¿x))
= x + (b+(c¿b)d)(a¿x) + d(c¿x)
Rotations
Let a and n be N-dimensional vectors with a^{2} = n^{2} = ±1.
If a¹-n, the rotation with axis through 0 taking n to a can be considered as a reflection in the
hyperplane r.(a+n) = 0 followed by reflection in the hyperplane r.a = 0.
We can thus express the rotation geometrically as
Rotate_{n,a}(x) = a^{-1}((n+a)~)^{-1}x((n+a)~)a
= a((n+a)~)x((n+a)~)a
= R_{n®a}xR_{n®a}^{§} ,
Now R_{n®a} = a(n+a)~
= |n+a|^{-1}(1 + cosq + sinq(aÙn)^{~})
= (½q(aÙn)^{~})^{↑}
is a unit 1-rotor, with q the scalar angle subtended between n and a.
Since R_{n®a}R_{n®a}^{§} = 1 we have
Rotate_{n,a}(x)Rotate_{n,a}(y)
= Rotate_{n,a}(xy)
so we can use Rotate_{n,a} to rotate multivectors.
If a^{2} = n^{2} = 1 we have a(n+a)~ =
(1+an) / Ö(2+2a.n) .
If a^{2} = n^{2} = -1 we have
a(n+a)~
= (-1+an) / Ö(2-2a.n) .
Any sequence of k such rotations can be represented by a k-rotor given by the geometric product of the
contributory 1-rotors, this product being itself an even unit versor. Thus a rotor can also specify an N-D orientation.
The operation a_{-1}(b) = aba^{-1} is called rotation
by rotor a.
Geometrically, a rotation corresponds to a sequence of 1-rotor rotations and so can also
represent the orientation of a rotated rigid N-D body or reference frame.
For N=3, any bivector is a 2-blade so every even multivector
has form a + aÙb = a((a-a¿b)a/a^{2} + b) ,
hence every even 3D multivector is a 2-versor and a 1-rotor.
For general N we have
na
= (a.n) + nÙa.
= (a.n) + |nÙa|b
where b = (nÙa)^{~} = (n×a)^{~} an even unit bivector with b^{2}=-1.
Writing f = cos^{-1}(n*a) for the angle subtended by unitvector n and a we have
na = |a|( cosf + b sinf) = |a|e^{bf}
We can thus express any vector a in the form
(nn)a
= n(na)
= |a|ne^{(nÙa)~f}
where n is a given ("base direction") unit vector.
Let b be a unit bivector (b^{2} = -1).
Since b=-b^{#}^{-1} we have
-byb = b(y) =
^(y,b)-¯(y,b)
and b¯(y,b) = b(y¿b) = -y¿b.
Consider
R_{b,q, f}(y) | º | e^{qb}y e^{fb§} = ( cosq+ sinqb)y( cosf- sinfb) = ... [algebra ommitted] ... |
= | cos(q+f)¯(y,b) - sin(q+f)y¿b + cos(q-f)^(y,b) - sin(q-f)^(y,b)b^{-1} . |
In N=3, all rotors are unit magnitude scalar-bivector pairs. There is an equivalence between orientations and scaled-directions. Any orthornmal coordinate frame can be characterised by three Eulerian angles or by a unit Â_{3} rotor. Because there are as many bivectors as 1-vectors, orientations and scaled-directions require the same number of variables to specify (eg. three Eulerian angles). When multiplying rotors, the result as an even multivector is constrained to a 3D space.
The rotor for a rotation by angle |a| about axis 0 + la
is thus the q=½ |a| spinor for the 2-plane a^{*} = -ia.
R_{a, 0} = e^{-½ia} = cos(½|a|) - ia/|a| sin(½|a|).
All 3D rotations preserving 0 have this form.
Applying such a rotor (sparsity 4) twice to a vector (sparsity 5) by twice
calling a general geometic product routine incurrs 28 nonzero multiplications.
Computationally, this operation is precisely equivalent to a rotation by quaternian so
a specific routine requires 19Mult. Both of these compare poorly with
the 9Mult for application of a rotation matrix.
However, 3D rotors provide the same advantages over rotation matrices as quaternions do, namely:
For N=p+q=4 we have 4 1-vectors but 6 bivectors . As <0;2;4>-vectors, even versor 4D rotors have a pseudoscalar component, even multivectors
have eight degrees of freedom, seven if normalised.
If i^{2}=-1 (requires q>0) we can express them as a <0;2>-vectors in C_{p,q-1 +}
as a + bb
= ½(a+b) + ½(a-b)b
for plussquare unit 2-blade b , with rapidly computable logarithm
(a+b)^{↓}½(1+b) + (a-b)^{↓}½(1-b) where the
idempotents ½(1±b) commute with eachother
[ The scalar part being determined by required unit magntude from bivector and pseudoscalar ]
R_{b,q, f}(y) as defined above
corresponds to a simultaneous rotation of 2-plane b by q+f and
the orthogonal 2-plane b^{*} by q-f.
All 4D rotations preserving 0 have this form. In particular,
x ® e^{qb}x = R_{b,q,0}(x) corresponds to
rotation of 2-planes b and b^{*} by q,
x ® xe^{qb} = R_{b,0,q}(x) corresponds to
rotation of 2-planes b by q and b^{*} by -q,
We can represent any unitvector a Î Â^{4} by the <0;2>-vector 2-versor
ae_{4} = a¿e_{4} + aÙe_{4}
= e^{aa} º (aa)^{↑}
where a=(aÙe_{4})~ is a unit 2-blade and a = cos^{-1}(a¿e_{4}).
Note that e_{4} anti-commutes with a.
We also have a = (a½a)^{↑}e_{4}(a^{§}½a)^{↑}
This represents each point of the unit 3-sphere (ie. the unit sphere in 4D) by a zero-centred rotation that
takes the "preferred" or "polar" direction e_{4} to a.
Once again we encounter quaternions, this time as rotational representors for 4D points.
Letting a=(aÙe_{4})~ and a= cos^{-1}(a¿e_{4}) so that
ae_{4} = (aa)^{↑} we have
R_{b,b, q,f}(e^{aa}) | = | ( cosq+ sinqb)ae_{4}( cosf- sinfb) = (( cosq+ sinqb)a( cosf+ sinfb))e_{4} |
= | R_{b,q,-f}(a)e_{4} |
R_{b,c,b,g}(y) | º | e^{bd}ye^{gc} = e^{dd} e^{gc} e^{dd§} ye^{gc} | = | e^{dd}R_{c,c,g,g} (e^{dd§}y) = e^{dd}R_{c,g,-g} (e^{dd§}y) |
Generalised Homogeneous Coordinates
We have seen that the Â_{N+1,1} 1-vector s=c-½ r^{2}e_{¥}
represents a sphere or radius r centre c in Â^{N}. What happens if we reflect in such a 1-vector?
It can be shown that
-sxs
= -i^{2}s^{*}xs^{*}
= ((x-c)/r)^{2}(g(x)+e_{0}+½ g(x)^{2}e_{0})
where g(x)=(r^{2}/(x-c)^{2})(x-c)+c is known as
inversion in the sphere centre c radius r. Inversion takes c+ln
to c + l^{-1}r^{2}n so mapping the exterior of the sphere into its interior, and vice
versa.
Thus if a_{k+2} represents a k-sphere then -a_{k+2}xa_{k+2}^{#}^{-1} prserves xÎa_{k+2} and acts as reflection (inversion)
in the k-sphere over k-plane xÎe_{¥}Ùa_{k+2} . It also embodies a reflection in the k-plane e_{¥}Ùa_{k+2} .
This also holds if a_{k+2} representsd a k-plane and we can formulate the notion of a generalised rotation consisting
of an even number of successive reflections in k-planes and k-spheres. In general, blades
a_{k+2} and B_{l+1} will intersect and it is natural to think of
a_{k+2} Ç B_{l+1} as the "axis" of rotation (a_{k+2}B_{l+1})_{#-1} . If there is no intersection then the trsnform may includes a translation
component, eg. when successively reflecting in two parallel hyperplanes.
Transversion
A transversion by displacement d is an inversion in the unit hypersphere e_{+}^{*},
followed by translation by d, followed by another inversion in e_{+}^{*}.
In GHC we can form this as
Lorentz form
x ®
(e_{0}-½e_{¥})(1+½e_{¥}d)(e_{0}-½e_{¥})
x
(e_{0}-½e_{¥})(1-½e_{¥}d)(e_{0}-½e_{¥})
=
(1+½e_{0}d)
x
(1-½e_{0}d)
so transversion by d has Lorentz spinor form (1+½e_{0}d)_{§}=(½e_{0}d)^{↑}_{§}.
Dilation and Involution
"Rescaling" of Â^{N} is only representable as a Lorentz form
in Â_{N+1,1}.
Generalised Homogeneous Coordinates
Consider
(fe_{¥0})^{↑} º e^{e¥0f} º cosh(f)+ sinh(f)e_{¥0}.
(fe_{¥0})^{↑}_{§}(e_{0}) º
e^{e¥0f}e_{0}e^{-e¥0f}
= ( coshf+ sinhf)e_{0}( coshf- sinhfe_{¥0})
= ( coshf+ sinhf)( coshf+ sinhf)e_{0}
= e^{2f}e_{0}.
Similarly e^{e¥0f}e_{¥}e^{-e¥0f}
= e^{-2f}e_{¥}.
Thus e^{e¥0f}xe^{-e¥0f}
= e^{e¥0f}(x+e_{0}+½ x^{2}e_{¥})e^{-e¥0f}
= x + e^{2f}e_{0} + ½x^{2}e^{-2f}e_{¥}
= e^{2f}(
e^{-2f}x + e_{0} + ½(e^{-2f}x)^{2}e_{¥})
= e^{2f}¦(e^{-2f}x).
Hence the multivector
D_{l}
= (-½ e_{¥0} ln(l))^{↑}
= ½l^{-½}((1+l) + e_{¥0}(1-l))
corresponds to the dilation
g(x) = lx for l > 0.
Since e_{¥0}¦(x)e_{¥0} = x - e_{0} - ½ x^{2}e_{¥} = -¦(-x) we can dilate by
-l < 0 with
D_{-l} = e_{¥0}(-½ e_{¥0} ln(l))^{↑}
= ½l^{-½}((1-l) + e_{¥0}(1+l)) .
Perspective Projection
Perspective projection into the z=h plane p ® h(e^{3}¿p)^{-1}p
can be expressed in GHC somewhat inefficiently as p ®
e^{¥}¿( (e_{¥}Ùe_{0}Ùp)Ç(e_{¥}Ù(e_{0}+he_{3})Ù(e_{3}^{*})))
= -e_{0}¿((e_{¥0}p)Ç(e_{¥}(e_{0}+he_{3})(e_{3}^{*})))
but noting that perspective projection into z=h corresponds to dilation by h(e^{3}¿p)
then assuming e^{3}¿p>0 perspective projection is provided by the rotor application
(-½e_{¥0}((e^{0}¿p)^{-1}(e^{3}¿p)^{-1}h)^{↓})^{↑}_{§} provided h>0
-=(-½e_{¥0}(h^{↓} - (e^{0}¿p)^{↓} - (e^{3}¿p)^{↓})^{↑}_{§} provided h>0
or
(e_{¥0}(-½e_{¥0}((e^{0}¿p)^{-1}(e^{3}¿p)^{-1}h)^{↓})^{↑})_{§}
when h<0. Note that unlike all the perviosuly discussed transformation rotors, this one depends on the p to which it is to be applied.
Summary of GHC Transformations
Transform [ A_{^}(x) º AxA^{^} ] | Effect | s(x) |
(½e_{¥}d)^{↑}_{§} | Translation by dÎi | 1 |
(½e_{0}d)^{↑}_{§} | Transversion by dÎi | 1 |
(-½fe_{¥0})^{↑}_{§} | Dilation (scaling) by f^{↑} | (-f)^{↑} |
(e_{¥0}(-½fe_{¥0})^{↑}))_{§} | Dilation (scaling) by -f^{↑} | -(-f)^{↑} |
((½q(aÙn)^{~})^{↑})_{§} | Minimal rotation taking n to a | 1 |
((-½iqa)^{↑} + ½e_{¥}(c × (-½iqa)^{↑})_{§} | Rotatation of q about axis c+la (assuming a^{2}=1) | 1 |
R_{§} | Rotatation by even rotor R with RR^{§}=1 | 1 |
-(a_{k+2})_{#-1} | Reflection in k-sphere or k-plane a_{k+2} | -1 |
If b^{2}=b^{^}^{2}=-1 then (qb)^{↑}x(qb^{^})^{↑}
= ( cosq+ sinqb)x( cosq+ sinqb^{^})
= ( cosq)^{2}x + ( sinq)^{2}bxb^{^}
+ sin(2q)½(bx+xb^{^})
which we can regard as the natural "subdivision" or "interpolation" of the discrete rotation of x at q=0 to bxb^{^} at q=½p.
When ^{^} is negation we have
(qb)^{↑}x(-qb)^{↑}
= ( cosq)^{2}x
- ( sinq)^{2}bxb
+ sin(2q)(b×x)
= x_{+} + cos(2q)x_{-}
+ sin(2q)bx_{-}
= x_{+} + (2qb)^{↑}x_{-}
where x_{+} commutes with b and
x_{-} anticommutes with b
and x=x_{+}+x_{-}
.
If a^{2}=la and b^{2}=mb then
c(a)=(ab)^{↑}a(-ab)^{↑}
= (1+m^{-1}((am)^{↑}-1)b)a
(1+m^{-1}((-am)^{↑}-1)b) for central a
has c^{2}= lc independant of m and a.
When l=m=1 this is
c(a)= (1+(a^{↑}-1)b)a(1+((-a)^{↑}-1)b
= a+(a^{↑}-1)ba+((-a)^{↑}-1)ab + (a^{↑}-1)((-a)^{↑}-1)bab
If ^{^} is a reversing conjugation that preserves a ,b, and a then
c(a)^{^} = c(-a)
so
½(c(a)+c(a)^{^})
= a+( cosha-1)(ba+ab)+ (a^{↑}-1)((-a)^{↑}-1)bab
and ½(c(a)-c(a)^{^}) = sinh(a)b×a .
For large scalar a we thus have c(a) decomposing as approximately (a)^{↑}(½(ba+ab) - bab) preserved by ^{^} and (a)^{↑}b×a negated by ^{^} .
For a = ai we have
c(a)
=
a + ( cosa-1)(ba+ab) + sinai(ba-ab) +
2(1- cosa)bab .
Example (l(b+e_{¥}d+ge_{¥0}))^{↑}_{-1}
Recall from our discussion of exponentiation that e_{12}+e_{¥}(de_{3}+fe_{1}) + ge_{¥0} = (g+Ai)B where unit A = e_{3} + dg^{-1}e_{¥} (so Ai=e_{¥0}e_{12}+dg^{-1}e_{¥}e_{123}) and B = e_{¥}Ùb = e_{¥}Ù(e_{0}+b) (with b = f(1+g^{2})^{-1}(ge_{1}-e_{2}) + dg^{-1}e_{3} = f(ge_{1}-e_{2})^{~} + dg^{-1}e_{3} ) commute ; providing idempotised form (g+i)½(1+A)½(1+B) + (g-i)½(1-A)½(1+B) - (g+i)½(1+A)½(1-B) - (g-i)½(1-A)½(1-B) . This yields
(l(e_{12}+fe_{1}+de_{3}+ge_{¥0}))^{↑}
= cosh(lg) cos(l)
+ sinh(lg) sin(l)Ai
+ sinh(lg) cos(l)B
+ ((lg)^{↑} sin(l) + (-lg)^{↑} cos(l))ABi
where
AB
= e_{¥}Ù(e_{0}+b)Ùe_{3}
;
ABi
= e_{¥}Ùb' + e_{12}
where b' = f(e_{1} + ge_{2})^{~} = ¯_{e12}(b)e_{12} .
For e_{12}+e_{¥}(de_{4}+fe_{1}) + ge_{¥0} and i = e_{¥0}e_{12345} we have 3-blade
A = e_{345} + dg^{-1}e_{¥}e_{35} (so Ai= e_{¥0}e_{12} + dg^{-1}e_{¥}e_{124})
and 2-blade
B = e_{¥}Ùb where b=f(ge_{1} - e_{2})^{~} + dg^{-1}e_{4}.
so that
AB
= e_{¥}ÙbÙe_{345}
and ABi remains the same.
For the more general (lw+e_{¥}d+ge_{¥0}) we have Ai = e_{¥0}w + g^{-1}e_{¥}(wÙd) = (e_{¥0} + g^{-1}e_{¥}^_{w}(d))w ; B = e_{¥}Ù(e_{0}+b) where b = (1+g^{2})^{-1}(g+w)¯_{w}(d) + g^{-1}^_{w}(d) ; ABi = (1 + e_{¥}¯_{w}(b))w .
Thus, if B^{»} = -B then for l >> 1 , (½l(b+e_{¥}d+ge_{¥0}))^{↑}_{»} will tend to amplify ^_{B}(x) and reduce ¯_{B}(x) . so driving x towards a multiple of ^_{B}(x)½(1-B) , wheras l << -1 drives towards a multiple of ^_{B}x½(1+B). Here ¯ and ^ denote decomposition x = ¯_{q}(x) + ^_{q}(x) into parts commuting and anticommuting with q respectively.
For g=0 we have
(e_{12} + de_{¥3} + fe_{¥1})
= i(1-dA)B
= (i+de_{¥})B
where i=e_{¥0}e_{123}
; A = e_{¥}e_{123} ; and
b = e_{¥03} - fe_{¥}e_{23}
= e_{¥}Ù(e_{0}-fe_{2})Ùe_{3}
, or
i=e_{¥0}e_{12345} and
B = e_{¥0}e_{345} - fe_{¥}e_{2345} = b^{*} + (e_{¥}¯_{b}(d))^{*}
for minussquare e_{4} replacing plussquare e_{3}.
Implementation via idempotentised forms
Suppose we have
a =
a_{00}U_{00} + a_{10}U_{10} + a_{01}U_{01} + a_{11}U_{11}
= (a_{00}+a_{10}+a_{01}+a_{11})
+ (a_{00}-a_{10}+a_{01}-a_{11})A
+ (a_{00}+a_{10}-a_{01}-a_{11})B
+ (a_{00}-a_{10}-a_{01}+a_{11})AB
where U_{00}=½(1+A)½(1+B) ;
U_{10}=½(1-A)½(1+B) ;
U_{01}=½(1+A)½(1-B) ;
U_{11}=½(1-A)½(1-B)
for commuting unit squared A and B and complex a_{ij} for some i commuting with A and B.
Suppose further that we seek to evaluate a_{§}(x) º axa^{§} , equivalent to axa^{§}^{#} if a is even.
In both the above example cases, B negates under ^{§}^{#} and ^{§} and (anti)commutes with ^_{}(p) ( ¯_{B}(p) ) while
A (anti)commutes with ¯_{A}(x) (^_{A}(x))
is preserved by ^{§}^{#} and negated by ^{§} in the 3-blade case (vice versa in the 1-blade case).
7-blade i is presrved by ^{§}^{#} but negated by ^{§}.
Since for even a we can choose either ^{§} or ^{§}^{#} it is natural to favour ^{»}, the reversing conjugation
that negates our choice of i, which will tend to preserve A.
(a_{00}U_{00} + a_{10}U_{10} + a_{01}U_{01} + a_{11}U_{11})x
(a_{00}U_{00} + a_{10}U_{10} + a_{01}U_{01} + a_{11}U_{11})^{»}
=
(a_{00}U_{00} + a_{10}U_{10} + a_{01}U_{01} + a_{11}U_{11})
(¯_{B}(x) + ^_{B}(x))
(a_{00}^{»}U_{01} + a_{10}^{»}U_{11} + a_{01}^{»}U_{00} + a_{11}^{»}U_{10})
= (
¯_{A}¯_{B}(x)(a_{00}U_{00} + a_{10}U_{10} + a_{01}U_{01} + a_{11}U_{11})
+ ^_{A}¯_{B}(x)(a_{00}U_{10} + a_{10}U_{00} + a_{01}U_{11} + a_{01}U_{01})
+ ¯_{A}^_{B}(x)(a_{00}U_{01} + a_{10}U_{11} + a_{01}U_{00} + a_{11}U_{10})
+ ^_{A}^_{B}(x)(a_{00}U_{11} + a_{10}U_{01} + a_{01}U_{10} + a_{11}U_{00})
) ( a_{01}^{»}U_{00} + a_{11}^{»}U_{10} + a_{00}^{»}U_{01} + a_{10}^{»}U_{11} )
=
¯_{A}¯_{B}(x)
(a_{00}a_{01}^{»}U_{00} + a_{10}a_{11}^{»}U_{10} +a_{01}a_{00}^{»}U_{01} + a_{11}a_{10}^{»}U_{11})
+ ^_{A}¯_{B}(x)
(a_{10}a_{01}^{»}U_{00} + a_{00}a_{11}^{»}U_{10} +a_{01}a_{00}^{»}U_{01} + a_{01}a_{10}^{»}U_{11})
+
¯_{A}^_{B}(x)
(|a_{01}|^{2}U_{00} + |a_{11}|^{2}U_{10} + |a_{00}|^{2}U_{01} + |a_{10}|^{2}U_{11})
+ ^_{A}^_{B}(x)
(a_{11}a_{01}^{»}U_{00} + a_{01}a_{11}^{»}U_{10} +a_{10}a_{00}^{»}U_{01} + a_{00}a_{10}^{»}^{»}U_{11})
= ¯_{A}¯_{B}(x)L_{00} + ^_{A}¯_{B}(x)L_{10} + ¯_{A}^_{B}(x)L_{10} + ^_{A}^_{B}(x)L_{11}
for four multivectors L_{_ij} determined by a independant of x.
= (
a_{00}a_{01}^{»}¯_{A}¯_{B}(x)
+ a_{10}a_{01}^{»}^_{A}¯_{B}(x)
+ |a_{01}|^{2}¯_{A}^_{B}(x)
+ a_{11}a_{01}^{»}^_{A}^_{B}(x)
)U_{00}
+ (...)U_{10} + (...)U_{01} + (...)U_{11}
Here ¯_{A}¯_{B}(x)L_{00} abbreviates (¯_{A}(¯_{B}(x)))L_{00} .
For 1-vector A we know ¯_{A}(y) commutes with both A and B so that ^_{B}¯_{A}(y) = 0.
If we are going to compute axa^{§} for multiple x we can compute and store the
L_{00}, L_{10}, L_{10} and L_{11} and use them as right geometric multipliers for the four
¯_{A}¯_{B}(x) , ^_{A}¯_{B}(x), ¯_{A}^_{B}(x), ^_{A}^_{B}(x).
Because we did the ^_{A} and ¯_{A} second,
if we expand the L_{_ij} out in terms of 1,i,A,B,etc. then
the products with the A reduce to either ¿ or Ù.
Alternatively, for k-vector x we can favour four <k;G-k>-vector "idempotent coordinate" left-multipliers for the U_{00},U_{10},U_{01},U_{11} like a_{00}a_{01}^{»}¯_{A}¯_{B}(x) + a_{10}a_{01}^{»}^_{A}¯_{B}(x) + |a_{01}|^{2}¯_{A}^_{B}(x) + a_{11}a_{01}^{»}^_{A}^_{B}(x) where G is the grade of i; easily additively recombined into <k,G-k>-vector left multipliers for 1, A, B, and AB.
We can add and subtract such representations by adding the seperate coordinates, but
multiplications are complicated by the potential non (anti)commutivity of the ¯_{A}¯_{B}(x), ¯_{A}^_{B}(x),... with B.
Next : Multivector Arcana