For example, numpy’s einsum 8 has an “order” and an “optimize” parameter, which lets you either specify exactly the order to eliminate dimensions, or whether or not/how elimination order should be specified. For example, optimize=‘greedy’ just uses a simple and fast greedy algorithm to find a good ordering.
Does torch.einsum 7 optimize the elimination ordering at all?