Skip to content
Roberto Hazael edited this page Sep 4, 2016 · 31 revisions

Clifford Toolbox for Mathematica and Matlab

Authors: Aragón-Camarasa, G., Aragón-González, G., Aragon J. L. and Rodriguez-Andrade, M. A.

Table of Contents

  1. Introduction
  2. Installation
  3. Mathematica
  4. Matlab
  5. Getting Started in...
  6. Mathematica
  7. Matlab
  8. CheatSheet of Functions for Wolfram Mathematica
  9. CheatSheet of Functions for Matlab

Introduction

The Clifford algebra of the vector space fig1, with a bilinear form <x,y> of signature p, q, and an orthonormal basis fig2, i=1,2,...,n (=p+q), is generated by fig3 with the relation

fig4

where

fig5

This software toolbox is a collection of functions for doing general calculations with Clifford Algebra (i.e. Geometric Algebra) of fig6, using Mathematica 9.0 or higher and Matlab R2013a or higher. All results are given in terms of the orthonormal basis vectors fig7.

Installation

To get the toolbox, you have to clone the github repository, e.g.

git clone https://github.com/gerac83/clifford_toolbox.git clifford_toolbox

Mathematica

In order to install cliffordv##.m (core of the Clifford Algebra package) on any platform (Windows, OS X and Linux), a session of Wolfram Mathematica must be opened. Select File->Install... and follow the on-screen instructions. Type of Item to Install should be Package, Source should be the cliffordv##.m file for the version to be installed and Install Name can be any distinctive name, e.g. clifford. Below is shown an example of a installation in OS X:

math_install

To install the companion palette, select File->Install... again and follow the on-screen instructions. This time, Type of Item to Install should be Palette; Source should be the .nb file (not the file with the _src suffix) and Install Name can be any distinctive name, e.g. Clifford Palette.

Matlab

After downloading git clone https://github.com/gerac83/clifford_toolbox.git clifford_toolbox you must save that directory in a safe place in your computer.

In order to use the core of Clifford Algebra package on any plataform (Windows, OS X and Linux), a session of MATLAB must be opened. Once there, look at the direction bar and find the path to toolbox directory you just downloaded and save in your computer, go throught ...\clifford_toolbox-master\MATLAB\cliffordv07, directory that contains the files of the core of Clifford Algebra package.

matlab_install

Notice in the Current Folder box at the left all files and directories of the clifford## package, all of them is shown with a watermark and before you can use them you need to set the path to these files. To set path click on Set Path button, in the emerging window click on Add with Subfolders and find ...\clifford_toolbox-master\MATLAB\cliffordv07 directory, click on Save and that's all.

matlab_install

Now the folders in the left box lose their watermark and clifford## package is ready to being used. To ensure that all is well DEMO type in the Command Window and press enter, a brief instance of the package will execute.

matlab_demo

TODO

Getting Started in...

Mathematica

In session with Clifford.m, basis vectors fig8 are denoted by e[i]. For instance, the multivectors

fig9

must be written as

fig10

fig11

Care must be taken in perserving the canonical order of the expression since we are using the commutative product * of Mathematica and the input expression is automatically rewritten in canonical order. The use of the function GeometricProduct is recommended in order to avoid mistakes, for example the multivector fig12 must be written as

fig13

fig14

But as a short cut we can type directly

fig15

fig16

The signature of the bilinear form <x,y> can be set by using $SetSignature={p,q,s} (where s is the index of degeneracy; more info here. If no value is specified at the beginning of the session, the default is p=20; q=0; s=0.

With the exception of the function Dual, it is not necessary to define the dimension of the vector space fig17. Given two or more multivectors, the maximun dimension of the space where they are embedded is calculated automatically.

Matlab

TODO