Skip to main content

Three Dimensional Multivector, based on numpy.

Project description


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+b Addition
  • a*c Scalar multiplication (limitation: scalar must be on the right)
  • a/c Scalar division
  • a*b Geometric product
  • Dot product
  • a^b Wedge product
  • ~a Dual multivector (multiplication by unit pseudoscalar)

The multivector attributes for the four grades, each of which can be specified in the constructor:

  • a.scalar Scalar
  • a.vector Vector, in the canonical {e_1, e_2, e_3} basis
  • a.bivector Bivector, in the {e_2 e_3, e_3 e_1, e_1 e_2} basis
  • a.pscalar Pseudoscalar e_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.


The package can be installed from pip: pip install multivector3d. The only dependency is numpy.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multivector3d-0.1.1.tar.gz (3.2 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page