CLICAL, a calculator type computer program for vectors, complex numbers, quaternions, bivectors, spinors, and multivectors in Clifford algebras
Department of Mathematics, University of Helsinki
Clifford algebras are used to handle rotations and oriented subspaces. Clifford algebra is a user interface, which provides geometrical insight. However, the actual numerical computations are faster in matrix images of Clifford algebras. CLICAL computer program was developed to enable input-output in Clifford algebras (and fast internal computation in matrices).
CLICAL is intended for researchers and teachers of Clifford algebras and spinors. In research, CLICAL has been applied to verify and falsify conjectures about Clifford algebras. With the help of CLICAL, I have found counterexamples to conjectures and theorems about Clifford algebras. I have used CLICAL to solve problems presented in Usenet newsgroups, for instance about rotations of the 4D Euclidean space R4. In teaching, CLICAL has been used in mathematics and physics courses in the USA, Mexico, Finland and Spain. Take a look at a course delivered with CLICAL. There are competing projects, most notably an online geometric calculator, two symbolic computer algebra packages for MapleV5, one for Mathematica, MatLab geometric algebra tutotial, and C++ Template Classes for Geometric Algebras.
Download a zip-file (120kB) of CLICAL. In Windows Explore, click the file CLICAL (1kB), not CLICAL1 (120kB). In MS-DOS, type
> get guide
In Macintosh, you need Windows and MS-DOS emulators, and possible upgrading of your Mac-OS. In UNIX, you need to support MS-DOS under X-Windows. The I/O of CLICAL is written in PASCAL. The numerical routines rely on Netlib's FORTRAN-package EISPACK.
Examples: 1. Find the distance of the point P = (2,3,1) from the line AB, where A = (1,2,0), B = (3,0,-2).
> dim 3
> P = 2e1+3e2+e3
> A = e1+2e2
> B = 3e1-2e3
ans = 1.633 [= sqrt(8/3)]
2. Compute i/(j+exp(kp/6)) in quaternions. Hint: Go to the Clifford algebra Cl0,3 and use the correspondences i = e1, j = e2, k = e3.
> dim 0,3
> q(u) = Re((1-e123)u)+Pu(1,(1-e123)u)
> q(e1/(e2+exp(pi/6 e3)))
ans = 0.433e1+0.250e2-0.5e3 [= sqrt(3)/4 i + 1/4 j - 1/2 k]
3. Find matrices of the two isoclinic rotations (= turns each plane the same angle) UL(a) = b, UR(a) = b sending a = (16+12i+5j+4k)/21 to b = (18+10i+4j+k)/21. Compute ba-1 = (1/441)(432-67e1+2e2-58e3), a-1b = (1/49)(48-5e1-6e2-6e3) and the components of (ba-1)q, q(a-1b) for q = 1, e1, e2, e3 to find the entries of
UL = (1/441) [432
4. Find the matrix of the simple rotation (= turns only one plane) of R4 sending a = (16/21,12/21,5/21,4/21) to b = (18/21,10/21,4/21,1/21).
UR = (1/49) [48
> dim 4
> a = (16e1+12e2+5e3+4e4)/21
> b = (18e1+10e2+4e3+e4)/21
> s = sqrt(b/a)
s = 0.995+0.064e12+0.030e13+0.064e14+0.002e23+0.032e24+0.013e34
Then compute Sij = ei.(sej/s) to find the matrix of the simple rotation:
5. Form the matrix of the rotation, which is a composition of the four hyperplane reflections along e4-e3, e3-e2, e2-e1, e1.
S = (1/42777) [42005
> a = e1(e2-e1)(e3-e2)(e4-e3)
a = 1-e12+e13-e14-e23+e24-e34+e1234
> a e1/a
ans = e2
> a e2/a
ans = e3
> a e3/a
ans = e4
> a e4/a
ans = -e1
Thus, the rotation matrix is [0 0 0 -1,1 0 0 0,0 1 0 0,0 0 1 0]. The rotation turns one plane by angle 3p/4 and its orthogonal complement by angle p/4, the latter plane being e12+sqrt(2)e13+e14+e23+sqrt(2)e24+e34. The rotation sends the plane e12 to e23, e23 to e34, e34 to e14 and e14 to e12.
6. A 2-plane P in R4 is called a T-plane of a rotation R, if R(P)UP is a line, the line being called a T-line and the rotation being called a T-rotation. Are all non-isoclinic rotations T-rotations? Are all lines not in the invariant planes T-lines? Are all non-invariant planes T-planes? No (simple rotations of angle p are not), yes (for simple rotations of angle p and isoclinic rotations all lines are in invariant planes) and no. Take any line L outside of the two rotation planes of a non-isoclinic rotation R and consider the plane R-1(L)^L. Then R(R-1(L)^L) = L^R(L). Through a T-line there are exactly two T-planes.
BibliographyP. Lounesto: Clifford Algebras and Spinors. Cambridge University Press, Cambridge, 1997, 1998, (2nd ed.) 2001.
P. Lounesto, R. Mikkola, V. Vierros: CLICAL User Manual: Complex Number, Vector Space and Clifford Algebra Calculator for MS-DOS Personal Computers. Institute of Mathematics, Helsinki University of Technology, 1987. 80 pages.
March 1997 (last revised May 2002)