symmetric_contraction#

cuequivariance.descriptors.symmetric_contraction(
irreps_in: Irreps,
irreps_out: Irreps,
degrees: list[int],
) EquivariantTensorProduct#

subscripts: weights[u],input[u],output[u]

Construct the descriptor for a symmetric contraction.

The symmetric contraction is a weighted sum of the input contracted with itself degree times.

Parameters:
  • irreps_in (Irreps) – The input irreps, the multiplicity are treated in parallel.

  • irreps_out (Irreps) – The output irreps.

  • degree (int) – The degree of the symmetric contraction.

Returns:

The descriptor of the symmetric contraction. The operands are the weights, the input degree times and the output.

Return type:

cue.EquivariantTensorProduct

Examples

>>> cue.descriptors.symmetric_contraction(
...    16 * cue.Irreps("SO3", "0 + 1 + 2"),
...    16 * cue.Irreps("SO3", "0 + 1"),
...    [1, 2, 3]
... )
EquivariantTensorProduct(32x0+80x0+176x0 x (16x0+16x1+16x2)^(1..3) -> 16x0+16x1)

Where 32x0+80x0+176x0 are the weights needed for each degree (32 for degree 1, 80 for degree 2, 176 for degree 3).