# e3nn

Contributors

Mario Geiger

Tess Smidt

Benjamin K. Miller

Wouter Boomsma

Kostiantyn Lapchevskyi

Maurice Weiler

Michał Tyszkiewicz

Jes Frellsen

Sophia Sanborn

M. Alby

## Euclidean Neural Network

Other collaborators

Simon Batzner

Josh Rackers

Sidsel Winther

Allan Costa

Eugene Kwan

Martin Uhrin

Claire A. West

and many others!

motivation

neural

network

input

(e.g. a molecule)

prediction

(e.g. inertia tensor of the molecule)

neural

network

rotated

input

rotated

prediction

e3nn is a library in python based on pytorch to do that

Why do we need group theory to do that?

We use group theory

physics = use numbers to describe reality

symmetry = different numbers to describe the same reality

• absolute position on the screen?
• absolute size on the screen?

1

2

3

4

5

6

7

8

1

2

3

4

5

6

7

8

1: 1.0

2: 0.8

3: 0.76

4: 0.76

5: 0.5

6: 0.6

7: 0.99

8: 0.96

group of symmetry = {all the choices}

• permutation
• rotation
• scale
• parity

we want our understanding of reality to be independent of those choices

$$b$$

group theory!

$$a$$

definition of group

$$G$$ = group = set with a composition law such that

such that $$\forall g \in G$$    $$ge = eg = g$$

$$\exists e \in G$$

$$\forall g \in G, \exists i \in G$$ such that $$gi = ig = e$$

$$\forall a, b, c \in G$$ we have $$(ab)c = a(bc)$$

$$b$$

$$a$$

$$ab$$

$$c$$

$$bc$$

$$g$$

$$i$$

$$e$$

definition of group

group representation

group $$G$$ is abstract

$$D(g)$$

$$ab=c$$

one representation

group

all possible representations

all possible representations

=

irreducible representations

+

their

compositions

(direct sums $$\oplus$$)

(for a given group $$G$$)

aim of e3nn

$$\forall w$$

$$f_w(D_{\rm in}(g) x) = D_{\rm out}(g) f_w(x)$$

for the Euclidean group

• rotations
• translations
• mirrors

for finite direct sums of irreps

($$D = \bigoplus_L (D^L)^{n_L}$$)

irreps of $$E(3)$$

p=1 p=-1
L=0 scalars pseudoscalars
L=1 pseudovectors vectors
L=2 e.g. inertia tensor
L=3
L=4
L=5
...

function on the sphere

$$f: s^2 \longrightarrow \mathbb{R}$$

example

Its representation is $$[D(g) f](x) = f(R(g)^{-1} x)$$

With a change of variable it can be changed into:

$$\bigoplus_{L=1}^\infty D^L$$

tensor product

$$\otimes$$

defining properties:

1. equivariant
2. bilinear

rule

$$1 \otimes 2 = 1 \oplus 2 \oplus 3$$

$$0 \otimes 3 = 3$$

$$3 \otimes 3 = 0 \oplus 1 \oplus 2 \oplus 3 \oplus 4 \oplus 5 \oplus 6$$

$$L_1 \otimes L_2 = |L_1 - L_2| \oplus \dots \oplus (L_1 + L_2)$$

tensor product

defining properties:

1. equivariant
2. bilinear

examples

• $$\vec v_1 \cdot \vec v_2$$
• $$\vec v_1 \wedge \vec v_2$$
• $$\vec v_1 \cdot \vec v_2 \oplus \vec v_1 \wedge \vec v_2$$
• $$\vec v_1 \wedge \vec v_2 \oplus \vec 0$$
• $$2.34 \; \vec v_1 \wedge \vec v_2$$
• $$w \; \vec v_1 \wedge \vec v_2$$
• $$w_{11} \vec u_1 \wedge \vec v_1 + w_{12} \vec u_1 \wedge \vec v_2 + w_{21} \vec u_2 \wedge \vec v_1 + w_{22} \vec u_2 \wedge \vec v_2$$

demo

demo

 +1 -1 1 1 1 1 1 1

"1x0o"

"6x0e"

https://e3nn.org

3D Steerable CNNs 1807.02547

Maurice Weiler, Mario Geiger, Max Welling, Wouter Boomsma, Taco Cohen

Tensor field networks 1802.08219

Nathaniel Thomas, Tess Smidt, Steven Kearnes, Lusann Yang, Li Li, Kai Kohlhoff, Patrick Riley