Skip to content

Commit

Permalink
Remove outdated backend classes
Browse files Browse the repository at this point in the history
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.
  • Loading branch information
Jakob-Unfried committed Dec 5, 2024
1 parent 8d544c4 commit fb5439e
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 84 deletions.
30 changes: 1 addition & 29 deletions cyten/backends/array_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -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...
Expand Down Expand Up @@ -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)
27 changes: 1 addition & 26 deletions cyten/backends/numpy.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -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
30 changes: 1 addition & 29 deletions cyten/backends/torch.py
Original file line number Diff line number Diff line change
Expand Up @@ -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):
Expand Down Expand Up @@ -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)

0 comments on commit fb5439e

Please sign in to comment.