Professional Documents
Culture Documents
Diego Sa
a
PACS : 02.10.Vr
Key words: fourvectors, division algebra, 3D-rotations, 4D-rotations
Contents
1 Introduction
1.1 General . . . . . . . . . .
1.2 The Hamilton quaternions
1.3 The Pauli quaternions . .
1.4 Dirac matrices . . . . . . .
.
.
.
.
.
.
.
.
2 The fourvectors
2.1 Discussion . . . . . . . . . . .
2.2 Complex fourvectors . . . . .
3 Fourvector algebra
3.1 Product with matrices
3.2 The norm . . . . . . .
3.3 Identity fourvector . .
3.4 Multiplicative inverse .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3.5
3.6
3.7
3.8
3.9
3.10
Scalar multiplication . . . . .
Unit fourvector . . . . . . . .
Fourvector division . . . . . .
Right factor of a fourvector .
Left factor of a fourvector . .
Solution of quadratic fourvector polynomials . . . . . . . .
16
7 4 Fourvector rotation
8
4.1 Composition of rotations . . .
9
4.2 Reflections . . . . . . . . . . .
17
20
21
2
2
5
6
6
10 5 Conclusions
12
13
13
13
1
14
14
14
14
15
22
1
1.1
Introduction
General
R
The powerful Mathematica
package
includes a standard algebra package for the
manipulation of the Hamilton quaternions.
I have borrowed from that package the
symbol, as double asterisk, to represent the
fourvector product. It is easy to modify the
cited package to handle the fourvectors, as
In fact those 4D roads should be traveled well as to permit not only their numeric but
only by properly handled fourvectors. It has also symbolic and complex manipulation.
been an old dream to express the laws of Though I have still not been able to figure
1.2
A B = (ab ax bx ay by az bz )+
i (abx + ax b + ay bz az by )+
(7)
j (aby ax bz + ay b + az bx )+
k (abz + ax by ay bx + az b).
(1)
A B =(a b a b, a b + b a + a b)
(9)
5
The Pauli quaternions evidence one difference with respect to the classical Hamilton
quaternions, being the need of matrices,
which in some cases have imaginary units i.
1.3
A B =s4 (ab ax bx ay by az bz )+
s1 (abx + ax b + ay bz az by )+
s2 (aby ax bz + ay b + az bx )+
s3 (abz + ax by ay bx + az b).
(12)
For 2 2 matrices, only three anticommuting matrices exist (the Pauli matrices). Thus the smallest dimension allowed for
the Dirac matrices is N = 4. If one matrix
is diagonal, the others can not be diagonal or
they would commute with the diagonal matrix. We can write a representation that is
hermitian (a matrix is hermitian if it is equal
to the conjugate of its transpose), traceless
(trace equal zero), and has eigenvalues of 1:
i =
0 i
,
i 0
and
The fourvectors
or, assuming that the order of the basis elements is the indicated, those basis elements
can be suppressed and included implicitly in
a notation similar to a vector or 4D point:
A = (at , ax , ay , az )
(i = 1, 2, 3)
I 0
=
0 I
(19)
(15)
(20)
(16)
e2 = i2 = j2 = k2 = e = e i j k
(21)
Finally, we are ready to define the Diracs The following rules are satisfied by the basis
elements:
gamma matrices out of i and :
0 ,
i i (i = 1, 2, 3)
(17)
e i = i e = i,
e j = j e = j,
e k = k e = k,
i j = j i = k,
j k = k j = i,
k i = i k = j.
( i )2 = 1,
(18)
(22)
The group of relations (22) gives an important operational mechanism to reduce any
combination of two or more indices to at most
one.
The e i j k bases characterize the
fourvector product as not commutative but,
7
2.1
Discussion
Tait and Gibbs discussed about the relative merits of the vector product against
the quaternion product. Tait appeared to
gain a slight advantage by pointing out that
quaternion products are associative, whereas
the cross product is not. Tait used the following example to reveal the supposed deficiency
of the vectors [32]:
i (j j) = 0 6= (i j) j = i
(23)
i, j, k = 0, 1, 2, 3
3. More compact (and faster) than matrices. For computation with rotations,
fourvectors offer the advantage of requiring only 4 numbers of storage, compared
with 9 numbers for orthogonal matrices [24]. Composition of rotations requires 16 multiplications and 12 additions in fourvector representation, but 27
multiplications and 18 additions in matrix representation...The fourvector representation is more immune to accumulated computational error. [24].
2.2
Complex fourvectors
4. Every fourvector formula is a proposition in spherical (sometimes degrading to plane) trigonometry, and has the
full advantage of the symmetry of the
method [30].
5. Unit fourvectors can represent a rotation
in 4D space.
6. Fourvectors are important because of
their all-attitude capability and numerical advantages in simulation and
control [28].
Quaternions have been often used in computer graphics (and associated geometric
analysis) to represent rotations and orientations of objects in 3D space. This chores
should be now undertaken by the fourvectors, which are more natural, and more compact than other representations such as matrices, and operations on them such as composition can be computed more efficiently.
Fourvectors, as the previous quaternions,
will see uses in control theory, signal processing, attitude control, physics, and or-
The complex conjugate or hermitian conjugate of a fourvector changes the signs of the
imaginary parts. Given the complex fourvector:
Fourvector algebra
(25)
(26)
A B =e(at bt + ax bx + ay by + az bz )+
i (at bx ax bt + ay bz az by )+
j (at by ax bz ay bt + az bx )+
k(at bz + ax by ay bx az bt ).
(30)
(27)
(29)
Using relations (21) and (22), the fourvector product is given by:
(28)
10
A B = (a b + a b, a b a b + a b) (31)
(33)
(36)
(P Q) P = (P Q) P
(37)
= |P| Q
(r Q) r = Q = (r Q) r
((((Q r) r) r) r) = Q
a (b c) =
(a (b c), a (b c) a (b c) )
(38)
(39)
(40)
(41)
3.1
gives a fourvector with the scalar equal Given two fourvectors, p and q:
p=(p0,p1,p2,p3),
to the scalar of the fourvector product
12
q=(q0,q1,q2,q3),
their product can be obtained as
(a20 + a21 + a22 + a23 )(b20 + b21 + b22 + b23 ) =
R=p**q
(a0 b0 + a1 b1 + a2 b2 + a3 b3 )2 +
The same product can be obtained multiply(a0 b1 a1 b0 + a2 b3 a3 b2 )2 +
ing the following matrix P by the (four)vector
q:
(a0 b2 a1 b3 a2 b0 + a3 b1 )2 +
(a0 b3 + a1 b2 a2 b1 a3 b0 )2
q0
p0
p1
p2
p3
(45)
p1 p0 p3 p2 q1
R=
p2 p3
p0 p1 q2
3.3 Identity fourvector
q3
p3 p2 p1
p0
The P matrix has the property
P PT = PT P = I, where T represents
the transpose and I is the identity matrix.
(More precisely the diagonal elements have
the form: p0 2 +p1 2 +p2 2 +p3 2 , which are equal
to 1 only if p is a unit fourvector; else, in
the diagonal is obtained the norm of the p
fourvector).
3.2
The norm
p**1 = p
As you can see, this is the left identity. It is
possible to find the right identity of a fourvector but it is a little more complex. See the
section Right factor of a fourvector.
(42) 3.4
Multiplicative inverse
It can be computed as the scalar component The multiplicative inverse or simply inverse
of a fourvector P is denoted by P1 .
of the product of the fourvector by itself.
The norm satisfies the properties
The inverse of a fourvector P is the same
fourvector
divided by its norm:
|A| = |A|
(43)
P1 = P/|P|
(46)
(44)
13
a = (cos(), sin(), 0, 0)
(P1)1 = P
1
1
1
b = (cos(), sin(), 0, 0)
(P ** Q) = P ** Q
1
1
P = (P)
Its product is
Commutativity of products including
a**b = (cos( ), sin( ), 0, 0)
inverses:
so, if a = b, then the resulting fourvector
P ** (P1 ** Q) = P1 ** (P ** Q)
1
1
is the identity fourvector.
(P ** Q) ** P = (P ** Q) ** P
1
Q = P**(P1 ** Q) = P **(P ** Q)
The inverse of a unit fourvector is the same
Q = (P1 ** Q)**P = (P ** Q)**P1
unit fourvector. This is because the product
of the fourvector by itself produces the identity fourvector, or the norm, equal to 1, in
the scalar component.
3.5 Scalar multiplication
Scalar multiplication If c is a scalar, or a
scalar fourvector, and q=(a, v) a fourvector,
then c q = (c, 0) q = (c, 0) (a, v) =
(ca + 0 v, cv a0 + 0 v)
Simplifying:
c (a, v) = (ca, c v)
3.6
3.7
Unit fourvector
Fourvector division
P Q/|Q| = P Q1
If P and Q are parallel vectors (pure
fourvectors or with scalar part equal to zero),
then the division produces, in the scalar part,
the proportion between both vectors. For example:
P=(1, 2, 3, 4)
Q=(3, 6, 9, 12)
P Q/|Q| = (1/3, 0, 0, 0)
where u
is in general a 3D vector of unit
3.8 Right factor of a fourvector
length.
Let us try to solve the following equation for
X
The product of two unit fourvectors:
A == B ** X
Assume the unit fourvectors a and b:
14
Y = Hprod[A, B1 ]
A=(a0,a1,a2,a3)
B=(b0,b1,b2,b3)
X=(x0,x1,x2,x3)
Where the components can be integer, rational, real or complex.
The solution for X can be obtained with
the expression
X = B 1 A
(47)
(48)
39
50
29
19
11
i 25
, 25
+ i 11
, 50
+ i 21
)
50
25
15
fourvectors
From here, the four equations, obtained
Where Hprod is the Grassman product. equating the four components, are:
L = Hprod[(p r) r], p1 ]
3.10
q1 = (0, 1 i/ 2, i/ 2, 0)
q2 = (0, 1 + i/ 2, i/ 2, 0)
(49)
(50)
q**q+q**j==k
q**q + j**q==k
where:
Which, replacing in
(51)
(52)
q ** q + j ** q
(-1,0,0,1)
Fourvector rotation
foundation of modern inertial guidance systems in the aerospace industry for the orientation or attitude of satellites and aircrafts.
This task is to be shown in the following that
should be carried out by fourvectors.
Many graphics applications that need to
carry out or interpolate the rotations of
objects in computer animations have also
used quaternions because they avoid the
difficulties incurred when Euler angles are
used. The form to replace by fourvectors is
not performed in the present paper, although
it should be perfectly possible.
The use of matrices is neither intuitive for
the localization of the axis of rotation nor
efficient for computation. But one of the
most important disadvantages is the associativity of both the matrix and Hamiltons
quaternion products where, for example,
A (B C) is equal to (A B) C. In fact it
is rather well known that the composition of
rotations, when either matrices or Hamilton
quaternions are used, is associative. This
means that these mathematical tools produce
the same result no matter what the grouping
of a sequence of two or more rotations. This
poses a serious technical problem to the
engineers who need to distinguish between
two sequences of the same rotations. To
illustrate with an example, let us assume
that you are piloting an airplane with a local
frame of reference whose origin is attached
at the center of the airplane. Assume that,
at a certain instant, the x axis, which is
pointing toward the front of the plane, is
horizontal according to an observer in the
earth, let us say directed toward the North
17
(54)
the multiplication of the fourvector being rotated by unitary fourvectors a and b, effects
an orthogonal transformation.
This form can be simplified so instead of two
different unitary fourvectors is selected only
one, let us name it r.
v = ucos + n(n u)(1 cos) + (n u)sin
A possible fourvector r that produces the
(53)
rotation of any fourvector V about a certain
axis n, through an angle , has the form
([24], [5], [12] [15], [19], [9]):
To rotate a vector u around an Euler vector
n through an angle , one has to apply the
following equation (see Fig. 1 and references
[24], [28]):
r = (cos( ), n sin( ))
2
2
Figure 1: Graphic of a rotation
(56)
(57)
According to Silberstein, [26]: It has been The rotation operand needs to be conjugated.
remarked by Cayley, as early as in 1854, that This is different with respect to the rotation
18
using Hamilton quaternions [26], where the qi qi = 1, and cause rotations about the
inverse or the conjugate of the second rotor x axis:
is needed.
Fig. 2 shows the vector V rotated around
the unit vector k, through an angle , with
q1 = (cos(/2), sin(/2), 0, 0)
(60)
rotor r. The rotation operator is linear. It
q2 = (cosh(/2), i sinh(/2), 0, 0) (61)
r
r
+1
1
q3 = (
,i
, 0, 0)
(62)
2
2
where is the Lorentz contraction factor.
The rotation fourvector q3 was obtained by
transforming the following fourvector
( , i , 0, 0)
in such a way that it produces a rotation
of half the hyperbolic angle, as with q2 .
Let us multiply any one of the previous
fourvectors by the following one that represents a differential of interval:
ds = (c dt, i dx, i dy, i dz)
Figure 2: Example rotation
Rotate[ds, qi ] = qi (ds qi )
(63)
can be proved that the rotation of either the
product or the sum of two fourvectors s and t
where qi is anyone of the above list of unit
with the rotor r, is the same as, respectively,
the product or the sum of the rotations of fourvectors.
Then, the norm of the result is the square of
each fourvector:
the differential of interval:
ds2 = c2 dt2 - dx2 - dy2 - dz2
Rotate[s t, r] Rotate[s, r] Rotate[t, r]
This means that any one of these trans(58)
Rotate[s + t, r] Rotate[s, r] + Rotate[t, r] formations (rotations) preserves the interval
(59) invariant.
But first the rotation of a real fourvector
Let us define the following example rotation a = (at , ax , ay , az ) with the rotor q1 produces
fourvectors, or rotors, whose norm is the unit: the classical formulas for rotation of a vector
19
(64)
4.1
(67)
Composition of rotations
(65)
(66)
Let us apply these rotors over the fourvector M=(a,b,c,d) with the operation:
M1 = Rotate[M, roth1]
(70)
(71)
r = (cos(/2), 0, 0, sin(/2))
Then the double rotation:
r (r (a r) r)
Is equal to a single rotation through the
double angle 2. The result is:
20
roth = cosh(
+
+
), i sinh(
), 0, 0
2
2
(73)
4.2
Reflections
Figure 3: Reflection
Figure 4: Reflections
Hestenes [15] shows other applications
for rotations and reflections, for example
in crystals. Note that in his geometric
algebra Hestenes needs the negative sign
that we dont need.
21
Conclusions
References
[1] G. Aragon, J.L. Aragon and M.A.
Rodrguez. Clifford algebras and geometric algebra. Advances in Applied Clifford
Algebras 7 No. 2, 91-102. 1997.
[2] John C. Baez. The Octonions.
At
Cornell
University
arXiv:
math.RA/0105155 v4. May 16, 2001.
[3] R. G. Beil and K. L. Ketner. Peirce,
Clifford, and Quantum Theory. International Journal of Theoretical Physics,
Vol. 42, No. 9. September 2003.
[5] Erik Dam, Martin Koch and Martin Lillholm. Quaternions, Interpolation and
Animation. Technical Report DIKUTR-98/5. Department of Computer Science. University of Copenhagen. Denmark. July 17, 1998.
[8] Chris Doran & Anthony Lasenby. Geometric algebra for physicists. Cambridge
University Press. 2003.
[9] Daniel Fontijne. Rigid body simulation [15] John Hart, et al. Visualizing Quaternion
Rotation. ACM Transactions on Graphand evolution of virtual creatures. Masics, Vol. 13, No 3, Pages 256-276. July
ters Thesis Artificial Intelligence. Uni1994.
versity of Amsterdam. August 2000.
[16] David Hestenes. Space-Time Algebra.
[10] J. D. Gibbon and D. D. Holm.
Gordon and Breach, New York, 1966.
Lagrangian
particle
paths
&
ortho-normal
quaternion
frames. [17] David Hestenes and Garret Sobczyk.
At
Cornell
University
arXiv:
Clifford Algebra to Geometric Calculus.
http://arxiv.org/abs/nlin.CD/0607020
D. Reidel, Dordrecht, 1984, 1985.
[11] Yves Gingras. What Did Mathe- [18] David Hestenes. Oersted Medal Lecture
2002: Reforming the Mathematical Lanmatics Do to Physics?. Cahiers
[23] R. Mukundan. Quaternions: From Clas- [31] Andre Waser. Quaternions in Electrodynamics. July 4, 2001. AW-Verlag.
sical Mechanics to Computer Graphics,
http://www.aw-verlag.ch
and Beyond. Proceedings of the 7th
Asian Technology Conference in Math[32] Wisnesky, Ryan J. The Forgotten
ematics 2002. Invited Paper. 2002.
Quaternions. June 2004. At URL:
http://www.eecs.harvard.edu/ryan
[24] Eugene
Salamin.
Application of
/stuff/quat.pdf
Quaternions to Computation with
Rotations. Working Paper,
Stanford AI Lab. 1979. At URL: [33] Hitoshi Yamamoto. Quantum field theory for non-specialists Part 1. Chapter
ftp://ftp.netcom.com/pub/hb/hbaker/
3: Dirac theory. Lecture notes. 2005.
quaternion/stanfordaiwp79At URL: http://www.awa.tohoku.ac.jp/
salamin.ps.gz
~yhitoshi/particleweb/particle.html
[25] Cibelle Celestino Silva & Roberto de Andrade Martins. Polar and axial vectors
versus quaternions. Am. J. Phys. 70 (9),
September 2002. pp. 958-963.
[26] L. Silberstein, Ph.D. Quaternionic Form
of Relativity. Phil. Mag. S. 6, Vol. 23,
No. 137, pp. 790-809. May 1912.
[27] Andrew James Sinclair. Generalization
of rotational mechanics and applications
to aerospace systems. PhD Dissertation.
Texas A&M University. May 2005.
[28] Brian L. Stevens, Frank L. Lewis. Aircraft Control and Simulation. 2nd Edition. Wiley. October 2003.
[29] Douglas B. Sweetser. Doing Physics
with Quaternions. 2005. See URL:
http://world.std.com/
sweetser/
quaternions/qindex/qindex.html
[30] Peter Guthrie Tait. Encyclopdia Britannica, Ninth Edition, Vol. XX, pp.
160-164. 1886.
24