e3j.O3Array

class e3j.O3Array(space: str | SpaceT, array: Array, layout: str | Layout | None = None)

Arrays of O3-equivariant data.

Methods

__getitem__(idx)

__init__(space, array[, layout])

blocks()

Yield blocks of isomorphic irreducible subspaces.

replace(**updates)

Returns a new object replacing the specified fields with new values.

Attributes

feature_axis

layout

ndim

shape

space

array

__init__(space: str | SpaceT, array: Array, layout: str | Layout | None = None)
blocks() Iterable[Array]

Yield blocks of isomorphic irreducible subspaces.

Equivariant linear operations can only mix irreducible representations from a same block, i.e. they are essentially block-diagonal operations, see e3j.linen.Linear.

This method is analogous to e3nn.IrrepsArray.chunks except that: * there is no notion of None chunks / zero_flags * the slice axis depends on the layout.

replace(**updates)

Returns a new object replacing the specified fields with new values.