As already mentioned in the introduction of this chapter matrix groups
are domains. All set theoretic functions such as Size
and
Intersections
are thus applicable to matrix groups. This section
describes how these functions are implemented for matrix groups.
Functions not mentioned here either inherit the default group methods
described in Set Functions for Groups or the default method mentioned
in the respective sections.
To compute with a matrix group m, GAP computes the operation of the matrix group on the underlying vector space (more precisely the union of the orbits of the parent of m on the standard basis vectors). Then it works with the thus defined permutation group p, which is of course isomorphic to m, and finally translates the results back into the matrix group.
obj in m
To test if an object obj lies in a matrix group m, GAP first tests whether obj is a invertable square matrix of the same dimensions as the matrices of m. If it is, GAP tests whether obj permutes the vectors in the union of the orbits of m on the standard basis vectors. If it does, GAP takes this permutation and tests whether it lies in p.
Size( m )
To compute the size of the matrix group m, GAP computes the size of the isomorphic permutation group p.
Intersection( m1, m2 )
To compute the intersection of two subgroups m1 and m2 with a common parent matrix group m, GAP intersects the images of the corresponding permutation subgroups p1 and p2 of p. Then it translates the generators of the intersection of the permutation subgroups back to matrices. The intersection of m1 and m2 is the subgroup of m generated by those matrices. If m1 and m2 do not have a common parent group, or if only one of them is a matrix group and the other is a set of matrices, the default method is used (see Intersection).
GAP 3.4.4