xPerm: fast index canonicalization for tensor computer algebra
Jose M. Martin-Garcia

TL;DR
xPerm is a highly efficient implementation of the Butler-Portugal algorithm for tensor index canonicalization, significantly outperforming existing tools and capable of handling complex tensor expressions rapidly.
Contribution
The paper introduces xPerm, a combined Mathematica and C implementation that accelerates tensor index canonicalization, demonstrating polynomial performance and practical efficiency for large tensor expressions.
Findings
Handles several dozen indices in hundredths of a second
Can process one hundred indices in a few seconds
Outperforms all current canonicalizers
Abstract
We present a very fast implementation of the Butler-Portugal algorithm for index canonicalization with respect to permutation symmetries. It is called xPerm, and has been written as a combination of a Mathematica package and a C subroutine. The latter performs the most demanding parts of the computations and can be linked from any other program or computer algebra system. We demonstrate with tests and timings the effectively polynomial performance of the Butler-Portugal algorithm with respect to the number of indices, though we also show a case in which it is exponential. Our implementation handles generic tensorial expressions with several dozen indices in hundredths of a second, or one hundred indices in a few seconds, clearly outperforming all other current canonicalizers. The code has been already under intensive testing for several years and has been essential in recent…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
