assume#

class cuequivariance.assume(
irrep_class: str | Type[Irrep] | None = None,
layout: IrrepsLayout | None = None,
)#

assume is a context manager or decorator to assume the irrep class and layout for a block of code or a function.

Examples

As a context manager:

>>> with cue.assume(cue.SO3, cue.mul_ir):
...     rep = cue.IrrepsAndLayout("2x1")
>>> rep.irreps
2x1
>>> rep.layout
(mul,irrep)

As a decorator:

>>> @cue.assume(cue.SO3, cue.mul_ir)
... def foo():
...     return cue.IrrepsAndLayout("2x1")
>>> assert foo() == rep