Multivector3D
Basic python class for a 3D multivector, implemented using numpy for efficient numerical computation. The following operations are implemented:
from multivector3d import Multivector3D
a = Multivector3D(vector=[1,2,3])
b = Multivector3D(bivector=[4,5,6])
c = 2.0-
a+bAddition -
a*cScalar multiplication (limitation: scalar must be on the right) -
a/cScalar division -
a*bGeometric product -
a.dot(b)Dot product -
a^bWedge product -
~aDual multivector (multiplication by unit pseudoscalar)
The multivector attributes for the four grades, each of which can be specified in the constructor:
-
a.scalarScalar -
a.vectorVector, in the canonical{e_1, e_2, e_3}basis -
a.bivectorBivector, in the{e_2 e_3, e_3 e_1, e_1 e_2}basis -
a.pscalarPseudoscalare_1 e_2 e_3.
This project is more of an academic exercise than anything production ready at this point. If you want to do computations with the geometric algebra in python, check out the clifford package.
Installation
The package can be installed from pip: pip install multivector3d. The only
dependency is numpy.