Computation of lattice isomorphisms and the integral matrix similarity problem
Werner Bley, Tommy Hofmann, Henri Johnston · Forum of Mathematics Sigma · 2022
Abstract Let K be a number field, let A be a finite-dimensional K -algebra, let $\operatorname {\mathrm {J}}(A)$ denote the Jacobson radical of A and let $\Lambda $ be an $\mathcal {O}_{K}$ -order in A . Suppose that each simple component of the semisimple K -algebra $A/{\operatorname {\mathrm {J}}(A)}$ is isomorphic to a matrix ring over a field. Under this hypothesis on A , we give an algorithm that, given two $\Lambda $ -lattices X and Y , determines whether X and Y are isomorphic and, if so, computes an explicit isomorphism $X \rightarrow Y$ . This algorithm reduces the problem to standard problems in computational algebra and algorithmic algebraic number theory in polynomial time. As an application, we give an algorithm for the following long-standing problem: Given a number field K , a positive integer n and two matrices $A,B \in \mathrm {Mat}_{n}(\mathcal {O}_{K})$ , determine whether A and B are similar over $\mathcal {O}_{K}$ , and if so, return a matrix $C \in \mathrm {GL}_{n}(\mathcal {O}_{K})$ such that $B= CAC^{-1}$ . We give explicit examples that show that the implementation of the latter algorithm for $\mathcal {O}_{K}=\mathbb {Z}$ vastly outperforms implementations of all previous algorithms, as predicted by our complexity analysis.