GA 2016 – Lecture 7

Implementation

In this lecture we discuss the practicalities of implementing geometric algebra in your own code. We start by looking at the various possibilities for data structures to encode a multivector, looking at the pros and cons of various solutions employed in practice.

We then turn to an implementation in the symbolic algebra package Maple. This illustrates how complex identities can be built up quickly and easily in geometric algebra.

We end with an extended discussion of an implementation in the functional programming language Haskell. Functional programming is a natural fit for geometric algebra, and Haskell’s type and class system helps expose features of the algebra in a succinct manner.