{
“cells”: [
{

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“# Combining Representations from Different Groups (experimental)n”, “## Direct Product groups”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“It is possible to combine representations from different groups. These kinds of representations are relevant when there are multiple structures in the data. For example, a point cloud is a set of vectors which transforms both under permutations and rotations of the vectors. We can formalize this as $V_{S_n}\otimes V_{SO(3)}$ or in tensor notation $T_1^{S_n}\otimes T_1^{SO(3)}$. While this object could be expressed as the representation of the product group $V_{S_n \times SO(3)}$, other objects like $T_k^{S_n}\otimes T_j^{SO(3)}$ can not be so easily.n”, “n”, “Nevertheless, we can calculate the symmetric bases for these objects. For example, maps from vector edge features $T_1^{SO(3)}\otimes T_2^{S_n}$ to matrix node features $T_2^{SO(3)}\otimes T_1^{S_n}$ can be computed:”

]

}, {

“cell_type”: “code”, “execution_count”: 1, “metadata”: {}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“V_SO(3)⊗V²_S(4) –> V²_SO(3)⊗V_S(4)n”

]

}

], “source”: [

“from emlp.groups import *n”, “from emlp.reps import T,vis,V,Scalarn”, “n”, “repin,repout = T(1)(SO(3))*T(2)(S(4)),T(2)(SO(3))*T(1)(S(4))n”, “print(repin,"–>", repout)”

]

}, {

“cell_type”: “code”, “execution_count”: 7, “metadata”: {}, “outputs”: [

{
“data”: {

“image/png”: “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n”, “text/plain”: [

“<Figure size 432x288 with 1 Axes>”

]

}, “metadata”: {

“needs_background”: “light”

}, “output_type”: “display_data”

}

], “source”: [

“vis(repin,repout,cluster=False)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“Or perhaps you would like equivariant maps from two sequence of sets and a matrix (under 3D rotations) to itself. You can go wild.”

]

}, {

“cell_type”: “code”, “execution_count”: 2, “metadata”: {}, “outputs”: [

{

“name”: “stdout”, “output_type”: “stream”, “text”: [

“Rep: V²+2V_S(4)⊗V_Z(3)n”, “Linear maps: V⁴+4V_S(4)⊗V_Z(3)⊗V²_SO(3)+4V²_S(4)⊗V²_Z(3)n”

]

}

], “source”: [

“rep = 2*T(1)(Z(3))*T(1)(S(4))+T(2)(SO(3))n”, “print(f"Rep: {rep}")n”, “print(f"Linear maps: {rep>>rep}")”

]

}, {

“cell_type”: “code”, “execution_count”: 7, “metadata”: {

“scrolled”: true

}, “outputs”: [

{
“data”: {

“image/png”: “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n”, “text/plain”: [

“<Figure size 432x288 with 1 Axes>”

]

}, “metadata”: {

“needs_background”: “light”

}, “output_type”: “display_data”

}

], “source”: [

“vis(rep,rep)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“The kronecker product of the individual solutions for different groups can be seen in these basis matrices, in the top left hand corner we have a circulant matrix of deep set solutions (identity + background)”

]

}, {

“cell_type”: “code”, “execution_count”: 3, “metadata”: {}, “outputs”: [

{
“data”: {

“image/png”: “iVBORw0KGgoAAAANSUhEUgAAAOcAAADnCAYAAADl9EEgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAAEpklEQVR4nO3cPWuedRiH4TttoNAvoHPFRYJkKmSU6l4EwZZu7dSl2MmX2ZcpkiUfIQiCe1F06BBIEVIpLmKHDsWv4NA+foHk6XLVng8cx/jccJHl5A8Zflur1WoBei686T8AOJs4IUqcECVOiBInRG2v+/jlHx+P/Cv3+P7ViTNJz+68GLlz5ebpyJ2aB89PR+7sHNwduVP057efbZ31u5cTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LWLiFMLRjs7Z+M3CkuKkwtGDw92h25U1tUmFoweHLvcOTOsmzOqoKXE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROi1i4hTLGo8GoWFdabXC+YWlV43YsKXk6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiNparVbnfvzgw+/O/7jBphYVlmVZHu1eHLtVMrWocOnx5ZE7RVOLChfe/mvrzN9HrgPjxAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUWtnSl7+8+7ITMnOwd2JM0nXbzwcuXN8/+rInZpnd16M3Lly83TkTtHPL380UwKbRJwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IWrtEsJ7X3w/soTw5N7hxJnkosJbj/4dubO3fzJyp7aosP3r7yN3nh7tjtxZlt6qgiUE2DDihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR/8sSwpTiosLUEsKU2qLC1BLCpKlVhalFBUsIsGHECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROiNmoJYcrUosKyLMu1W7fHbpVMLSo82r04cqdoalHh70+/soQAm0ScECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFq7RLCOz98PbKEcOXm6cSZpAfPT0fu7BzcHblTc/3Gw5E7x/evjtwp+u2Xzy0hwCYRJ0SJE6LECVHihChxQpQ4IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6I2l73cWrB4OnR7sid4qLC1ILBk3uHI3dqiwpTCwZ7+ycjd5Zlc1YVvJwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihChxQpQ4IUqcECVOiFo7UzLF3MmrmTtZb3JaZGry5HXPnXg5IUqcECVOiBInRIkTosQJUeKEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFqa7VanfvxowufnP9xg00tKizLslx6fHnsVsnUosK1W7dH7hRNLSp88/5PW2f97uWEKHFClDghSpwQJU6IEidEiROixAlR4oQocUKUOCFKnBAlTogSJ0SJE6LECVHihKi1SwjAm+PlhChxQpQ4IUqcECVOiBInRP0H3NO3PQoCCbMAAAAASUVORK5CYII=n”, “text/plain”: [

“<Figure size 432x288 with 1 Axes>”

]

}, “metadata”: {

“needs_background”: “light”

}, “output_type”: “display_data”

}

], “source”: [

“vis(V(Z(3))*V(S(4)),V(Z(3))*V(S(4)))”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“And in the bottom left we have maps $V_{Z_3}\otimes V_{S_4} \rightarrow V_{SO(2)}^{\otimes 2}$ of which the solutions are the product of $V_{Z_3}\otimes V_{S_4} \rightarrow \mathbb{R}$ (the vector $\mathbf{1}$) and $\mathbb{R} \rightarrow V_{SO(2)}^{\otimes 2}$ (the flattened $I_{3\times 3}$)”

]

}, {

“cell_type”: “code”, “execution_count”: 5, “metadata”: {}, “outputs”: [

{
“data”: {

“image/png”: “iVBORw0KGgoAAAANSUhEUgAAATAAAADnCAYAAACZtwrQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8vihELAAAACXBIWXMAAAsTAAALEwEAmpwYAAADZUlEQVR4nO3dsY3CQBRF0bVFEYicnC4omlJogCo82wDjYIXMXumc9CU/uhrJgZcxxg9A0frtAwD+SsCALAEDsgQMyBIwIOu0N26vq0+UwFet5+cy3Y48BOCTBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBr97+Q98vtoDMA3nts880LDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7KWMcZ03F7X+QhwgPX8XKbbkYcAfJKAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZJ32xvvldtAZAO89tvnmBQZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZAgZkCRiQJWBAloABWQIGZAkYkCVgQJaAAVkCBmQJGJAlYECWgAFZyxhjOm6v63wEOMB6fi7T7chDAD5JwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7IEDMgSMCBLwIAsAQOyBAzIEjAgS8CALAEDsgQMyBIwIEvAgCwBA7J2/wsJ8J95gQFZAgZkCRiQJWBAloABWQIGZP0C0FAeWUQoKl0AAAAASUVORK5CYII=n”, “text/plain”: [

“<Figure size 432x288 with 1 Axes>”

]

}, “metadata”: {

“needs_background”: “light”

}, “output_type”: “display_data”

}

], “source”: [

“vis(V(Z(3))*V(S(4)),T(2)(SO(3)),False)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“## Wreath Products (coming soon)”

]

}, {

“cell_type”: “markdown”, “metadata”: {}, “source”: [

“These are all examples of tensor products of representations, which are in turn a kind of representation on the direct product group $G=G_1\times G_2$. There are other ways of combining groups however, and for many hierarchical structures there is a larger group of symmetries $G_1\wr G_2$ that contains $G_1 \times G_2$ but also other elements. These so called wreath products in the very nice paper [Equivariant Maps for Hierarchical Structures](https://arxiv.org/pdf/2006.03627.pdf). Support for the wreath product of representations is not yet implemented but if this is something that would be useful to you, send me an email.”

]

}

], “metadata”: {

“kernelspec”: {

“display_name”: “Python 3”, “language”: “python”, “name”: “python3”

}, “language_info”: {

“codemirror_mode”: {

“name”: “ipython”, “version”: 3

}, “file_extension”: “.py”, “mimetype”: “text/x-python”, “name”: “python”, “nbconvert_exporter”: “python”, “pygments_lexer”: “ipython3”, “version”: “3.8.5”

}

}, “nbformat”: 4, “nbformat_minor”: 2

}