Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

How to rotate a frame in 4D Geometric algebra Cl4

Miroslav Josipović, Zagreb, Croatia, 2022

Abstract

The problem of base vectors rotation appeared in the formulation of the theory
of AC circuits in the language of geometric algebra ([4]). In [4], it is shown how to
get the desired rotor in a few steps. Here we show that it is possible to find a 4D rotor
in a closed form.

Keywords: geometric algebra, rotor, spinor, basis frame, AC circuits, Cl4

The rotor must have grades (0, 2, 4) in 4D

Here we denote vectors as v , with the magnitude v , multivectors as M , with the real
norm M (if exists), while the real numbers we denote by letters in italic or by the
Greek letters. To be consistent with [4], for the standard orthonormal basis in Cl4 we
use μ i , i  1, 2,3, 4 .
We want to rotate the basis vectors μ k to get a new basis c k (not necessarily
orthonormal). In geometric algebra, this means that we need to find a rotor R (if
exists) such that
ci  Rμi R† , RR †  1 ,
where R † means the reverse of R . In [1], Ch. 10.3.2, we have ( c k is a reciprocal
frame, see [2])

 
n n

 ck μk   Rμk R†μk  n  2R 2 R†
k 1 k 1
2
 4 R†
4
  , (1)

where R † k
means grade k of R † . In 3D, this formula gives
3
R  1   ck μ k  Σ ,
k 1
where the grade 2 part of Σ squares to a real number (see [2]). Therefore, the real
normalization factor is N  ΣΣ† .
4
The term S   ck μ k has grades (0, 2); however, SS† generally has grades (0,
k 1
4) in 4D. This means that we need to make an extra effort to find a rotor.
Let us consider now the orthonormal frames c k and μ k in 4D Euclidean
vector space. Then
4
S   ck μ k
k 1
and we can write
SS†     I ,  ,  
, I  μ1μ 2μ3μ 4 .
If we define S  s0  s1μ12  s2μ13  s3μ14  s4μ 23  s5μ 24  s6μ34 , μij  μiμ j , si  ,
then
6
   si2 ,   2  s1s6  s2 s5  s3 s4  ,
i 0
which means that     0 . Note that the pseudoscalar I anticommutes with
vectors, but commutes with 2-blades, like μi μ j . We also have I 2  1, I†  I , and
   I    I    2   2  0 .
The rotor in a closed form

With R i  R † i
, R 4  R4 I , R4  , R†  R0  R2  R4 , we can write the expression
(1) as
S  4  4R  R 2  2R 4   4  4R  R†  R0  R 4   4R  R0  R 4  ,
which means
S  R0  R 4   4  R02  R42  R ,
R  S  R0  R 4   M .
Now we have (note that R 4 commutes with S )
MM †  SS†  R0  R 4      I   R02  R42  2 R0 R4 I  .
2

Therefore, for MM† to be a real number, we need


2R0 R4    , R02  R42   .
The solutions are
  2  2   2  2
R4   , R0   ,
2 2
and the real norm is
N   MM†    2   2 ,
which means that the rotor is given by
R  S  R0  R 4  / N .

An example

Consider the orthonormal vectors ci from [4]


c1   μ1  μ 4  / 2 ,

c 2   μ1  2μ 2  μ 4  / 6 ,

c3   μ1  μ 2  3μ 3  μ 4  / 12 ,
c4   μ1  μ 2  μ3  μ 4  / 2 .
The list of the rotor coefficients (generated in Mathematica) is
This rotor is just the reverse of the rotor from [4]. The interested reader can find the
Mathematica notebook 4Drotor.nb at [3].

Rotor decomposition in 4D

Here we use μij  μiμ j .


In 4D, an even multivector has the form
M  m0  m1μ12  m2μ13  m3μ14  m4μ 23  m5μ 24  m6μ34  m7 I ,
which gives
7
MM†   mi2  2  m3m4  m2 m5  m1m6  m0 m7  I     I ,  ,   .
i 0

Note that     0 . For   0 , we have MM †    , which means that for   1


we have a rotor, while for   1 we have a spinor (a rotor with dilatation).
Let us define
M1  a0  a1μ12  a2μ31  a3μ 23 ,
M 2  b0  b1μ 24 , Mi M†i  .
Note that the product M 2 M1 will recover all the six simple bivectors μij from Cl4, as
well as the unit pseudoscalar I. Obviously, we have
M2M1  M2M1   M2M1M1†M†2  ,

which means that the product M 2 M1 is a spinor. After normalization, we get a rotor.
On the other hand, any rotor (spinor) M can be decomposed as M 2 M1 .
If we have two rotors
R1  a0  a1μ12  a2μ31  a3μ 23 ,
R 2  b0  b1μ 24 , Ri Ri†  1,
the rotor R  R 2 R1 means that we first rotate in the plane defined by the bivector
a1μ12  a2μ31  a3μ 23
(every such a bivector can be written as the geometric product of two orthogonal
vectors, see [2]), and then in the plane defined by the bivector μ 24 . Thus, the rotor R
is the product of two simple rotors R1 and R 2 .
In [4], the authors use the bivector μ 34 instead of μ 24 . However, it is easy to
see that we can choose any combination of indices.
Such fluency of calculation and clarity of the geometric interpretation is
difficult to imagine in any other formalism. Geometric algebra is the mathematics of
the future.

Acknowledgment

I would like to thank Francisco G. Montoya for pointing out the problem, as well
as for helpful suggestions for the readability of the text.
Literature

[1] Dorst, Fontijne, Mann: Geometric Algebra for Computer Science,


http://www.geometricalgebra.net, 2007
[2] Josipović, M.: Geometric Multiplication of Vectors: An Introduction to Geometric
Algebra in Physics, Birkhäuser, 2019
[3] Josipović, M.: https://www.researchgate.net/project/Geometric-algebra-base-for-
physics (under Project Log)
[4] Montoya, F. G, Eid, A.H.: Formulating the geometric foundation of Clarke, Park,
and FBD transformations by means of Clifford's geometric algebra, Wiley, 2021

You might also like