Perfect Forms and Normalizers#

PerfectForms(G): GrpMat[RngInt] -> SeqEnum#
Limit: RngIntElt                    Default: Infinity()

A positive definite symmetric \(G\)-invariant form \(F\) is called \(G\)-perfect if for every nonzero symmetric \(G\)-invariant form \(F'\) there exists some shortest vector \(x\) of \(F\) such that \(F'x^{tr}x\) has nonzero trace.

The normalizer of the Bravais group of \(G\) in \({\operatorname{GL}}_n({\mathbb{Z}})\) acts on the set of integral \(G\)-perfect forms whose entries have GCD \(1\) and the number of orbits is finite. This function returns a sequence of representatives of these orbits.

If Limit is set to a positive integer \(m\), then the algorithm stops after \(m\) orbits have been enumerated.

NormalizerGLZ(G): GrpMat[RngInt] -> GrpMat[RngInt]#
CentralizerGLZ(G): GrpMat[RngInt] -> GrpMat[RngInt]#
IsBravais: BoolElt                    Default: false

Given a finite subgroup \(G\) of \({\operatorname{GL}}_n({\mathbb{Z}})\), returns the normalizer or centralizer of \(G\) in \({\operatorname{GL}}_n({\mathbb{Z}})\).

If \(G\) is known to be equal to its Bravais group, one can set IsBravais to true to speed up the computation.

The algorithm employed is a variation of Opgenorth’s normalizer algorithm [Opgenorth, 2001].