From fe03bf984476f5602369d87b0f63d2e69ae440ed Mon Sep 17 00:00:00 2001 From: Fabian Joswig Date: Fri, 10 Dec 2021 15:39:57 +0000 Subject: [PATCH] feat: linalg.einsum optimized --- pyerrors/linalg.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyerrors/linalg.py b/pyerrors/linalg.py index ff018652..6eac3e69 100644 --- a/pyerrors/linalg.py +++ b/pyerrors/linalg.py @@ -178,7 +178,8 @@ def einsum(subscripts, *operands): tmp_subscripts = ','.join([o + '...' for o in subscripts.split(',')]) extended_subscripts = '->'.join([o + '...' for o in tmp_subscripts.split('->')[:-1]] + [tmp_subscripts.split('->')[-1]]) - jack_einsum = np.einsum(extended_subscripts, *conv_operands) + einsum_path = np.einsum_path(extended_subscripts, *conv_operands, optimize='optimal')[0] + jack_einsum = np.einsum(extended_subscripts, *conv_operands, optimize=einsum_path) if jack_einsum.dtype == complex: result = _imp_from_jack_c(jack_einsum, name, idl)