Symmetric Learning is a torch-based machine learning library tailored to optimization problems featuring symmetry priors. It provides equivariant neural network modules, models, and utilities for leveraging group symmetries in data.
- Neural Networks (nn): Equivariant neural network layers including linear, convolutional, normalization, and attention modules.
- Models (models): Ready-to-use equivarint architectures such as equivariant MLPs, Transformers, and CNN encoders.
- Linear Algebra (linalg): Linear algebra utilities for symmetric vector spaces, including equivariant least squares solutions, projections to invariant subspaces, and more.
- Symmetry-aware Statistics (stats): Mean, variance, and covariance for symmetric random variables.
- Representation Theory (representation_theory): Representation theory utils, enabling de isotypic decomposition of group representations, intuitive management of the degrees of freedom of equivariant linear maps, orthogonal projections to the space of equivariant linear maps, and more.
pip install symm-learning
# or
git clone https://github.com/Danfoa/symmetric_learning
cd symmetric_learning
pip install -e .Documentation is published per branch:
main(stable): https://danfoa.github.io/symmetric_learning/devel: https://danfoa.github.io/symmetric_learning/devel/
If you use symm-learning in research, please cite:
@software{ordonez_apraez_symmetric_learning,
author = {Ordonez Apraez, Daniel Felipe},
title = {Symmetric Learning},
year = {2026},
url = {https://github.com/Danfoa/symmetric_learning}
}This project is released under the MIT License. See LICENSE.