Conjugacy#

ZClasses(G): GrpMat -> SeqEnum, SeqEnum#
Homogeneously: BoolElt                    Default: false

Given a finite integral or rational matrix group \(G\), its \({\operatorname{GL}}_n({\mathbb{Q}})\)-conjugacy class splits into finitely many \({\operatorname{GL}}(n,{\mathbb{Z}})\)-conjugacy classes. Representatives of these classes are constructed as the action of \(G\) on some \(G\)-invariant sublattices. More precisely, the \({\operatorname{GL}}(n,{\mathbb{Z}})\)-conjugacy classes are in bijection with the orbits of \(G\)-invariant lattices under the normalizer \(N\) of \(G\) in \({\operatorname{GL}}(n, {\mathbb{Q}})\).

A \(G\)-lattice \(L'\) belongs to a \(G\)-lattice \(L\) if \(L = \sum_i L' e_i\) where \(e_1,\dots,e_r\) denote the central idempotents of the endomorphism ring of \(G\). Further, \(L\) is called homogeneously decomposable if \(L\) belongs to itself.

The algorithm will first compute representatives \(L_1, \dots,L_k\) of the orbits of homogeneously decomposable \(G\)-lattices under the action of \(N\).

In a second step, it will then compute the \(G\)-lattices \(L_{i, j}\) belonging to \(L_i\) up to the action of \(N\).

The second return value will then consist of a sequence of \(k\) sequences \(T_1,\dots,T_k\). The first element \(T_i[1]\) is the basis matrix of \(L_i\), the following entries are basis matrices of the lattices \(L_{i, j}\).

The first return value is a sequence of integral matrix groups describing the action of \(G\) on the lattices \(L_{1,1}, L_{1,2}, \dots\). Hence these groups correspond to the \({\operatorname{GL}}_n({\mathbb{Z}})\)-conjugacy classes of \(G\).

If Homogeneously is set to true, the function will only compute the homogeneously decomposable lattices \(L_1,\dots, L_k\) and the corresponding matrix groups. (If \(G\) is reducible, this option is much faster, but will not yield all conjugacy classes / orbits of lattices.)

IsGLZConjugate(G, H): GrpMat[RngInt], GrpMat[RngInt] -> BoolElt, GrpMatElt#

Tests whether the finite integral matrix groups \(G\) and \(H\) are conjugate in \({\operatorname{GL}}_n({\mathbb{Z}})\). If so, a matrix \(x\) such that \(G^x = H\) is also returned.

IsBravaisEquivalent(G, H): GrpMat[RngInt], GrpMat[RngInt] -> BoolElt, GrpMatElt#

Given two finite integral matrix groups \(G\) and \(H\), tests whether their Bravais groups \(B(G)\) and \(B(H)\) are conjugate in \({\operatorname{GL}}_n({\mathbb{Z}})\). If so, a matrix \(x\) such that \(B(G)^x = B(H)\) is also returned.

Note that this function does not need to compute the Bravais groups and hence it is faster than calling IsGLZConjugate on the Bravais groups directly.

If \(G\) and \(H\) are known to be Bravais groups, this function is usually more efficient than calling IsGLZConjugate.

IsGLQConjugate(G, H): GrpMat, GrpMat -> BoolElt, GrpMatElt#
Al: MonStgElt                    Default: 

Tests whether the finite rational matrix groups \(G\) and \(H\) are conjugate in \({\operatorname{GL}}_n({\mathbb{Q}})\). If so, a matrix \(x\) such that \(G^x = H\) is also returned.

There are currently two algorithms available. If the optional parameter Al equals "Aut", Magma will use the GModule-machinery together with the outer automorphism group of \(H\). If Al is set to "ZClasses", Magma splits the \({\operatorname{GL}}(n, {\mathbb{Q}})\)-conjugacy class of \(H\) into \({\operatorname{GL}}_n({\mathbb{Z}})\)-conjugacy classes and then decides whether an integral copy of \(G\) lies in one of these classes by several calls to IsGLZConjugate.

If Al is not provided, a sensible choice is made by the system.