Group Theory, Irreducible Representations, and Tensor Products

and How to Use them to Build Equivariant Polynomials

Mario Geiger

Swiss Equivariant Learning Workshop

Polynomials

  1. Define properly what is an equivariant polynomial
  2. Give the tools to create them

 

 

 

Examples

  1. Spherical Harmonics

intro

polynomials

examples

intro

polynomials

examples

Group and Representations

intro

polynomials

examples

Group and Representations

"what are the operations"

"how they compose"

intro

polynomials

examples

Group and Representations

"what are the operations"

"how they compose"

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

intro

polynomials

examples

Group and Representations

"what are the operations"

"how they compose"

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

rotations, parity, (translations)

scalars, vectors, pseudovectors, ...

intro

polynomials

examples

Group and Representations

Group \(G\)

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

"what are the operations" "how they compose"

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

intro

polynomials

examples

Group and Representations

"what are the operations" "how they compose"

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

Group \(G\)

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

intro

polynomials

examples

Group and Representations

"what are the operations" "how they compose"

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

Group \(G\)

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

intro

polynomials

examples

Group and Representations

"what are the operations" "how they compose"

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

Group \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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 \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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 \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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 \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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 \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

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

Equivalent notation \(D(g) x\)

  • \(D(g) : V\to V\)
  • \(D(g) \in \mathbb{R}^{d\times d}\)
  • \(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 \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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) x\)

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

Group \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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) x\)

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

Group \(G\)

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

intro

polynomials

examples

Representation \(D(g, x)\)

  • \(g\in G\), \(x \in V\)
  • Linear \(D(g, x+y) = D(g,x) + D(g,y) \)
  • Follow the structure of the group
    \(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) x\)

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

Group \(G\)

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

intro

polynomials

examples

Examples of representations

\(\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\)

intro

polynomials

examples

Examples of representations

3 scalars

Representations are like data types

It tells you how to interpret the data...

\(\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\)

intro

polynomials

examples

Examples of representations

3 scalars

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

\(\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\)

intro

polynomials

examples

Examples of representations

3 scalars

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

\(\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 \(a_1, a_2, a_3\) are scalars tells you that they are not affected by a rotation of your system

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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 \(G\)!

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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 \(G\)!

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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

The two vectors transforms indepentently

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

system rotated by \(g\)

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

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

system rotated by \(g\)

\(\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\)

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

system rotated by \(g\)

\(\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\)

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

system rotated by \(g\)

\(\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\)

intro

polynomials

examples

Examples of representations

3 scalars

a vector

\(\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

Representations are like data types

It tells you how to interpret the data with respect to the \(G\)!

system rotated by \(g\)

\(\begin{bmatrix} a^1\\a^2\\a^3\\a^4\\a^5\\a^6\\a^7\\a^8\\a^9\end{bmatrix}\)

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

\(D(g)\)

\(D'(g)\)

\(V\)

\(V'\)

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

\(D(g)\)

\(D'(g)\)

\(V\)

\(V'\)

\(f\)

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

\(D(g)\)

\(D'(g)\)

\(V\)

\(V'\)

\(f\)

\(f\)

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

\(D(g)\)

\(D'(g)\)

\(V\)

\(V'\)

\(f\)

\(f\)

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

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

\(D(g)\)

\(D'(g)\)

\(V\)

\(V'\)

\(f\)

\(f\)

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

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

intro

polynomials

examples

Equivariance

\(V\)

\(V'\)

\(D(g)\)

\(D'(g)\)

\(V\)

\(V'\)

\(f\)

\(f\)

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

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

\(=\)

intro

polynomials

examples

Polynomials

Most simple yet powerful functions

intro

polynomials

examples

Polynomials

Most simple yet powerful functions

Be able to create polynomials compatible with rotations is a powerful tool

intro

polynomials

examples

Polynomials

\(x \mapsto x^2 + 2(x-4)\)

intro

polynomials

examples

Polynomials

\(x \mapsto x^2 + 2(x-4)\)

\(\begin{bmatrix} x\\ y\\ z \end{bmatrix} \mapsto x^2 + 2(y-z)x\)

intro

polynomials

examples

Polynomials

\(x \mapsto x^2 + 2(x-4)\)

\(\begin{bmatrix} x\\ y\\ z \end{bmatrix} \mapsto x^2 + 2(y-z)x\)

\(\begin{bmatrix} x\\ y\\ z \end{bmatrix} \mapsto \begin{bmatrix} x^2 + 2(y-z) \\ z^4 + 100 x y z\end{bmatrix}\)

intro

polynomials

examples

Equivariant Polynomials

\(P(D(g) x) = D'(g) P(x)\)

\(\begin{bmatrix} x\\ y\\ z \end{bmatrix} \mapsto \begin{bmatrix} x^2 + 2(y-z) \\ z^4 + 100 x y z\end{bmatrix}\)

😟

Not equivariant

\(\begin{bmatrix} x\\ y\\ z \end{bmatrix} \mapsto \begin{bmatrix} x^2 + y^2 + z^2 \end{bmatrix}\)

😌

Equivariant

intro

polynomials

examples

3 Tools to Make Equivariant Polynomials

  • 🔨Composition \(\circ\)
  • 🔧Addition \(+\)
  • 🔩Multiplication \(\otimes\)

intro

polynomials

examples

🔨Composition

two equivariant functions

\(f: V_1 \rightarrow V_2\)

\(h: V_2 \rightarrow V_3\)

\(h\circ f\) is equivariant!! 😊

\( h(f(D_1(g) x)) = h(D_2(g) f(x)) = D_3(g) h(f(x)) \)

intro

polynomials

examples

🔧Addition

two equivariant functions

\(f: V_1 \rightarrow V_3\)

\(h: V_2 \rightarrow V_3\)

\(h + f\) is equivariant!! 😊

\( f(D_1(g) x) + h(D_2(g)x) = D_3(g) (f(x) + h(x)) \)

intro

polynomials

examples

🔩Multiplication

\(\begin{bmatrix} {\color{red} x_1}\\{\color{red} x_2}\\{\color{red} x_3}\end{bmatrix}\)

\(\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)\)

transforming with \(D'(g)\)

\(= \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}\)

intro

polynomials

examples

🔩Multiplication

\(\otimes\)

\(= \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}\)

Tensor Product

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

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

\(\begin{bmatrix} {\color{red} x_1}\\{\color{red} x_2}\\{\color{red} x_3}\end{bmatrix}\)

\(\begin{bmatrix} {\color{blue} y_1}\\{\color{blue} y_2}\\{\color{blue} y_3}\\{\color{blue} y_4}\\{\color{blue} y_5} \end{bmatrix}\)

intro

polynomials

examples

\(\text{vector} \otimes \text{vector} \otimes \text{vector} \otimes \dots\)

 

tensors of shape \(3\times3\times3\times\dots\)

Cartesian Tensors

The grow in dimension is problematic

Luckily the tensor product is reducible

Reducible representations

intro

polynomials

examples

\(D\) defined on \(V\)

is reducible if

\(\exists W \subset V\)

such that

\(D|_W\) is a representation

Reducible representations

Famous Example

\(\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}\)

\(D\) defined on \(V\)

is reducible if

\(\exists W \subset V\)

such that

\(D|_W\) is a representation

\(\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} = \)

intro

polynomials

examples

intro

polynomials

examples

Reducible representations

\({\color{red}x_1}{\color{blue}x_2} + {\color{red}y_1}{\color{blue}y_2} + {\color{red}z_1} {\color{blue}z_2}\)

\(\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}\)

\(\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}\)

\(\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\times3=1+3+5\)

These can be seen as polynomials!

\(D\) is reducible if

\(\exists W \subset V\)

such that

\(D|_W\) is a representation

intro

polynomials

examples

Irreducible representations

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

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

Of dimension \(2L+1\)

L=0 d=1 scalar, s orbital
L=1 d=3 vector, p orbital
L=2 d=5 d orbital
...

intro

polynomials

examples

Irreducible representations

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

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

and \(p=\pm 1\)

Of dimension \(2L+1\)

Even

Odd

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

🔩Multiplication

intro

polynomials

examples

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

generalization of \(3\times3=1+3+5\)

  • \( 2 \otimes 1 = 1 \oplus 2 \oplus 3 \)
  • \( 2 \otimes 2 = 0\oplus 1 \oplus 2 \oplus 3 \oplus 4 \)

intro

polynomials

examples

🔨Composition

🔧Addition

🔩Multiplication

Composition of equivariant polynomials ✅

Addition of equivariant polynomials ✅

Tensor Product of equivariant polynomials ✅

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

p2(p1(x, y), z)
p1(x, y) + p2(w, z)
from e3nn import o3

p = o3.FullTensorProduct("1o", "1o")

p(x, y)

intro

polynomials

examples

Spherical Harmonics

Representation of highest order (\(l\)) in \(\vec x \otimes \vec x \otimes \dots\)

Conclusion

  • Group and representations
  • 😊 Equivariance \(f({\color{purple}D(g)} x) = {\color{darkgreen}D'(g)} f(x)\)
    • 🔨Composition
    • 🔧Addition
  • Polynomials
    •  🔩 Tensor Product  \(L_1 \otimes L_2 = |L_1-L_2| \oplus \dots \oplus (L_1+L_2)\)
  • ​Examples
    • ​Spherical Harmonics

Thank you for listening!

Equivariance

By Mario Geiger

Equivariance

  • 552