diff --git a/grassmann_tensor/tensor.py b/grassmann_tensor/tensor.py index c2e06f4..32fced9 100644 --- a/grassmann_tensor/tensor.py +++ b/grassmann_tensor/tensor.py @@ -727,9 +727,12 @@ def _get_inv_order(self, order: tuple[int, ...]) -> tuple[int, ...]: def exponential(self, pairs: tuple[int, ...]) -> GrassmannTensor: tensor, left_legs, right_legs = self._group_edges(pairs) - edges_to_reverse = [i for i in range(2) if tensor.arrow[i]] + arrow_order = (False, True) + edges_to_reverse = tuple( + i for i, arrow in enumerate(arrow_order) if tensor.arrow[i] != arrow + ) if edges_to_reverse: - tensor = tensor.reverse(tuple(edges_to_reverse)) + tensor = tensor.reverse(edges_to_reverse) left_dim, right_dim = tensor.tensor.shape