Average-case algorithms for testing isomorphism of polynomials, algebras, and multilinear forms
Joshua A. Grochow, Youming Qiao, Gang Tang

TL;DR
This paper introduces average-case algorithms for testing isomorphism of polynomials, algebras, and multilinear forms, with practical implications in cryptography and complexity theory, demonstrating polynomial-time equivalences among various isomorphism problems.
Contribution
It provides the first average-case algorithms for polynomial, algebra, and multilinear form isomorphism testing, and establishes equivalences between different isomorphism problems in complexity.
Findings
Developed an $q^{O(n)}$ time algorithm for cubic form isomorphism for most forms.
Proved that testing equivalence of alternating and symmetric trilinear forms are polynomial-time equivalent.
Showed these problems are Tensor Isomorphism-complete, linking them to cubic form isomorphism.
Abstract
We study the problems of testing isomorphism of polynomials, algebras, and multilinear forms. Our first main results are average-case algorithms for these problems. For example, we develop an algorithm that takes two cubic forms , and decides whether and are isomorphic in time for most . This average-case setting has direct practical implications, having been studied in multivariate cryptography since the 1990s. Our second result concerns the complexity of testing equivalence of alternating trilinear forms. This problem is of interest in both mathematics and cryptography. We show that this problem is polynomial-time equivalent to testing equivalence of symmetric trilinear forms, by showing that they are both Tensor Isomorphism-complete (Grochow-Qiao, ITCS, 2021), therefore is equivalent to testing isomorphism of cubic forms…
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.
