e3x.nn.features.add

e3x.nn.features.add(*inputs)[source]

Add multiple input features.

Adding \(\mathrm{O}(3)\) or \(\mathrm{SO}(3)\) features is not trivial, because only features with the same parity and degree may be added to each other. When features with different max_degree (or type) are added together naively, the operation either fails (because the shapes do not match), or worse, it may work, but produce incorrect results (because dimensions with size 1 are incorrectly broadcasted). This function makes sure features of different shape are “broadcasted” correctly.

Parameters:

*inputs (Union[Float[Array, '... 1 (max_degree+1)**2 num_features'], Float[Array, '... 2 (max_degree+1)**2 num_features']]) – Input features.

Return type:

Union[Float[Array, '... 1 (max_degree+1)**2 num_features'], Float[Array, '... 2 (max_degree+1)**2 num_features']]

Returns:

The sum of all input features.