Skip to content

Latest commit

 

History

History
104 lines (82 loc) · 6.04 KB

index.md

File metadata and controls

104 lines (82 loc) · 6.04 KB

E(3) Equivariant Neural Network Tutorial

‼ This tutorial page is for e3nn verisons < 0.2. Please see the e3nn User Guide for more up to date examples.

For original tutorial page click here.

Tutorials by Tess E. Smidt

(with additional contributions by Mario Geiger and Josh Rackers)

Tess gives a special thanks to Mario Geiger, Ben Miller, Kostiantyn Lapchevskyi for all they do for the e3nn repo and them, Daniel Murnane, and Sean Lubner for many conversations that lead to the generation of the tutorial notebooks.


Recommended Reading {#reading}


Code {#code}

For code examples, we will be using the e3nn repository. Installation instructions can be found here. To test your installation of e3nn, we recommend running the following code example.

To follow along during the tutorial, we recommend you clone the tutorial repository in addition to installing e3nn.

git clone [email protected]:blondegeek/e3nn_tutorial.git

Tutorial notebooks

  • Data types: Going between geometric tensors in Cartesian and spherical harmonic bases and representation lists (Rs) in e3nn
  • Operations on Spherical Tensors: Visualization of spherical tensor addition and products
  • Simple Tasks and Symmetry: Using equivariant networks can have unintuitive consequences, we use 3 simple tasks to illustrate how network outputs must have equal or higher symmetry than inputs.
  • Nuts and Bolts of e3nn: A step by step walkthrough of how to set up a convolution and what is going on with all those partials.
  • Plot with radial functions: Now you can plot angular and radial Fourier transforms of geometry
  • NEW! Creating neighbor lists for molecules and crystals using e3nn.point.data_helpers.

Why notebook AND html?

For the notebooks that use plotly the notebooks are distributed without cells executed because the plots are large (because Tess made them too high-resolution... oops.). If you download the HTML verison, you can interact with the plots without needing to execute the code.

Citing {#cite}

If you find these tutorials helpful for your research, please consider citing us!

The DOI for these tutorials is: DOI

Cite this tutorial with the following bibtex:

@software{e3nn_tutorial_2020_3724982,
  author       = {Tess Smidt and
		  Mario Geiger and
		  Josh Rackers},
  title        = {github.com/blondegeek/e3nn_tutorial},
  month        = mar,
  year         = 2020,
  publisher    = {Zenodo},
  version      = {0.1},
  doi          = {10.5281/zenodo.3724982},
  url          = {https://doi.org/10.5281/zenodo.3724982}
}

The DOI for e3nn is: DOI

Cite e3nn with the following bibtex:

@software{e3nn_2020_3723557,
  author       = {Mario Geiger and
                  Tess Smidt and
                  Benjamin K. Miller and
                  Wouter Boomsma and
                  Kostiantyn Lapchevskyi and
                  Maurice Weiler and
                  Michał Tyszkiewicz and
                  Jes Frellsen},
  title        = {github.com/e3nn/e3nn},
  month        = mar,
  year         = 2020,
  publisher    = {Zenodo},
  version      = {v0.3-alpha},
  doi          = {10.5281/zenodo.3723557},
  url          = {https://doi.org/10.5281/zenodo.3723557}
}

Got feedback on the code tutorials? {#feedback}

Tess wants to hear all about it, so please, please, please write Tess an email at [email protected] or [email protected]! The goal is to make these notebooks maximally useful to others.

Is there a tutorial you'd love to see? Is there a tutorial you'd like to contribute? Add an issue or make a pull request!