
Product
Introducing Webhook Events for Alert Changes
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.
e3nn
Advanced tools
Equivariant convolutional neural networks for the group E(3) of 3 dimensional rotations, translations, and mirrors.
Documentation | Code | CHANGELOG | Colab
The aim of this library is to help the development of E(3) equivariant neural networks. It contains fundamental mathematical operations such as tensor products and spherical harmonics.

import torch
from e3nn import o3
# Create a random array made of scalar (0e) and a vector (1o)
irreps_in = o3.Irreps("0e + 1o")
x = irreps_in.randn(-1)
# Apply a linear layer
irreps_out = o3.Irreps("2x0e + 2x1o")
linear = o3.Linear(irreps_in=irreps_in, irreps_out=irreps_out)
y = linear(x)
# Compute a tensor product with itself
tp = o3.FullTensorProduct(irreps_in1=irreps_in, irreps_in2=irreps_in)
z = tp(x, x)
# Optionally compile the tensor product
tp_pt2 = torch.compile(tp, fullgraph=True)
z_pt2 = tp_pt2(x, x) # Warning: First few calls might be slow due to compilation
torch.testing.assert_close(z, z_pt2)
Important: install pytorch and only then run the command
pip install --upgrade pip
pip install --upgrade e3nn
For details and optional dependencies, see INSTALL.md
e3nn is under development. It is recommended to install using pip. The main branch is considered as unstable. The second version number is incremented every time a breaking change is made to the code.
0.(increment when backwards incompatible release).(increment for backwards compatible release)
We are happy to help! The best way to get help on e3nn is to submit a Question or Bug Report.
If you want to get involved in and contribute to the development, improvement, and application of e3nn, introduce yourself in the discussions.
Our community abides by the Contributor Covenant Code of Conduct.
If you use e3nn in your research, please cite the following papers:
For BibTeX entries, please refer to the CITATION.bib file in this repository.
Euclidean neural networks (e3nn) Copyright (c) 2020, The Regents of the University of California, through Lawrence Berkeley National Laboratory (subject to receipt of any required approvals from the U.S. Dept. of Energy), Ecole Polytechnique Federale de Lausanne (EPFL), Free University of Berlin and Kostiantyn Lapchevskyi. All rights reserved.
If you have questions about your rights to use or distribute this software, please contact Berkeley Lab's Intellectual Property Office at IPO@lbl.gov.
NOTICE. This Software was developed under funding from the U.S. Department of Energy and the U.S. Government consequently retains certain rights. As such, the U.S. Government has been granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable, worldwide license in the Software to reproduce, distribute copies to the public, prepare derivative works, and perform publicly and display publicly, and to permit others to do so.
FAQs
Equivariant convolutional neural networks for the group E(3) of 3 dimensional rotations, translations, and mirrors.
We found that e3nn demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Product
Add real-time Socket webhook events to your workflows to automatically receive software supply chain alert changes in real time.

Security News
ENISA has become a CVE Program Root, giving the EU a central authority for coordinating vulnerability reporting, disclosure, and cross-border response.

Product
Socket now scans OpenVSX extensions, giving teams early detection of risky behaviors, hidden capabilities, and supply chain threats in developer tools.