From b868664e68d671889fd98957dbcea2729ee0e3ba Mon Sep 17 00:00:00 2001 From: Gausshj Date: Tue, 4 Nov 2025 10:52:33 +0800 Subject: [PATCH] fix(exponential): fix exponential arrow order - Fix exponential arrow order --- grassmann_tensor/tensor.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) 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