Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jlaragonvera/Geometric-Algebra

Mathematica packages for geometric algebra
https://github.com/jlaragonvera/Geometric-Algebra

Last synced: about 1 month ago
JSON representation

Mathematica packages for geometric algebra

Awesome Lists containing this project

README

        

# Geometric Algebra

*Mathematica* packages for Clifford (geometric) algebra calculations:

## CGAlgebra

**CGAlgebra.m** is a *Mathematica* package for the 5D Conformal Geometric Algebra.

This package contains declarations for calculations with Conformal
Geometric Algebra. Basis vectors {e0, e1, e2, e3, eInfinity} are
denoted by e[0], e[1], e[2], e[3], e[Infinity]. Geometric products
of basis elements are denoted as e\[0,1,2\] (= e0 e1 e2), etc.

The results of any calculation is given in terms of the geometric product
of basis elements, that is, the outer (Grassman) product of basis
elements or multivectors is calculated by using OuterProduct[] and the
output is given in terms of geometric product of basis vectors.

Examples:

The vector e0 + 2 e1 + eInfinity is written as:

A = e[0] + 2 e[1] + e[\[Infinity]];

The multivector a + 5 e1 + e1e2e3 is

B = a + 5 e[1] + e[1,2,3];

The geometric product

GeometricProduct[A,B]

yields:

10 + a e[0] + 2a e[1] + a e[\[Infinity]] + 5 e[0,1] - 5 e[1,\[Infinity]] + 2 e[2,3] + e[0,1,2,3] - e[1,2,3,\[Infinity]]

The inner product

InnerProduct[A,B]

yields

10 + 2 e[2,3]

A tutorial can be downloaded from:

## Clifford

**clifford.m** is the most recent version of the package by G. Aragon-Camarasa, G. Aragon-Gonzalez, J.L. Aragon and M.A. Rodriguez-Andrade. A user guide (**CliffordUserGuide**) is available, as well as *Mathematica* palette (**CliffordPalette**). The fundamentals of the package are presented in:

## CliffordBasic

**CliffordBasic.m** is a completely renewed but reduced version of **clifford.m** package by G. Aragon-Camarasa, G. Aragon-Gonzalez, J.L. Aragon and M.A. Rodriguez-Andrade:

Using rule-base programming the algebra over Rp,q in arbitrary dimensions is constructed as in A. Macdonald "An Elementary Construction of Geometric Algebra", Adv. Appl. Cliff. Alg. 12 (2002) 1-6.

In **CliffordBasic**, the j-th basis vector is denoted by e[j] and the geometric product of basis vectors, such as e1e3e4, as `e[1,3,4]`.

Examples:

The vector e1 + 2 e2 - a e3 is written as

A = e[2] + 2 e[2] - a e[3];

The The multivector a + 5 e1 + e1 e2 e3 is written as

B = a + 5 e[1] + e[1,2,3];

The geometric product AB is calculated as

GeometricProduct[A,B]

yielding:

    3 a e[2] - a^2 e[3] - 15 e[1,2] - a e[1,2] - 3 e[1,3] + 5 a e[1,3]

which can be factored using

GFactor[%]

3 a e[2] - a^2 e[3] + (-15-a) e[1,2] + (-3 + 5 a)e[1,3]

The signature of the Rp,q is set by `$SetSignature={p,q}`. If not specified,
the default value is:

$SetSignature={20,0}