diff --git a/cyten/models/degrees_of_freedom.py b/cyten/models/degrees_of_freedom.py index 891e3ed4..00a3eaf6 100644 --- a/cyten/models/degrees_of_freedom.py +++ b/cyten/models/degrees_of_freedom.py @@ -29,6 +29,7 @@ SymmetryError, U1Symmetry, ZNSymmetry, + Sector ) from ..tensors import DiagonalTensor, SymmetricTensor from ..tools import as_immutable_array, is_iterable, to_iterable, to_valid_idx @@ -149,6 +150,16 @@ def add_onsite_operator( ) self.onsite_operators[name] = op + @abstractmethod + def get_mpo_building_block(self, label: str) -> SymmetricTensor: + """FIXME""" + ... + + @abstractmethod + def mpo_building_block_basis(self, a: Sector, b: Sector) -> list[int]: + """""" + ... + def state_index(self, label: str | int) -> int: """The index of a basis state.""" if isinstance(label, str):