Matrix Groups

Matrix groups are groups generated by invertible square matrices.

In the following example we temporarily increase the line length limit from its default value 80 to 83 in order to get a nicer output format.

gap> m1 := [ [ Z(3)^0, Z(3)^0, Z(3) ], > [ Z(3), 0*Z(3), Z(3) ], > [ 0*Z(3), Z(3), 0*Z(3) ] ];; gap> m2 := [ [ Z(3), Z(3), Z(3)^0 ], > [ Z(3), 0*Z(3), Z(3) ], > [ Z(3)^0, 0*Z(3), Z(3) ] ];; gap> m := Group( m1, m2 ); Group( [ [ [ Z(3)^0, Z(3)^0, Z(3) ], [ Z(3), 0*Z(3), Z(3) ], [ 0*Z(3), Z(3), 0*Z(3) ] ], [ [ Z(3), Z(3), Z(3)^0 ], [ Z(3), 0*Z(3), Z(3) ], [ Z(3)^0, 0*Z(3), Z(3) ] ] ])
IsMatrixGroup (Filter)

For most operations, &GAP; only provides methods for finite matrix groups. Many calculations in finite matrix groups are done via so-called nice monomorphisms (see Section ) that represent a faithful action on vectors.

<#Include Label="IsMatrixGroup">

Attributes and Properties for Matrix Groups
<#Include Label="DimensionOfMatrixGroup"> <#Include Label="DefaultFieldOfMatrixGroup"> <#Include Label="FieldOfMatrixGroup"> <#Include Label="TransposedMatrixGroup"> <#Include Label="IsFFEMatrixGroup">

Actions of Matrix Groups
<#Include Label="[1]{grpmat}"> <#Include Label="ProjectiveActionOnFullSpace"> <#Include Label="ProjectiveActionHomomorphismMatrixGroup"> <#Include Label="BlowUpIsomorphism">

GL and SL

(See also section .)

<#Include Label="IsGeneralLinearGroup"> <#Include Label="IsNaturalGL"> <#Include Label="IsSpecialLinearGroup"> <#Include Label="IsNaturalSL"> <#Include Label="IsSubgroupSL">

Invariant Forms
<#Include Label="InvariantBilinearForm"> <#Include Label="IsFullSubgroupGLorSLRespectingBilinearForm"> <#Include Label="InvariantSesquilinearForm"> <#Include Label="IsFullSubgroupGLorSLRespectingSesquilinearForm"> <#Include Label="InvariantQuadraticForm"> <#Include Label="IsFullSubgroupGLorSLRespectingQuadraticForm">

Matrix Groups in Characteristic 0

Most of the functions described in this and the following section have implementations which use functions from the &GAP; package `Carat`. If `Carat` is not installed or not compiled, no suitable methods are available.

<#Include Label="IsCyclotomicMatrixGroup"> <#Include Label="IsRationalMatrixGroup"> <#Include Label="IsIntegerMatrixGroup"> <#Include Label="IsNaturalGLnZ"> <#Include Label="IsNaturalSLnZ"> <#Include Label="InvariantLattice"> <#Include Label="NormalizerInGLnZ"> <#Include Label="CentralizerInGLnZ"> <#Include Label="ZClassRepsQClass"> <#Include Label="IsBravaisGroup"> <#Include Label="BravaisGroup"> <#Include Label="BravaisSubgroups"> <#Include Label="BravaisSupergroups"> <#Include Label="NormalizerInGLnZBravaisGroup">

Acting OnRight and OnLeft
<#Include Label="[1]{grpramat}"> <#Include Label="CrystGroupDefaultAction"> <#Include Label="SetCrystGroupDefaultAction">