TanGA
Geometric algebra library with a C++ core and a Python interface (pytanga).
→ Full documentation — C++ and Python API guides, architecture overview, notebooks, and developer workflows.
Key Features
-
High-dimensional algebras — Sparse blade encoding for vector spaces up to 31 dimensions with arbitrary signature. Storage proportional to non-zero coefficients, not the full $2^D$ blade space.
-
C++ template header library — 100 % C++17 headers with
constexpr-friendly templates. Compile-time dimension and signature let the compiler inline blade arithmetic down to machine instructions. -
On‑demand Python compilation — pytanga generates, compiles, and caches pybind11 bindings on first use. Pre‑compiled wheels for common configurations ship with the package — zero-setup
pip installfor most users. -
GA formula solving — Convert product equations into linear systems, solve with Gaussian elimination (floating-point or modular), and reconstruct the unknown multivector.
-
Matrix and tensor pipelines — Blade-mask-aware matrices and labeled tensors with Einsum-style contractions, broadcasts, and slicing on multivector data.
-
Geometry analysis and creation —
analyze()extracts geometric meaning from a multivector;create()builds one from primitives. Works across E3, P3, N3, and PGA3 algebras. -
Interactive 3D visualization — Live WebSocket-driven Three.js visualizer in the browser. Export to standalone HTML, glTF/GLB, PNG, or MP4.
Installation
See the installation guide for pip and uv instructions, including precompiled wheels and compile-from-source options.
AI Tool Documentation Access
When pytanga is installed, the markdown documentation is packaged inside the
wheel. AI coding tools can expose it by calling pytanga.install_docs(), which
creates a symlink at .dep-docs/pytanga/ in the current repository root.
License
TanGA is released under the Apache License 2.0.
Every source file carries an SPDX-License-Identifier: Apache-2.0 comment.
Release files for tanga-py 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tanga_py-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / tanga_py-0.2.0-py3-none-any.whl
| Download URL | tanga_py-0.2.0-py3-none-any.whl |
|---|---|
| Size | 542.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2978802da1cbe081735477d9db4981806362b60811b66828e75afd78fd4672d5
|
|
BLAKE2b-256 checksum How to use checksums |
4220c5141a53015d74aa5862ef48ba24b83b6511989380327a0dda3c62f01355
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|