From fb5439e64d37461cb43c80f459755b5533ca40f0 Mon Sep 17 00:00:00 2001 From: Jakob Unfried Date: Thu, 5 Dec 2024 17:14:09 +0100 Subject: [PATCH] Remove outdated backend classes E.g. NoSymmetryNumpyBackend We introduced them back when backends had a diamond inheritance structure of a block backend and a symmetry backend. Since we changed that, these specialized classes are unnecessary. --- cyten/backends/array_api.py | 30 +----------------------------- cyten/backends/numpy.py | 27 +-------------------------- cyten/backends/torch.py | 30 +----------------------------- 3 files changed, 3 insertions(+), 84 deletions(-) diff --git a/cyten/backends/array_api.py b/cyten/backends/array_api.py index 5dab001..6dafd5b 100644 --- a/cyten/backends/array_api.py +++ b/cyten/backends/array_api.py @@ -6,16 +6,12 @@ from __future__ import annotations from .abstract_backend import BlockBackend, Block -from .no_symmetry import NoSymmetryBackend -from .fusion_tree_backend import FusionTreeBackend -from .abelian import AbelianBackend from ..dtypes import Dtype import numpy as np -__all__ = ['ArrayApiBlockBackend', 'NoSymmetryArrayApiBackend', 'AbelianArrayApiBackend', - 'FusionTreeArrayApiBackend'] +__all__ = ['ArrayApiBlockBackend'] # TODO provide an example... @@ -294,27 +290,3 @@ def block_enlarge_leg(self, block: Block, mask: Block, axis: int) -> Block: def block_stable_log(self, block: Block, cutoff: float) -> Block: return self._api.where(block > cutoff, self._api.log(block), 0.) - - -class NoSymmetryArrayApiBackend(NoSymmetryBackend): - """TODO""" - - def __init__(self, api_namespace): - block_backend = ArrayApiBlockBackend(api_namespace) - NoSymmetryBackend.__init__(self, block_backend=block_backend) - - -class AbelianArrayApiBackend(AbelianBackend): - """TODO""" - - def __init__(self, api_namespace): - block_backend = ArrayApiBlockBackend(api_namespace) - AbelianBackend.__init__(self, block_backend=block_backend) - - -class FusionTreeArrayApiBackend(FusionTreeBackend): - """TODO""" - - def __init__(self, api_namespace): - block_backend = ArrayApiBlockBackend(api_namespace) - FusionTreeBackend.__init__(self, block_backend=block_backend) diff --git a/cyten/backends/numpy.py b/cyten/backends/numpy.py index d361237..121f685 100644 --- a/cyten/backends/numpy.py +++ b/cyten/backends/numpy.py @@ -5,14 +5,10 @@ import numpy as np import scipy -from .abelian import AbelianBackend from .abstract_backend import BlockBackend, Block -from .no_symmetry import NoSymmetryBackend -from .fusion_tree_backend import FusionTreeBackend from ..dtypes import Dtype, _numpy_dtype_to_cyten, _cyten_dtype_to_numpy -__all__ = ['NumpyBlockBackend', 'NoSymmetryNumpyBackend', 'AbelianNumpyBackend', - 'FusionTreeNumpyBackend'] +__all__ = ['NumpyBlockBackend'] class NumpyBlockBackend(BlockBackend): @@ -292,26 +288,5 @@ def zero_block(self, shape: list[int], dtype: Dtype, device: str = None) -> Bloc return np.zeros(shape, dtype=self.backend_dtype_map[dtype]) -class NoSymmetryNumpyBackend(NoSymmetryBackend): - """TODO""" - - def __init__(self): - NoSymmetryBackend.__init__(self, block_backend=NumpyBlockBackend()) - - -class AbelianNumpyBackend(AbelianBackend): - """TODO""" - - def __init__(self): - AbelianBackend.__init__(self, block_backend=NumpyBlockBackend()) - - -class FusionTreeNumpyBackend(FusionTreeBackend): - """TODO""" - - def __init__(self): - FusionTreeBackend.__init__(self, block_backend=NumpyBlockBackend()) - - def _svd_gesvd(a): raise NotImplementedError # TODO diff --git a/cyten/backends/torch.py b/cyten/backends/torch.py index e34f2d9..6fbaec8 100644 --- a/cyten/backends/torch.py +++ b/cyten/backends/torch.py @@ -4,14 +4,10 @@ from numpy import prod import numpy -from .abelian import AbelianBackend from .abstract_backend import BlockBackend, Block -from .no_symmetry import NoSymmetryBackend -from .fusion_tree_backend import FusionTreeBackend from ..dtypes import Dtype -__all__ = ['TorchBlockBackend', 'NoSymmetryTorchBackend', 'AbelianTorchBackend', - 'FusionTreeTorchBackend'] +__all__ = ['TorchBlockBackend'] class TorchBlockBackend(BlockBackend): @@ -338,27 +334,3 @@ def synchronize(self): def zero_block(self, shape: list[int], dtype: Dtype, device: str = None) -> Block: return torch_module.zeros(list(shape), dtype=self.backend_dtype_map[dtype], device=self.as_device(device)) - - -class NoSymmetryTorchBackend(NoSymmetryBackend): - """TODO""" - - def __init__(self, default_device: str = 'cpu'): - block_backend = TorchBlockBackend(default_device=default_device) - NoSymmetryBackend.__init__(self, block_backend=block_backend) - - -class AbelianTorchBackend(AbelianBackend): - """TODO""" - - def __init__(self, default_device: str = 'cpu'): - block_backend = TorchBlockBackend(default_device=default_device) - AbelianBackend.__init__(self, block_backend=block_backend) - - -class FusionTreeTorchBackend(FusionTreeBackend): - """TODO""" - - def __init__(self, default_device: str = 'cpu'): - block_backend = TorchBlockBackend(default_device=default_device) - FusionTreeBackend.__init__(self, block_backend=block_backend)