Skip to content

Commit

Permalink
Fix typo in moment of inertia tensor example
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 621831766
  • Loading branch information
OUnke authored and The e3x Authors committed Apr 4, 2024
1 parent 81d840b commit 96df74f
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions docs/source/examples/moment_of_inertia.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,11 @@
"\n",
"1. Initialize features by concatenating masses and positions and reshaping to match the feature shape conventions used in E3x.\n",
"\n",
"2. Apply the following transformations: First we project the mass-position features to a `features`-dimensional feature space using a `Dense` layer. Next, a `TensorDense` layer is applied to allow coupling between the irreps $\\mathbb{0}$ (scalars) and $\\mathbb{1}$ (vectors). A second `TensorDense` layer is applied, because in general, to predict an arbitrary second order tensor, we need (even) irreps $\\mathbb{0}$, $\\mathbb{1}$, and $\\mathbb{2}$ (since $\\mathbb{3} \\otimes \\mathbb{3} = \\mathbb{0}\\oplus\\mathbb{1}\\oplus\\mathbb{2}$). Thus, the features are \"elevated\" from maximum degree $1$ (scalars and vectors) to `max_degree=2`. Further, since we only want to predict a single second order tensor, the layer also maps from the `features`-dimensional feature space to single output irreps $\\mathbb{0}$, $\\mathbb{1}$, and $\\mathbb{2}$ (`features=1`). Note: Since the moment of inertia tensor is symmetric, it really only consists of irreps $\\mathbb{0}$ and $\\mathbb{2}$. We could thus zero out the irrep of degree $1$ to only predict symmetric tensors. However, let's pretend that we do not know this, the model should learn to predict (almost) symmetric tensors anyway.\n",
"2. Apply the following transformations: First we project the mass-position features to a `features`-dimensional feature space using a `Dense` layer. Next, a `TensorDense` layer is applied to allow coupling between the irreps $\\mathbb{0}$ (scalars) and $\\mathbb{1}$ (vectors). A second `TensorDense` layer is applied, because in general, to predict an arbitrary second order tensor, we need (even) irreps $\\mathbb{0}$, $\\mathbb{1}$, and $\\mathbb{2}$ (since $\\mathbb{1} \\otimes \\mathbb{1} = \\mathbb{0}\\oplus\\mathbb{1}\\oplus\\mathbb{2}$). Thus, the features are \"elevated\" from maximum degree $1$ (scalars and vectors) to `max_degree=2`. Further, since we only want to predict a single second order tensor, the layer also maps from the `features`-dimensional feature space to single output irreps $\\mathbb{0}$, $\\mathbb{1}$, and $\\mathbb{2}$ (`features=1`). Note: Since the moment of inertia tensor is symmetric, it really only consists of irreps $\\mathbb{0}$ and $\\mathbb{2}$. We could thus zero out the irrep of degree $1$ to only predict symmetric tensors. However, let's pretend that we do not know this, the model should learn to predict (almost) symmetric tensors anyway.\n",
"\n",
"3. Sum over contributions from individual points.\n",
"\n",
"4. Build the $3\\times3$ tensor from the irreps by applying the Clebsch-Gordan rule backwards: $\\mathbb{0}\\oplus\\mathbb{1}\\oplus\\mathbb{2} = \\mathbb{3} \\otimes \\mathbb{3}$."
"4. Build the $3\\times3$ tensor from the irreps by applying the Clebsch-Gordan rule backwards: $\\mathbb{0}\\oplus\\mathbb{1}\\oplus\\mathbb{2} = \\mathbb{1} \\otimes \\mathbb{1}$."
]
},
{
Expand Down

0 comments on commit 96df74f

Please sign in to comment.