A JAX library for automatically generating equivariant neural network layers for arbitrary symmetry groups via constraint solving.
EMLP is a JAX library that programmatically generates equivariant layers for neural networks through constraint solving. It solves the problem of manually deriving symmetry-respecting layers by automatically computing bases for equivariant linear maps between arbitrary group representations, enabling the construction of models with built-in equivariance to transformations like rotations, permutations, or Lorentz boosts.
Researchers and practitioners in geometric deep learning, physics-informed machine learning, and anyone building models where incorporating symmetries (e.g., in particle physics, dynamical systems, or molecular modeling) is essential.
Developers choose EMLP because it automates the mathematically intensive process of deriving equivariant layers, supports a wide range of symmetry groups (including custom ones), and integrates with popular deep learning frameworks, significantly reducing development time for equivariant models.
A library for programmatically generating equivariant layers through constraint solving
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Computes bases of equivariant linear maps for arbitrary matrix groups, including discrete, continuous, and complex groups, eliminating manual mathematical derivation.
Uses a type system for building composite representations via tensor products and sums, supporting custom groups and representations as shown in the README examples.
Provides implementations in Objax, PyTorch, Haiku, and Flax, allowing seamless use within various deep learning ecosystems.
Includes tools to visualize equivariant bases, helping users understand and verify the constructed layers, as demonstrated in the documentation.
As stated in the README, EMLP is only as fast as an MLP and cannot handle large data like images or graphs where flattening inputs is computationally prohibitive.
Requires understanding of group theory and representation concepts, creating a steep learning curve for practitioners without a strong background in these areas.
Not optimized for common equivariant architectures like CNNs or GNNs; users must adapt it as a component, which may involve additional engineering effort.