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.4-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.4-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.4-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.4-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.4-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.4-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 ce6e1a4a5ae1dd4ca0ba9710b4c0e0666d36615d0495fcb4fb869f3a73d066b0
MD5 f476ee5f3e19c3a1e1183d2f095d3780
BLAKE2b-256 db302967571ec5fa724ae29f8e1c356b83f5cfbb463a529015fd2b8dbcb6e351

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.4-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.4-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.4-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 cc2a006e765cbe6812d0847e393be7a3c46950b6aa32f0080acb7eb188cbaa2f
MD5 201068a8a405e551765c5f425175e8f7
BLAKE2b-256 ae1dcc19b703c36e106650888e26e12da14d78e8093fba71c9db7707ff930ea0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.4-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.4-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.4-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 2f5deddd64dcbe7585adea8389522edc2560313d709ff38d7ef5c1dc72776462
MD5 9daefbc46f6caf899d79e1219601a13a
BLAKE2b-256 aab1093de51acbea18029f64b2129dfe4c5f7f2deba3c96a23677f5be300193d

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.4-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.4-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.4-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl
Algorithm Hash digest
SHA256 7453f8520b034960e1f14975110bcf060ef8c1224aa5b83309c64fc8bf527c54
MD5 1e9a1837bbe76d91b4ce57eea50030dc
BLAKE2b-256 0e1c1cca48a4f5c93e4dd610ac6d1b4bd8494f8e7e30a25e35ad1ce05c554afd

See more details on using hashes here.

Provenance

The following attestation bundles were made for lie_learn_escience-0.0.4-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