by Alan Bromborsky

URL: http://docs.sympy.org/0.7.0/modules/galgebra/GA/GAsympy.html

**Abstract:** This document describes the implementation of a geometric algebra module in python that utilizes the `sympy` symbolic algebra library. The python module `GA` has been developed for coordinate free calculations using the operations (geometric, outer, and inner products etc.) of geometric algebra. The operations can be defined using a completely arbitrary metric defined by the inner products of a set of arbitrary vectors or the metric can be restricted to enforce orthogonality and signature constraints on the set of vectors. In addition the module includes the geometric, outer (curl) and inner (div) derivatives and the ability to define a curvilinear coordinate system. The module requires the numpy and the sympy modules.

This module is, e.g., used in the undergraduate textbooks by Alan Macdonald:

Table Of Contents (click on entries, see especially Module Components)

- Geometric Algebra Module for Sympy
- What is Geometric Algebra?
- Vector Basis and Metric
- Representation and Reduction of Multivector Bases
- Base Representation of Multivectors
- Blade Representation of Multivectors
- Outer and Inner Products, Left and Right Contractions
- Reverse of Multivector
- Reciprocal Frames
- Geometric Derivative
- Module Components
- Examples

Source: http://docs.sympy.org/0.7.0/modules/galgebra/GA/GAsympy.html as of 04 Dec. 2013.

Note that galgbra is no longer part of sympy (documenting using python sphinx instead of latex got too tedious for me) but is at –

github.com/brombo/galgebra

After downloading the repository look in galgebra-master/doc/galgebra.pdf for detailed installation instructions.

Please send me your code (abrombo@verizon.net) and I will try to determine what the problem is.

I’m not a pro and I’m a little confused about how to get this module. At the beginning I tried sympy 0.7.4, but it appears to lack the galgebra module. I thought I should try an earlier version, so I switched to 0.7.3. This has a galgebra.ga module. I cut and paste example material to run MV.setup(). It completed, but none of the symbolic items (a0, a1, a2) were present, so it looks like the documentation I’m reading doesn’t line up with 0.7.3. What to do?