Conjugacy Tests for Matrices#
Given two \(n \times n\) matrices \(A\) and \(B\) with rational or integral entries, Magma can test whether \(A\) is conjugate to \(B\) in \({\operatorname{GL}}_n(Z)\).
Two algorithms are available for this task. Currently, the implementation of the first is limited to the cases where \(A,B\) have finite order or where \(n=2\). This limitation will be removed in future versions.
- IsGLZConjugate(A, B): AlgMatElt, AlgMatElt -> BoolElt, GrpMatElt#
- IsGLZConjugate(A, B): GrpMatElt, GrpMatElt -> BoolElt, GrpMatElt#
- IsSLZConjugate(A, B): AlgMatElt, AlgMatElt -> BoolElt, GrpMatElt#
- IsSLZConjugate(A, B): GrpMatElt, GrpMatElt -> BoolElt, GrpMatElt#
Tests whether two rational or integral matrices \(A\) and \(B\) are conjugate in \({\operatorname{GL}}_n({\mathbb{Z}})\) or \({\operatorname{SL}}_n({\mathbb{Z}})\). If so, a matrix \(x\) such that \(A^x = B\) is also returned.
- CentralizerGLZ(A): AlgMatElt -> GrpMat#
- CentralizerGLZ(A): GrpMatElt -> GrpMat#
Given a rational or integral matrix \(A\), this function returns its centralizer in \({\operatorname{GL}}_n({\mathbb{Z}})\). The current implementation is limited to the cases where either \(A\) has finite order or \(A\) is a \(2\times 2\) matrix.
The second algorithm to decide conjugacy in \({\operatorname{GL}}_n({\mathbb{Z}})\) was developed by Eick, Hofmann, and O’Brien [Eick et al., 2019] and it does not assume that the matrices have finite order. The implementation was prepared by the authors; it incorporates code prepared by David Husert [Husert, 2016] for the special case where the matrices are either nilpotent or have irreducible characteristic polynomials. It also uses Sebastian Schönnenbeck’s implementation of an algorithm of Voronoi to compute unit groups of orders.
- AreGLConjugate(A, B : parameters): AlgMatElt, AlgMatElt -> BoolElt, AlgMatElt#
- AreGLConjugate(A, B : parameters): GrpMatElt, GrpMatElt -> BoolElt, GrpMatElt#
UseHusert: BoolElt Default: true GRH : BoolElt Default: true
Tests whether two integral or rational matrices \(A\) and \(B\) are conjugate in \({\operatorname{GL}}_n({\mathbb{Z}})\). If so, a matrix \(x\) such that \(A^x = B\) is also returned.
If
UseHusertistruethen use Husert’s algorithm for matrices that are either nilpotent or have irreducible characteristic polynomials.If
GRHistruethen assume the generalised Riemann hypothesis holds. This impacts on the efficiency of the algorithm: a positive answer is always verifiable since the algorithm returns a conjugating element.
- GLCentraliser(A : parameters): AlgMatElt -> GrpMat#
- GLCentraliser(A : parameters): GrpMatElt -> GrpMat#
GRH: BoolElt Default: true
Given an integral or rational matrix \(A\), this function returns its centralizer in \({\operatorname{GL}}_n({\mathbb{Z}})\). The optional parameter is as defined for
AreGLConjugate.The verbose flag
SetVerbose ("GLConjugacy", n)where \(n = 0, 1, 2\) will provide information on the progress of the algorithms.