Skip to main content

Three Dimensional Multivector, based on numpy.

Project description

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+b Addition
  • a*c Scalar multiplication (limitation: scalar must be on the right)
  • a/c Scalar division
  • a*b Geometric product
  • a.dot(b) 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.

Installation

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.

Files for multivector3d, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size multivector3d-0.1.1.tar.gz (3.2 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page