Welcome to Kingdon’s documentation!

https://img.shields.io/pypi/v/kingdon.svg Documentation Status https://coveralls.io/repos/github/tBuLi/kingdon/badge.svg?branch=master

✨ Try kingdon in your browser ✨

Features

Kingdon is a Geometric Algebra (GA) library which combines a Pythonic API with symbolic simplification and just-in-time compilation to achieve high-performance in a single package. It support both symbolic and numerical GA computations. Moreover, kingdon uses ganja.js for visualization in notebooks, making it an extremely well rounded GA package.

In bullet points:

  • Symbolically optimized code generation.

  • Leverage sparseness of input.

  • ganja.js enabled graphics in jupyter notebooks.

  • Agnostic to the input types: work with GA’s over numpy arrays, PyTorch tensors, sympy expressions, etc. Any object that overloads addition, subtraction and multiplication makes for valid multivector coefficients in kingdon.

  • Automatic broadcasting, such that transformations can be applied to e.g. point-clouds.

  • Compatible with numba and other JIT compilers to speed-up numerical computations.

Teahouse Menu

If you are thirsty for some examples, please visit the teahouse. A small selection of our items:

_images/pga2d_distances_and_angles.png

Land measurement 101

_images/pga2d_inverse_kinematics.png

Dimension agnostic IK

_images/pga2d_project_and_reject.png

2D projection and intersection

_images/pga3d_distances_and_angles.png

Land measurement 420

_images/pga2d_hypercube_on_string.png

Best-seller: Tesseract on a string!

_images/pga3d_points_and_lines.png

3D projection and intersection

_images/exercise_spider6.png

Build-A-Spider Workshop!

_images/cga2d_points_and_circles.png

Project and intersect, but round

_images/pga2d_fivebar.png

Fivebar mechanism

_images/csga2d_opns.jpg

2DCSGA!

_images/mga3d_points_and_lines.jpg

Mother Algebra

_images/ccga3d_points_quadrics.jpg

3DCCGA

Indices and tables