Learning Geometry

&

3D Symmetries

Mario Geiger

This morning Emmanuel Noutahi presented us the different molecular representations

This morning Emmanuel Noutahi presented us the different molecular representations

Equivariant Neural Networks

input

output

Illustration of a neural network equivariant to rotations in 3D

Why we want Equivariance?

Why we want Equivariance?

array([[ 0.28261471,  0.56535286,  1.38205716],
       [-0.59397486,  0.04869514,  0.76054154],
       [-0.96598984,  0.06802525,  0.77853411],
       [ 1.09923518,  1.20586634,  0.92461881],
       [-0.35728519,  0.55409651,  0.3251024 ],
       [-0.03344675, -0.48225385, -0.294099  ],
       [-1.79362192,  1.26634314, -0.27039329]])
array([[ 0.55856046,  1.19226885,  0.60782165],
       [ 0.59452502,  0.65252289, -0.4547258 ],
       [ 0.72974089,  0.75212044, -0.7877266 ],
       [ 1.00189192,  0.76199152,  1.55897624],
       [ 1.10428859,  0.32784872, -0.08623213],
       [ 0.27944288, -0.59813412, -0.24272213],
       [ 2.40641258,  0.25619413, -1.19271872]])

Why we want Equivariance?

array([[ 0.28261471,  0.56535286,  1.38205716],
       [-0.59397486,  0.04869514,  0.76054154],
       [-0.96598984,  0.06802525,  0.77853411],
       [ 1.09923518,  1.20586634,  0.92461881],
       [-0.35728519,  0.55409651,  0.3251024 ],
       [-0.03344675, -0.48225385, -0.294099  ],
       [-1.79362192,  1.26634314, -0.27039329]])
array([[ 0.55856046,  1.19226885,  0.60782165],
       [ 0.59452502,  0.65252289, -0.4547258 ],
       [ 0.72974089,  0.75212044, -0.7877266 ],
       [ 1.00189192,  0.76199152,  1.55897624],
       [ 1.10428859,  0.32784872, -0.08623213],
       [ 0.27944288, -0.59813412, -0.24272213],
       [ 2.40641258,  0.25619413, -1.19271872]])

Data-Augmentation

  • Inexact 
  • Expensive

 

Equivariance

  • Exact
  • Data-efficient

Fluid dynamics

Mechanics

Electrodynamics

Standard Model

Rotation

Translation

Boosts

(Galilean or Lorentz)

Time

translation

Example of Equivariance

f:f: positions \to forces

Example of Equivariance

f:f: positions \to Hamiltonian

Where is equivariance used in AI?

Protein Folding

EquiFold Jae Hyeon Lee et al.

 

Protein Docking

DIFFDOCK Gabriele Corso et al.

 

Molecular Dynamics

Nequip S. Batzner et al.   

MACE I. Batatia et al.

Allegro A. Musaelian et al.

Open Catalyst Project.

 

Solid State Physics

Prediction of Phonon Density Z. Chen et al. 

 

Molecular Electron Densities

Cracking the Quantum Scaling Limit with Machine Learned Electron Densities J. Rackers

 

Cosmology, Medical Images and others

44M atoms while taking advantage of up to 5120 GPUs

Albert Musaelian

We observe: Equivariance \Rightarrow Data Efficient!

(Nequip: Simon Batzner et al. 2021)

max L of the messages

Error

Trainset size

Invariant features

(Nequip: Simon Batzner et al. 2021)

Equivariant features

Error

Trainset size

Invariant features

We observe: Equivariance \Rightarrow Data Efficient!

Group and Representations

Group and Representations

"what are the operations"

"how they compose"

Group and Representations

"what are the operations"

"how they compose"

"vector spaces on which the action of the group is defined"

Group and Representations

"what are the operations"

"how they compose"

rotations, parity

scalars, vectors, pseudovectors, ...

"vector spaces on which the action of the group is defined"

Group and Representations

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Equivalent notation D(g)xD(g) x

  • D(g):VVD(g) : V\to V
  • D(g)Rd×dD(g) \in \mathbb{R}^{d\times d}
  • D(gh)=D(g)D(h)D(gh) = D(g) D(h)

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Equivalent notation D(g)xD(g) x

  • D(g):VVD(g) : V\to V
  • D(g)Rd×dD(g) \in \mathbb{R}^{d\times d}
  • D(gh)=D(g)D(h)D(gh) = D(g) D(h)

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Equivalent notation D(g)xD(g) x

  • D(g):VVD(g) : V\to V
  • D(g)Rd×dD(g) \in \mathbb{R}^{d\times d}
  • D(gh)=D(g)D(h)D(gh) = D(g) D(h)

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Representation D(g,x)D(g, x)

  • gGg\in G, xVx \in V
  • Linear D(g,x+y)=D(g,x)+D(g,y)D(g, x+y) = D(g,x) + D(g,y)
  • Follow the structure of the group
    D(gh,x)=D(g,D(h,x))D(gh,x) = D(g, D(h,x))

Group and Representations

"what are the operations" "how they compose"

"vector spaces on which the action of the group is defined"

Equivalent notation D(g)xD(g) x

  • D(g):VVD(g) : V\to V
  • D(g)Rd×dD(g) \in \mathbb{R}^{d\times d}
  • D(gh)=D(g)D(h)D(gh) = D(g) D(h)

Group GG

  • identityG\text{identity} \in G
  • associativity g(hk)=(gh)kg (hk) = (gh)k
  • inverse g1Gg^{-1} \in G

Examples of representations

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

Examples of representations

Representations are like data types

It tells you how to interpret the data with respect to the group action

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

Examples of representations

3 scalars (3x0e)

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

Knowing that a1,a2,a3a_1, a_2, a_3 are scalars tells you that they are not affected by a rotation of your system

Representations are like data types

It tells you how to interpret the data with respect to the group action

Examples of representations

3 scalars (3x0e)

a vector (1o)

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

Representations are like data types

It tells you how to interpret the data with respect to the group action

Examples of representations

3 scalars (3x0e)

a vector (1o)

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

If the system is rotated, the 3 components of the vector change together!

Representations are like data types

It tells you how to interpret the data with respect to the group action

Examples of representations

3 scalars (3x0e)

a vector (1o)

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

a vector (1o)

The two vectors transforms independently

Representations are like data types

It tells you how to interpret the data with respect to the group action

Examples of representations

3 scalars (3x0e)

a vector (1o)

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

a vector (1o)

system rotated by gg

[a1a2a3a4a5a6a7a8a9]=D(g)[a1a2a3a4a5a6a7a8a9]\begin{bmatrix} a'^1\\a'^2\\a'^3\\a'^4\\a'^5\\a'^6\\a'^7\\a'^8\\a'^9\end{bmatrix}=D(g)\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}

Representations are like data types

It tells you how to interpret the data with respect to the group action

Examples of representations

3 scalars

a vector

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

a vector

system rotated by gg

[a1a2a3a4a5a6a7a8a9]\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}

Representations are like data types

It tells you how to interpret the data with respect to the group action

[111]\begin{bmatrix} 1&&&&&&&&&&\\&1&&&&&&&\\&&1&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\end{bmatrix}

[R]\begin{bmatrix}&&\\&R\\&&\end{bmatrix}

[R]\begin{bmatrix}&&\\&R\\&&\end{bmatrix}

[a1a2a3a4a5a6a7a8a9]=\begin{bmatrix} a'^1\\a'^2\\a'^3\\a'^4\\a'^5\\a'^6\\a'^7\\a'^8\\a'^9\end{bmatrix}=

Examples of representations

3 scalars

a vector

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

a vector

system rotated by gg

Representations are like data types

It tells you how to interpret the data with respect to the group action

[a1a2a3a4a5a6a7a8a9]\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}

[111]\begin{bmatrix} 1&&&&&&&&&&\\&1&&&&&&&\\&&1&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\end{bmatrix}

[R]\begin{bmatrix}&&\\&R\\&&\end{bmatrix}

[R]\begin{bmatrix}&&\\&R\\&&\end{bmatrix}

[a1a2a3a4a5a6a7a8a9]=\begin{bmatrix} a'^1\\a'^2\\a'^3\\a'^4\\a'^5\\a'^6\\a'^7\\a'^8\\a'^9\end{bmatrix}=

Examples of representations

3 scalars

a vector

[a1a2a3a4a5a6a7a8a9]R9\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\in \mathbb{R}^9

a vector

system rotated by gg

Representations are like data types

It tells you how to interpret the data with respect to the group action

[a1a2a3a4a5a6a7a8a9]\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}

[111]\begin{bmatrix} 1&&&&&&&&&&\\&1&&&&&&&\\&&1&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\\&&&&&&&&\end{bmatrix}

[R]\begin{bmatrix}&&\\&R\\&&\end{bmatrix}

[R]\begin{bmatrix}&&\\&R\\&&\end{bmatrix}

[a1a2a3a4a5a6a7a8a9]=\begin{bmatrix} a'^1\\a'^2\\a'^3\\a'^4\\a'^5\\a'^6\\a'^7\\a'^8\\a'^9\end{bmatrix}=

Equivariance

VV

VV'

Equivariance

VV

VV'

D(g)D(g)

D(g)D'(g)

VV

VV'

Equivariance

VV

VV'

D(g)D(g)

D(g)D'(g)

VV

VV'

ff

Equivariance

VV

VV'

D(g)D(g)

D(g)D'(g)

VV

VV'

ff

ff

Equivariance

VV

VV'

D(g)D(g)

D(g)D'(g)

VV

VV'

ff

ff

f(D(g)x)f(D(g) x)

Equivariance

VV

VV'

D(g)D(g)

D(g)D'(g)

VV

VV'

ff

ff

f(D(g)x)f(D(g) x)

D(g)f(x)D'(g) f(x)

Equivariance

VV

VV'

D(g)D(g)

D(g)D'(g)

VV

VV'

ff

ff

f(D(g)x)f(D(g) x)

D(g)f(x)D'(g) f(x)

==

Fluid dynamics

Mechanics

Electrodynamics

Standard Model

Rotation

Translation

Boosts

(Galilean or Lorentz)

These models are defined as invariant lagrangians L(state)\mathcal L(\text{state})

 

L(D(g,state))=L(state)\mathcal L(D(g, \text{state})) = \mathcal L(\text{state})

Time

translation

🔨 Composition

🔧 Basic Arithmetic

🔩 Tensor Product

💡 Linear Mixing

🔨 Composition

two equivariant functions

f:V1V2f: V_1 \rightarrow V_2

h:V2V3h: V_2 \rightarrow V_3

hfh\circ f is equivariant!

h(f(D1(g)x))=h(D2(g)f(x))=D3(g)h(f(x)) h(f(D_1(g) x)) = h(D_2(g) f(x)) = D_3(g) h(f(x))

🔧 Basic Arithmetic +/+-*/

two equivariant functions

f:V1V3f: V_1 \rightarrow V_3

h:V2V3h: V_2 \rightarrow V_3

h+fh + f is equivariant!

f(D1(g)x)+h(D2(g)x)=D3(g)(f(x)+h(x)) f(D_1(g) x) + h(D_2(g)x) = D_3(g) (f(x) + h(x))

🔧 Basic Arithmetic +/+-*/

two equivariant functions

f:V1V3f: V_1 \rightarrow V_3

h:V2V3h: V_2 \rightarrow V_3

h+fh + f is equivariant!

f(D1(g)x)+h(D2(g)x)=D3(g)(f(x)+h(x)) f(D_1(g) x) + h(D_2(g)x) = D_3(g) (f(x) + h(x))

equivariant function: f:V1V2f: V_1 \rightarrow V_2

a scalar: αR\alpha \in \mathbb{R}

αf\alpha f is equivariant!

αf(D1(g)x)=D2(g)αf(x) \alpha f(D_1(g) x) = D_2(g) \alpha f(x)

🔩 Tensor Product

[x1x2x3]\begin{bmatrix} {\color{red} x_1}\\{\color{red} x_2}\\{\color{red} x_3}\end{bmatrix}

[y1y2y3y4y5]\begin{bmatrix} {\color{blue} y_1}\\{\color{blue} y_2}\\{\color{blue} y_3}\\{\color{blue} y_4}\\{\color{blue} y_5} \end{bmatrix}

transforming with D(g)D(g)

transforming with D(g)D'(g)

=[x1y1x1y2x1y3x1y4x1y5x2y1x2y2x2y3x2y4x2y5x3y1x3y2x3y3x3y4x3y5]= \begin{bmatrix} x_1y_1 & x_1y_2 & x_1y_3 & x_1y_4 & x_1y_5 \\ x_2y_1 & x_2y_2 & x_2y_3 & x_2y_4 & x_2y_5 \\ x_3y_1 & x_3y_2 & x_3y_3 & x_3y_4 & x_3y_5 \end{bmatrix}

🔩 Tensor Product

\otimes

=[x1y1x1y2x1y3x1y4x1y5x2y1x2y2x2y3x2y4x2y5x3y1x3y2x3y3x3y4x3y5]= \begin{bmatrix}{\color{red} x_1} {\color{blue} y_1}&{\color{red} x_1} {\color{blue} y_2}&{\color{red} x_1} {\color{blue} y_3}&{\color{red} x_1} {\color{blue} y_4}&{\color{red} x_1} {\color{blue} y_5}\\{\color{red} x_2} {\color{blue} y_1}&{\color{red} x_2} {\color{blue} y_2}&{\color{red} x_2} {\color{blue} y_3}&{\color{red} x_2} {\color{blue} y_4}&{\color{red} x_2} {\color{blue} y_5}\\{\color{red} x_3} {\color{blue} y_1}&{\color{red} x_3} {\color{blue} y_2}&{\color{red} x_3} {\color{blue} y_3}&{\color{red} x_3} {\color{blue} y_4}&{\color{red} x_3} {\color{blue} y_5}\end{bmatrix}

transforms with D(g)D(g)D(g) \otimes D'(g) 👍

dim(DD)=dim(D)dim(D)\dim( D \otimes D' ) = \dim( D ) \dim( D' ) 👎

[x1x2x3]\begin{bmatrix} {\color{red} x_1}\\{\color{red} x_2}\\{\color{red} x_3}\end{bmatrix}

[y1y2y3y4y5]\begin{bmatrix} {\color{blue} y_1}\\{\color{blue} y_2}\\{\color{blue} y_3}\\{\color{blue} y_4}\\{\color{blue} y_5} \end{bmatrix}

Reducible representations

DD defined on VV

is reducible if

WV\exists W \subset V     W0,VW\neq0, V

such that

DWD|_W is a representation

Reducible representations

Famous Example

[x1x2x1y2x1z2y1x2y1y2y1z2z1x2z1y2z1z2]\begin{bmatrix}{\color{red} x_1} {\color{blue} x_2}&{\color{red} x_1} {\color{blue} y_2}&{\color{red} x_1} {\color{blue} z_2}\\{\color{red} y_1} {\color{blue} x_2}&{\color{red} y_1} {\color{blue} y_2}&{\color{red} y_1} {\color{blue} z_2}\\{\color{red} z_1} {\color{blue} x_2}&{\color{red} z_1} {\color{blue} y_2}&{\color{red} z_1} {\color{blue} z_2}\end{bmatrix}

[x1y1z1][x2y2z2]=\begin{bmatrix} {\color{red} x_1}\\{\color{red} y_1}\\{\color{red} z_1}\end{bmatrix}\otimes\begin{bmatrix} {\color{blue} x_2}\\{\color{blue} y_2}\\{\color{blue} z_2}\end{bmatrix} =

DD defined on VV

is reducible if

WV\exists W \subset V     W0,VW\neq0, V

such that

DWD|_W is a representation

Reducible representations

x1x2+y1y2+z1z2{\color{red}x_1}{\color{blue}x_2} + {\color{red}y_1}{\color{blue}y_2} + {\color{red}z_1} {\color{blue}z_2}

[c(x1z2+z1x2)c(x1y2+y1x2)2y1y2x1x2z1z2c(y1z2+z1y2)c(z1z2x1x2)]\begin{bmatrix}c ( {\color{red}x_1} {\color{blue}z_2} + {\color{red}z_1} {\color{blue}x_2} ) \\ c ( {\color{red}x_1} {\color{blue}y_2} + {\color{red}y_1} {\color{blue}x_2} ) \\ 2 {\color{red}y_1} {\color{blue}y_2} - {\color{red}x_1} {\color{blue}x_2} - {\color{red}z_1} {\color{blue}z_2} \\ c ( {\color{red}y_1} {\color{blue}z_2} + {\color{red}z_1} {\color{blue}y_2} ) \\ c ( {\color{red}z_1} {\color{blue}z_2} - {\color{red}x_1} {\color{blue}x_2} ) \\\end{bmatrix}

[y1z2z1y2z1x2x1z2x1y2y1x2]\begin{bmatrix}{\color{red}y_1}{\color{blue}z_2}-{\color{red}z_1} {\color{blue}y_2}\\ {\color{red}z_1}{\color{blue}x_2}-{\color{red}x_1}{\color{blue}z_2}\\ {\color{red}x_1}{\color{blue}y_2}-{\color{red}y_1}{\color{blue}x_2}\end{bmatrix}

[x1x2x1y2x1z2y1x2y1y2y1z2z1x2z1y2z1z2]\begin{bmatrix}{\color{red} x_1} {\color{blue} x_2}&{\color{red} x_1} {\color{blue} y_2}&{\color{red} x_1} {\color{blue} z_2}\\{\color{red} y_1} {\color{blue} x_2}&{\color{red} y_1} {\color{blue} y_2}&{\color{red} y_1} {\color{blue} z_2}\\{\color{red} z_1} {\color{blue} x_2}&{\color{red} z_1} {\color{blue} y_2}&{\color{red} z_1} {\color{blue} z_2}\end{bmatrix}

3×3=1+3+53\times3=1+3+5

DD defined on VV

is reducible if

WV\exists W \subset V     W0,VW\neq0, V

such that

DWD|_W is a representation

Reducible representations

DD defined on VV

is irreducible if

only for W=0W = 0 or W=VW=V

 

DWD|_W is a representation

Irreducible

Irreducible representations

For the group of rotations (SO(3)SO(3))

They are index by L=0,1,2,L=0, 1, 2, \dots

Of dimension d=2L+1d=2L+1

L=0 d=1 scalar
L=1 d=3 vector
L=2 d=5
...

Irreducible representations

For the group of rotations + parity (O(3)O(3))

They are index by L=0,1,2,L=0, 1, 2, \dots

and p=±1p=\pm 1

Of dimension d=2L+1d=2L+1

Even: p=1p=1

Odd: p=1p=-1

L=0 d=1 scalar
L=1 d=3 pseudo vector
L=2 d=5
...
L=0 d=1 pseudo scalar
L=1 d=3 vector
L=2 d=5
...

🔩 Tensor Product

L1L2=L1L2(L1+L2)L_1 \otimes L_2 = |L_1-L_2| \oplus \dots \oplus (L_1+L_2)

Clebsch-Gordan Theorem

Tells you how to decompose the tensor product of two irreps into irreps

💡 Linear Mixing

3 scalars

a vector

[a1a2a3a4a5a6a7a8a9]\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}

a vector

3 scalars

a vector

[b1b2b3b4b5b6b7b8b9]\begin{bmatrix} b^1\\b^2\\b^3\\b^4\\b^5\\b^6\\b^7\\b^8\\b^9\end{bmatrix}

a vector

Linear map

💡 Linear Mixing

3 scalars

a vector

[a1a2a3a4a5a6a7a8a9]\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}

a vector

3 scalars

a vector

[b1b2b3b4b5b6b7b8b9]\begin{bmatrix} b^1\\b^2\\b^3\\b^4\\b^5\\b^6\\b^7\\b^8\\b^9\end{bmatrix}

a vector

w1w_1

w2w_2

w3w_3

by Schur's lemma

🔨 Composition

🔧 Basic Arithmetic

🔩 Tensor Product

💡 Linear Mixing

🔨 Composition

🔧 Basic Arithmetic

🔩 Tensor Product

💡 Linear Mixing

  • Graph Message Passing

  • Transformer

  • 3D Convolution

  • ...

Thanks for your Attention!

Data-Efficiency

Protein Folding

Molecular Dynamics

Phonons

Quantum Physics

Docking

ML for Drug Discovery Summer School

By Mario Geiger

ML for Drug Discovery Summer School

  • 371