In this project it is shown how wxMaxima (a multi-platform GUI for the Maxima computer algebra system) may be used to develop and test code packages for Geometric Algebra.
The information under the 'Files' tab above fully describes how to set up a development sytem and a wxMaxima tutorial is included. The algebraic blade and multivector operators are briefly described under the 'Wiki' page.
User defined infix operators have been defined within the Maxima computer algebra system and this allows geometric algebraic expressions resembling vector equations to be coded. The functions called by the operators allow rational parametric coefficients for the bases in a multivector (or in any vector).
Worked examples have been taken from a reference book...Linear and Geometric Algebra (LAGA) and also from ...Vector and Geometric Calculus (VAGC). The majority of examples are from 3D geometry but each valid example helps to validate the GAwxM syntax
- Pseudoscalar definition (specifies the space dimension)
- Calculation of the inverse pseudoscalar used to generate the dual of a multivector
- Enumeration of the standard basis for the specified dimension
- Full dimension multivector generation
- Associativity test for the triple geometric product
- Associativity test for the triple outer product
- Test for the Jakobi expansion of the triple commutator product
- Consistency checks with the left inner product...; using two particular pure grade multivectors (generation of multivectors containing particular grades only) ; using the dual of the dual of a pure grade multivector ; testing the left inner product in the fundamental identity ; checking the first duality identity for multivectors, (A.B)* = A^B* ; testing the other duality identity for multivectors; (A^B)* = A.B*
- Check that the reverse of the geometric product equals the juxtaposed product of the reverses
- Check the scalar product function is symmetric and positive definite
- Test the norm (modulus) function