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].

This code was developed using an extremely agile, move-fast-and-break-things, extreme-programming software development workflow, and was extensively tested using the print command. Most of the code was written in the 72 hours preceding conference deadlines. In other words, this code is a bit of a mess, but we're releasing it anyway because it could be useful to others.

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

lie_learn_escience-0.0.2-cp312-cp312-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.12 Windows x86-64

lie_learn_escience-0.0.2-cp312-cp312-win32.whl (15.1 MB view details)

Uploaded CPython 3.12 Windows x86

lie_learn_escience-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.6 MB view details)

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

lie_learn_escience-0.0.2-cp312-cp312-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.12 macOS 11.0+ ARM64

lie_learn_escience-0.0.2-cp312-cp312-macosx_10_9_x86_64.whl (15.1 MB view details)

Uploaded CPython 3.12 macOS 10.9+ x86-64

lie_learn_escience-0.0.2-cp311-cp311-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.11 Windows x86-64

lie_learn_escience-0.0.2-cp311-cp311-win32.whl (15.1 MB view details)

Uploaded CPython 3.11 Windows x86

lie_learn_escience-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.6 MB view details)

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

lie_learn_escience-0.0.2-cp311-cp311-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.11 macOS 11.0+ ARM64

lie_learn_escience-0.0.2-cp311-cp311-macosx_10_9_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.11 macOS 10.9+ x86-64

lie_learn_escience-0.0.2-cp310-cp310-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.10 Windows x86-64

lie_learn_escience-0.0.2-cp310-cp310-win32.whl (15.1 MB view details)

Uploaded CPython 3.10 Windows x86

lie_learn_escience-0.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.5 MB view details)

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

lie_learn_escience-0.0.2-cp310-cp310-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.10 macOS 11.0+ ARM64

lie_learn_escience-0.0.2-cp310-cp310-macosx_10_9_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.10 macOS 10.9+ x86-64

lie_learn_escience-0.0.2-cp39-cp39-win_amd64.whl (15.1 MB view details)

Uploaded CPython 3.9 Windows x86-64

lie_learn_escience-0.0.2-cp39-cp39-win32.whl (15.1 MB view details)

Uploaded CPython 3.9 Windows x86

lie_learn_escience-0.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (16.5 MB view details)

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

lie_learn_escience-0.0.2-cp39-cp39-macosx_11_0_arm64.whl (15.1 MB view details)

Uploaded CPython 3.9 macOS 11.0+ ARM64

lie_learn_escience-0.0.2-cp39-cp39-macosx_10_9_x86_64.whl (15.2 MB view details)

Uploaded CPython 3.9 macOS 10.9+ x86-64

File details

Details for the file lie_learn_escience-0.0.2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 774ac6968d1e2d524365902827a3fcad493af24241821f9700a771618503c2d0
MD5 090cff85571036ee50b98c9466d3ee73
BLAKE2b-256 e28b88fa60350eb578f13bf0678dec1bd560a66e7fd17c38c4153ad89ac6407b

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp312-cp312-win32.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp312-cp312-win32.whl
Algorithm Hash digest
SHA256 458ae7eee421b983fadad391b9782870318c62485770fe1b243843076eae7cdb
MD5 03eba29216a50b20b504e8348151c0b8
BLAKE2b-256 16a7a6f1aba345dad72d6f342e1813c4d161edf465578a86e4852b7b55a7dfe7

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5477b40053a56aa52ca017cfefc8299d23d1b65c7e586aa058ca9979e1f86dd
MD5 5b07fe8a8e6762aa8d6cc0b2aa45ff45
BLAKE2b-256 6b777151b23b14cbe09b0f5ba5e048976f9b194e8b56fa0c868f365c4fa2a3c4

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 01bb298b3858b5b6a45754fed898ac04eaadba5a7e6fa18129a9fd8077cfb403
MD5 59bef0c776b5a4c86a554236e03c0b72
BLAKE2b-256 965eb4790715a3ff4888370b9f15421a76bf2cf298e9c43dd4109e932a9b96a8

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp312-cp312-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 c4c392070d70e546ff73c94f5c9542107f89646e04144c422bd62d2c0a73e251
MD5 b02cd70f6af2087ab2d74ad89dcf3545
BLAKE2b-256 b6d7737ae53c2c6bbe7b8cf3a7abc5da4b0b9916773b7ce8c5e8293ca6c9b61f

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 b6b94af9838323dbd396ba06115abc718c1cb954d435f187546ee265d35b8bd4
MD5 c306a2bd7498a5b6b7e730e98de27190
BLAKE2b-256 6d118fe18a171c8ceb020f8672c18b6b09f175ddb97bf9402e0c21c319316319

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp311-cp311-win32.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp311-cp311-win32.whl
Algorithm Hash digest
SHA256 7c6bb8a238d74a04d8fa43134568e028bbfe0b739c99d6bdaef37143024a1ee8
MD5 9471dc23a415607ac978c76554dc0530
BLAKE2b-256 109e5fb66653c22be1359f832bbc36d2657bbaf077e068459090c9639fd03068

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 aae6a92886e6bd6a8ecf779592651940fdd999e2d69004bb3d9a3b1d1bf57bd1
MD5 993396fa40a3b03823a2e14faa18edfe
BLAKE2b-256 f16cf2d167271512ea21bf48bd8fdadfad29ddcc937f3e07331227e115114ed3

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f26ae87ad0b936ff48e721aac181af6468828f1ad582b0f96c4a27636fe910b9
MD5 ab70bfeaa8879faa65839418adee14fb
BLAKE2b-256 baf907d467634c28dd8eb5d145b8c46e07040084567eeca4c13fa9d38f97cd40

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 317e69ac0dff75c2c6eaab2de048a830c4b62abbacebacf19bf62510c57a7abc
MD5 a4a58fc09ce33749dcb7cc26776122b8
BLAKE2b-256 0d5b689cd71bbc80cb7428c09d8f778281428b861e7f2193436886899c277116

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 23ef8a172efce54f74c342aa19c966369b77558f74a9cffa23be72e5533efa99
MD5 28197c1deae57c1792849cebb905bf67
BLAKE2b-256 8775a1d0db3c01ce63f599eeb356e6869eae9ae821f2faab7d0b1b865b19edfd

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp310-cp310-win32.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp310-cp310-win32.whl
Algorithm Hash digest
SHA256 29a141e92ad0daf61c2dc8c3c77db594e3e7e3ff9cdab5b5e9a0eb7b4140d2fc
MD5 130fb1de2bdfc14e0ff8c640a8537bbe
BLAKE2b-256 8a67243180f9e6ca2130b5d43c53b955102153191dae344b8e6b509bb024739b

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 079c310ec0548ff33675dfa806ffbd4e856a127ae4fefda07e3f040e751308a3
MD5 1ba07540ffdac0a1eac10e79b0263adf
BLAKE2b-256 503bd7405fef57628de03b8555e6dc60e07b5d56ffb34f5d113ccd7b7e1ba605

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 98d03300f9e68a1bb4503ef77957f6535669dcefb0000cc48558ff28e7e55236
MD5 2266d08a661a63197d4003e48a949b9a
BLAKE2b-256 b5fd8e2de8bbb464a1c0225cff79722d1270d0a18b2570e51dacc16495ff5fc9

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 98e15a6046b8cd73cf95139f2075dad5926a14a7c6a2f557134b844365b6b424
MD5 11df3edf9e8a6e70f344e343a3ae989d
BLAKE2b-256 045d3742cb9035105209c3ef5dfc7b055a19f3b1085ccc6a9ab45c26bbb2b69a

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 fea575347a5015bd19129331d8848e3e8405e5c0397b68a5ca3b3a05d0d44935
MD5 3c2ebdb8eb6aa4c9b38d4527839a3f0b
BLAKE2b-256 605691f88896c2a8cbff3aa642bc63a6279c450b851ba765b6db40ec40dfdce8

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp39-cp39-win32.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp39-cp39-win32.whl
Algorithm Hash digest
SHA256 2475aeb9bd75cea05469500dc76b9228d03c83ef94752db262741659a6ea6aa3
MD5 256dedc1e8969a48a2474e8ce5e1aca6
BLAKE2b-256 697ab48bd702e2c8ca8d03a4134d6fc5fdb6420f71060c6c0ad2b05687f19707

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 accf9fe1f170d474863a8be6a4a8b578056be14b2daa8d1c662257616f7052ad
MD5 2e298018447f6edeef8314cc14b79b25
BLAKE2b-256 d5d643ee60584c599838970d5ebbd5b50d91947d8c6c31c4b05a7c65ef7014ad

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f35692298736dce8fab573a7e994cde135c6615611d2a569663a861dfbc403a3
MD5 1bcb62d608e92d5791e883e200cab110
BLAKE2b-256 b65fef505bf84b6c4272e3e8bf2d2105045351d6b3077092147a10ecec900d3a

See more details on using hashes here.

File details

Details for the file lie_learn_escience-0.0.2-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for lie_learn_escience-0.0.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 05adbe07d9ea4eef5e0f84c5db5e46a9940aaa5f3700cf14cbad27bf2b2c837b
MD5 31f578db753c77907ccc907e8cb46aa5
BLAKE2b-256 b7d79374420353b8c5d7c89719f6a2a4ec01f5aea5bf5225761106ceb5a8a2ab

See more details on using hashes here.

Supported by

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