google-research / e3x

E3x is a JAX library for constructing efficient E(3)-equivariant deep learning architectures built on top of Flax.
https://e3x.readthedocs.io/stable/
Apache License 2.0
87 stars 5 forks source link

Question about moments of inertia tutorial #16

Closed Chronum94 closed 7 months ago

Chronum94 commented 7 months ago

In the moment of inertial regression tutorial found here , shouldn't it be 1 otimes 1 = 0 oplus 1 oplus 2? Since the moment of inertial tensor is a rank 2, 1 otimes 1 tensor?

The part in the example which I think might be a typo: image

In the code example, this is correctly done since we have:

    cg = e3x.so3.clebsch_gordan(max_degree1=1, max_degree2=1, max_degree3=2)  # Shape (4, 4, 9).
    y = jnp.einsum('...l,nml->...nm', x, cg[1:, 1:, :])  # Shape (..., 3, 3).

Is there a typo in the text, or am I misunderstanding something (very possible since I'm new to a lot of this)?

OUnke commented 7 months ago

Thank you for bringing this to our attention (and sorry for the delayed reply). You are correct, this is a typo! In an earlier version, we used a different notation using double struck digits not for the degree of the irrep, but for the number of components it has (i.e., 0 would have been written as 1, 1 would have been written as 3 etc.). I will push a fix for the documentation.