Skip to main content

A python package that knows how to do various tricky computations related to Lie groups and manifolds (mainly the sphere S2 and rotation group SO3).

Project description

This package is a fork of the original!

Original can be found at: https://github.com/AMLab-Amsterdam/lie_learn

lie_learn is a python package that knows how to do various tricky computations related to Lie groups and manifolds (mainly the sphere S2 and rotation group SO3). This package was written to support various machine learning projects, such as Harmonic Exponential Families [2], (continuous) Group Equivariant Networks [3], Steerable CNNs [4] and Spherical CNNs [5].

What this code can do

  • Reparamterize rotations, e.g. matrix to Euler angles to quaternions, etc. (see groups & spaces modules)
  • Compute the Wigner-d and Wigner-D matrices (the irreducible representations of SO(3)), and spherical harmonics, using the method developed by Pinchon & Hoggan [1] (see pinchon_hoggan_dense.py). This is a very fast and stable method, but requires a fairly large "J matrix", which we have precomputed up to order 278 using a Maple script. The code will automatically download it from Google Drive during installation. Note: There are many normalization and phase conventions for both the real and complex versions of the D-matrices and spherical harmonics, and the code can convert between a lot of them (irrep_bases.pyx).
  • Compute generalized / non-commutative FFTs for the sphere S2, rotation group SO3, and special Euclidean group SE2 (see spectral module).
  • Fit Harmonic Exponential Families on the sphere (probability module; not sure code is still working)

Installation

lie_learn can be installed from pypi using:

pip install lie_learn

Although cython is not a necessary dependency, if you have cython installed, cython will write new versions of the *.c files before compiling them into *.so during installation. To use lie_learn, you will need a c compiler which is available to python setuptools.

Feedback

For questions and comments, feel free to contact Taco Cohen (http://ta.co.nl).

References

[1] Pinchon, D., & Hoggan, P. E. (2007). Rotation matrices for real spherical harmonics: general rotations of atomic orbitals in space-fixed axes. Journal of Physics A: Mathematical and Theoretical, 40(7), 1597–1610.

[2] Cohen, T. S., & Welling, M. (2015). Harmonic Exponential Families on Manifolds. In Proceedings of the 32nd International Conference on Machine Learning (ICML) (pp. 1757–1765).

[3] Cohen, T. S., & Welling, M. (2016). Group equivariant convolutional networks. In Proceedings of The 33rd International Conference on Machine Learning (ICML) (Vol. 48, pp. 2990–2999).

[4] Cohen, T. S., & Welling, M. (2017). Steerable CNNs. In ICLR.

[5] T.S. Cohen, M. Geiger, J. Koehler, M. Welling (2017). Convolutional Networks for Spherical Signals. In ICML Workshop on Principled Approaches to Deep Learning.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

lie_learn_escience-0.0.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

lie_learn_escience-0.0.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

lie_learn_escience-0.0.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (16.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

lie_learn_escience-0.0.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

lie_learn_escience-0.0.5-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64manylinux: glibc 2.5+ x86-64

File details

Details for the file lie_learn_escience-0.0.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 8e4a8c0cc6c728380f35f532e125985282272592a6c943a4fdbf3352faa81ae7
MD5 c4724649f97e1047dbf682edf8e92f63
BLAKE2b-256 0be9e9c71c94170583abb7ac36aeec66db14f99f2b63ef2be0cffd7abcb6b520

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.5-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish.yaml on MALES-project/lie_learn_escience

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lie_learn_escience-0.0.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 e89045f0810eb6f57cee6cd6f9731fb54658a1030822af3d2d1b1260b242f982
MD5 fbebf09bd1712b17fa38f025b9aa80ac
BLAKE2b-256 20a8e389a6c96d74aeb6f1f2e5aaf2a9a0425a9122828f2f2556e608cc869de1

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.5-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish.yaml on MALES-project/lie_learn_escience

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lie_learn_escience-0.0.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 dcd7dfdc958ccdf8b17cbb0b4587e58e3efd98f55e3d6e18b35f648075a5e30e
MD5 cf718d508ac095b4911ee61f59c76d52
BLAKE2b-256 331afcae09697e87821b3b4806d088b4720af1df9bb17414dc1735a32bd63c1b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.5-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish.yaml on MALES-project/lie_learn_escience

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lie_learn_escience-0.0.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ed8257d720d191101095490b0a76f99e91873d4fd8a17bd607fd36d86711fa3f
MD5 7904133cf7e4d165f3c40998e5c767ee
BLAKE2b-256 7d2682aff175d0ca5ba6aa69e44560ce4666f94b3b6566c6f097e9d5b62a4a8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.5-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish.yaml on MALES-project/lie_learn_escience

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file lie_learn_escience-0.0.5-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.5-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 61b8afd9cc15eec08bfd5e68516288074f9113221e7eb2c805a85aefa4a9c287
MD5 e7a1642b949bd7046abde2fdc0b2c6b4
BLAKE2b-256 050af3b2e030a22a2553ed78444a25057f53ff37733d2de089f41469b18364b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.5-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl:

Publisher: publish.yaml on MALES-project/lie_learn_escience

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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