mindscience.e3nn.o3.FullTensorProduct

class mindscience.e3nn.o3.FullTensorProduct(irreps_in1, irreps_in2, filter_ir_out=None, ncon_dtype=mindspore.float32, **kwargs)[source]

Full tensor product between two irreps. All possible output irreps are generated, including every allowed \(|l_1 - l_2| \leq l_{out} \leq l_1 + l_2\) combination. Equivalent to TensorProduct with instructions='full'. For details, see mindscience.e3nn.o3.TensorProduct.

Parameters
  • irreps_in1 (Union[str, Irrep, Irreps]) – Irreps for the first input.

  • irreps_in2 (Union[str, Irrep, Irreps]) – Irreps for the second input.

  • filter_ir_out (Union[str, Irrep, Irreps, None], optional) – Filter to select only specific Irrep of the output. Default: None.

  • ncon_dtype (mindspore.dtype, optional) – The type of input tensors of ncon computation module. Default: mindspore.float32 .

Examples

>>> from mindscience.e3nn.o3 import FullTensorProduct
>>> FullTensorProduct('2x1o+4x0o', '1x1o+3x0e')
TensorProduct [full] (2x1o+4x0o x 1x1o+3x0e -> 2x0e+12x0o+6x1o+2x1e+4x1e+2x2e)