Object-Oriented Implementations of Clifford Algebras in C++: A Prototype

  • Arvind Raja


This paper describes an evolving library of data types and algorithms for numerical Clifford algebra computations. C++ classes for representing elements of a Clifford algebra Cp,q are presented. Examples illustrating use of the library are included. These implementations will form the computation engine of a new interactive program, which is also under development. The library illustrates how “high level” mathematical descriptions can be implemented, elegantly and efficiently, in a “low level” programming language. This is achieved by using the object-oriented features supported by C++ (data abstraction, operator overloading and many others) At the time of writing, fundamental operations with elements of a Clifford algebra Cp,q can be performed. Routines for evaluating transcendental functions of Clifford elements, via matrix functions, are evolving.

Key words

Clifford algebras object-oriented programming C++ 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. R. Lafore: 1991, Object-oriented Programming in Turbo C++. Waite Group Press.Google Scholar
  2. P. Lounesto, R. Mikkola, V. Vierros: 1987, CLICAL User Manual Research report A248, Institute of Mathematics, Helsinki University of Technology.Google Scholar
  3. P. Lounesto: 1992, ‘Clifford algebra calculations with a microcomputer’. In the book: A. Micali et al, Clifford Algebras and their Applications in Mathematical Physics. Kluwer Academic Publishers, pp. 39–55.Google Scholar
  4. K. Mehlhorn and S. Naher: 1994, LED A—A Library of Efficient Data Types and Algorithms. Max-Planck-Institut für Informatik.Google Scholar
  5. S. Meyers: 1992, Effective C++. Addison-Wesley.Google Scholar
  6. S. Näher: 1994, LED A User Manual, Version 3.0. Max-Planck Institut fur Informatik.Google Scholar
  7. I. Porteous: 1969, Topological Geometry. Van Nostrand Reinhold.Google Scholar
  8. I. Porteous: 1981, Topological Geometry. Second Edition. Van Nostrand Reinhold.Google Scholar
  9. M. Riesz: 1958, Clifford Numbers and Spinors. Maryland 1958, University of Maryland, The Institute for Fluid Dynamics and Applied Mathematics, Lecture Series No. 38; reproduced in E. Folke Bolinder, P. Lounesto (eds.), Clifford Numbers and Spinors. Kluwer Academic Publishers.Google Scholar
  10. R. Sedgewick: 1992, Algorithms in C++. Addison-Wesley.Google Scholar
  11. B. Stroustrup: 1991, The C++ Programming Language. 2nd edition. Addison-Wesley.Google Scholar
  12. V. Vierros: 1987, title in Finnish: Cliffordin algebroilla laskeva ohjelma mikrotietokoneelle. Title in English: A program for calculations in Clifford algebras with a microcomputer. “Diplomityo” (M.Sc. thesis), Helsinki University of Technology.Google Scholar

Copyright information

© Birkhäuser Boston 1996

Authors and Affiliations

  • Arvind Raja
    • 1
  1. 1.Institute of MathematicsHelsinki University of Technology (HUT)EspooFinland

Personalised recommendations