<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% --> <!-- %% --> <!-- %A grpmat.xml GAP documentation Alexander Hulpke --> <!-- %% --> <!-- %% --> <!-- %Y (C) 1998 School Math and Comp. Sci., University of St Andrews, Scotland --> <!-- %Y Copyright (C) 2002 The GAP Group --> <!-- %% -->
<Chapter Label="Matrix Groups">
<Heading>Matrix Groups</Heading>
Matrix groups are groups generated by invertible square matrices.
<P/>
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.
<P/>
<Example><![CDATA[
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) ] ] ])
]]></Example>
For most operations, &GAP; only provides methods for finite matrix groups.
Many calculations in finite matrix groups are done via so-called
<Q>nice monomorphisms</Q> (see Section <Ref Sect="Nice Monomorphisms"/>)
that represent a faithful action on vectors.
<#Include Label="IsMatrixGroup">
</Section>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Attributes and Properties for Matrix Groups">
<Heading>Attributes and Properties for Matrix Groups</Heading>
<!-- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -->
<Section Label="Matrix Groups in Characteristic 0">
<Heading>Matrix Groups in Characteristic 0</Heading>
Most of the functions described in this and the following section have
implementations which use functions from the &GAP; package
<Package>CaratInterface</Package>.
If <Package>CaratInterface</Package> is not installed or not compiled,
no suitable methods are available.