fully_connected_tensor_product#

cuequivariance.descriptors.fully_connected_tensor_product(
irreps1: Irreps,
irreps2: Irreps,
irreps3: Irreps,
) EquivariantTensorProduct#

subscripts: weights[uvw],lhs[iu],rhs[jv],output[kw]

Construct a fully connected tensor product descriptor.

The descriptor is constructed by iterating over all possible combinations of irreducible representations of the inputs and output irreps and constructing a path for each combination.

Parameters:
  • irreps1 (Irreps) – Irreps of the first operand.

  • irreps2 (Irreps) – Irreps of the second operand.

  • irreps3 (Irreps) – Irreps of the output.

Returns:

Descriptor of the fully connected tensor product.

Return type:

cue.EquivariantTensorProduct

Examples

>>> cue.descriptors.fully_connected_tensor_product(
...    16 * cue.Irreps("SO3", "0 + 1 + 2"),
...    16 * cue.Irreps("SO3", "0 + 1 + 2"),
...    16 * cue.Irreps("SO3", "0 + 1 + 2"),
... )
EquivariantTensorProduct(61440x0 x 16x0+16x1+16x2 x 16x0+16x1+16x2 -> 16x0+16x1+16x2)

Where 61440x0 are the 61440 weights needed to mix all the inputs with all the outputs.