Skip to main content

Clifford and Geometric Algebra with TensorFlow

Project description

TFGA - TensorFlow Geometric Algebra

Build status PyPI

GitHub | Docs

Python package for Geometric / Clifford Algebra with TensorFlow 2.

This project is a work in progress. Its API may change and the examples aren't polished yet. Suggestions either by opening and issue or by sending me an email are welcome.

Installation

Install using pip: pip install tfga

Requirements:

  • Python 3
  • tensorflow 2
  • numpy

Basic usage

from tfga import GeometricAlgebra

# Create an algebra with 3 basis vectors given their metric.
# Used to create MultiVector instances.
ga = GeometricAlgebra(metric=[1, 1, 1])

# 1 e_0 + 1 e_1 + 1 e_2
ordinary_vector = ga.ones(batch_shape=[], kind="vector")

# 5 + 5 e_01 + 5 e_02 + 5 e_12
quaternion = ga.fill(batch_shape=[], fill_value=5.0, kind="even")

# 5 + 1 e_0 + 1 e_1 + 1 e_2 + 5 e_01 + 5 e_02 + 5 e_12
multivector = ordinary_vector + quaternion

# Inner product e_0 | 1 e_0 + 1 e_1 + 1 e_2 = 1
print(ga.basis_mvs[0] | ordinary_vector)

# Exterior product e_0 ^ e_1 = e_01
print(ga.basis_mvs[0] ^ ga.basis_mvs[1])

# Grade reversal ~(5 + 5 e_01 + 5 e_02 + 5 e_12)
# = 5 + 5 e_10 + 5 e_20 + 5 e_21
# = 5 - 5 e_01 - 5 e_02 - 5 e_12
print(~quaternion)

# tf.Tensor 5
print(quaternion.scalar)

# tf.Tensor 5 (ie. reversed sign of e_01 component)
print(quaternion.tensor("10"))

# MultiVector with only the e_01
print(quaternion["10"])

Notebooks

Generic examples

Quantum Electrodynamics using Geometric Algebra

Projective Geometric Algebra

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

tfga-0.1.7.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tfga-0.1.7-py3-none-any.whl (14.5 kB view details)

Uploaded Python 3

File details

Details for the file tfga-0.1.7.tar.gz.

File metadata

  • Download URL: tfga-0.1.7.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for tfga-0.1.7.tar.gz
Algorithm Hash digest
SHA256 8b32a292472e0abc1795a97652ba795ac2dd49f76c4f38d3b5a20bc0d9e8ba7a
MD5 5e8c2a4bb9377aee2eb52b8811af2da2
BLAKE2b-256 be1d6715a86b70b6027d3baeb672008915a1e1fc6b1d5b8f50a6559c0071e91c

See more details on using hashes here.

File details

Details for the file tfga-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: tfga-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 14.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for tfga-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 ca18474bcc1b30751f3143f61aa2999a4f017f3dd316c85dfda00ea0e7f924df
MD5 8159b5c11af0d556b56cf1c950db78b1
BLAKE2b-256 4dc736d8042f30a89bf3ac7801a4890a287caa3ee38cf6e34d630e6b97394f4f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page