
| Current Path : /usr/share/gap/doc/ref/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : //usr/share/gap/doc/ref/chap44.txt |
[1X44 [33X[0;0YMatrix Groups[133X[101X
[33X[0;0YMatrix groups are groups generated by invertible square matrices.[133X
[33X[0;0YIn 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.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xm1 := [ [ Z(3)^0, Z(3)^0, Z(3) ],[127X[104X
[4X[25X>[125X [27X [ Z(3), 0*Z(3), Z(3) ],[127X[104X
[4X[25X>[125X [27X [ 0*Z(3), Z(3), 0*Z(3) ] ];;[127X[104X
[4X[25Xgap>[125X [27Xm2 := [ [ Z(3), Z(3), Z(3)^0 ],[127X[104X
[4X[25X>[125X [27X [ Z(3), 0*Z(3), Z(3) ],[127X[104X
[4X[25X>[125X [27X [ Z(3)^0, 0*Z(3), Z(3) ] ];;[127X[104X
[4X[25Xgap>[125X [27Xm := Group( m1, m2 );[127X[104X
[4X[28XGroup([128X[104X
[4X[28X[ [128X[104X
[4X[28X [ [ Z(3)^0, Z(3)^0, Z(3) ], [ Z(3), 0*Z(3), Z(3) ], [128X[104X
[4X[28X [ 0*Z(3), Z(3), 0*Z(3) ] ], [128X[104X
[4X[28X [ [ Z(3), Z(3), Z(3)^0 ], [ Z(3), 0*Z(3), Z(3) ], [128X[104X
[4X[28X [ Z(3)^0, 0*Z(3), Z(3) ] ] ])[128X[104X
[4X[32X[104X
[1X44.1 [33X[0;0YIsMatrixGroup (Filter)[133X[101X
[33X[0;0YFor most operations, [5XGAP[105X only provides methods for finite matrix groups.
Many calculations in finite matrix groups are done via so-called [21Xnice
monomorphisms[121X (see Section [14X40.5[114X) that represent a faithful action on
vectors.[133X
[1X44.1-1 IsMatrixGroup[101X
[33X[1;0Y[29X[2XIsMatrixGroup[102X( [3Xgrp[103X ) [32X Category[133X
[33X[0;0YThe category of matrix groups.[133X
[1X44.2 [33X[0;0YAttributes and Properties for Matrix Groups[133X[101X
[1X44.2-1 DimensionOfMatrixGroup[101X
[33X[1;0Y[29X[2XDimensionOfMatrixGroup[102X( [3Xmat-grp[103X ) [32X attribute[133X
[33X[0;0YThe dimension of the matrix group.[133X
[1X44.2-2 DefaultFieldOfMatrixGroup[101X
[33X[1;0Y[29X[2XDefaultFieldOfMatrixGroup[102X( [3Xmat-grp[103X ) [32X attribute[133X
[33X[0;0YIs a field containing all the matrix entries. It is not guaranteed to be the
smallest field with this property.[133X
[1X44.2-3 FieldOfMatrixGroup[101X
[33X[1;0Y[29X[2XFieldOfMatrixGroup[102X( [3Xmatgrp[103X ) [32X attribute[133X
[33X[0;0YThe smallest field containing all the matrix entries of all elements of the
matrix group [3Xmatgrp[103X. As the calculation of this can be hard, this should
only be used if one [13Xreally[113X needs the smallest field, use
[2XDefaultFieldOfMatrixGroup[102X ([14X44.2-2[114X) to get (for example) the characteristic.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XDimensionOfMatrixGroup(m);[127X[104X
[4X[28X3[128X[104X
[4X[25Xgap>[125X [27XDefaultFieldOfMatrixGroup(m);[127X[104X
[4X[28XGF(3)[128X[104X
[4X[32X[104X
[1X44.2-4 TransposedMatrixGroup[101X
[33X[1;0Y[29X[2XTransposedMatrixGroup[102X( [3Xmatgrp[103X ) [32X attribute[133X
[33X[0;0Yreturns the transpose of the matrix group [3Xmatgrp[103X. The transpose of the
transpose of [3Xmatgrp[103X is identical to [3Xmatgrp[103X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XG := Group( [[0,-1],[1,0]] );[127X[104X
[4X[28XGroup([ [ [ 0, -1 ], [ 1, 0 ] ] ])[128X[104X
[4X[25Xgap>[125X [27XT := TransposedMatrixGroup( G );[127X[104X
[4X[28XGroup([ [ [ 0, 1 ], [ -1, 0 ] ] ])[128X[104X
[4X[25Xgap>[125X [27XIsIdenticalObj( G, TransposedMatrixGroup( T ) );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X44.2-5 IsFFEMatrixGroup[101X
[33X[1;0Y[29X[2XIsFFEMatrixGroup[102X( [3XG[103X ) [32X Category[133X
[33X[0;0Ytests whether all matrices in [3XG[103X have finite field element entries.[133X
[1X44.3 [33X[0;0YActions of Matrix Groups[133X[101X
[33X[0;0YThe basic operations for groups are described in Chapter [14X41[114X, special actions
for [13Xmatrix[113X groups mentioned there are [2XOnLines[102X ([14X41.2-12[114X), [2XOnRight[102X ([14X41.2-2[114X),
and [2XOnSubspacesByCanonicalBasis[102X ([14X41.2-15[114X).[133X
[33X[0;0YFor subtleties concerning multiplication from the left or from the right,
see [14X44.7[114X.[133X
[1X44.3-1 ProjectiveActionOnFullSpace[101X
[33X[1;0Y[29X[2XProjectiveActionOnFullSpace[102X( [3XG[103X, [3XF[103X, [3Xn[103X ) [32X function[133X
[33X[0;0YLet [3XG[103X be a group of [3Xn[103X by [3Xn[103X matrices over a field contained in the finite
field [3XF[103X. [2XProjectiveActionOnFullSpace[102X returns the image of the projective
action of [3XG[103X on the full row space [22X[3XF[103X^[3Xn[103X[122X.[133X
[1X44.3-2 ProjectiveActionHomomorphismMatrixGroup[101X
[33X[1;0Y[29X[2XProjectiveActionHomomorphismMatrixGroup[102X( [3XG[103X ) [32X function[133X
[33X[0;0Yreturns an action homomorphism for a faithful projective action of [3XG[103X on the
underlying vector space. (Note: The action is not necessarily on the full
space, if a smaller subset can be found on which the action is faithful.)[133X
[1X44.3-3 BlowUpIsomorphism[101X
[33X[1;0Y[29X[2XBlowUpIsomorphism[102X( [3Xmatgrp[103X, [3XB[103X ) [32X function[133X
[33X[0;0YFor a matrix group [3Xmatgrp[103X and a basis [3XB[103X of a field extension [22XL / K[122X, say,
such that the entries of all matrices in [3Xmatgrp[103X lie in [22XL[122X, [2XBlowUpIsomorphism[102X
returns the isomorphism with source [3Xmatgrp[103X that is defined by mapping the
matrix [22XA[122X to [10XBlownUpMat[110X[22X( A, [3XB[103X )[122X, see [2XBlownUpMat[102X ([14X24.13-3[114X).[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xg:= GL(2,4);;[127X[104X
[4X[25Xgap>[125X [27XB:= CanonicalBasis( GF(4) );; BasisVectors( B );[127X[104X
[4X[28X[ Z(2)^0, Z(2^2) ][128X[104X
[4X[25Xgap>[125X [27Xiso:= BlowUpIsomorphism( g, B );;[127X[104X
[4X[25Xgap>[125X [27XDisplay( Image( iso, [ [ Z(4), Z(2) ], [ 0*Z(2), Z(4)^2 ] ] ) );[127X[104X
[4X[28X . 1 1 .[128X[104X
[4X[28X 1 1 . 1[128X[104X
[4X[28X . . 1 1[128X[104X
[4X[28X . . 1 .[128X[104X
[4X[25Xgap>[125X [27Ximg:= Image( iso, g );[127X[104X
[4X[28X<matrix group with 2 generators>[128X[104X
[4X[25Xgap>[125X [27XIndex( GL(4,2), img );[127X[104X
[4X[28X112[128X[104X
[4X[32X[104X
[1X44.4 [33X[0;0YGL and SL[133X[101X
[33X[0;0Y(See also section [14X50.2[114X.)[133X
[1X44.4-1 IsGeneralLinearGroup[101X
[33X[1;0Y[29X[2XIsGeneralLinearGroup[102X( [3Xgrp[103X ) [32X property[133X
[33X[1;0Y[29X[2XIsGL[102X( [3Xgrp[103X ) [32X property[133X
[33X[0;0YThe General Linear group is the group of all invertible matrices over a
ring. This property tests, whether a group is isomorphic to a General Linear
group. (Note that currently only a few trivial methods are available for
this operation. We hope to improve this in the future.)[133X
[1X44.4-2 IsNaturalGL[101X
[33X[1;0Y[29X[2XIsNaturalGL[102X( [3Xmatgrp[103X ) [32X property[133X
[33X[0;0YThis property tests, whether a matrix group is the General Linear group in
the right dimension over the (smallest) ring which contains all entries of
its elements. (Currently, only a trivial test that computes the order of the
group is available.)[133X
[1X44.4-3 IsSpecialLinearGroup[101X
[33X[1;0Y[29X[2XIsSpecialLinearGroup[102X( [3Xgrp[103X ) [32X property[133X
[33X[1;0Y[29X[2XIsSL[102X( [3Xgrp[103X ) [32X property[133X
[33X[0;0YThe Special Linear group is the group of all invertible matrices over a
ring, whose determinant is equal to 1. This property tests, whether a group
is isomorphic to a Special Linear group. (Note that currently only a few
trivial methods are available for this operation. We hope to improve this in
the future.)[133X
[1X44.4-4 IsNaturalSL[101X
[33X[1;0Y[29X[2XIsNaturalSL[102X( [3Xmatgrp[103X ) [32X property[133X
[33X[0;0YThis property tests, whether a matrix group is the Special Linear group in
the right dimension over the (smallest) ring which contains all entries of
its elements. (Currently, only a trivial test that computes the order of the
group is available.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIsNaturalGL(m);[127X[104X
[4X[28Xfalse[128X[104X
[4X[32X[104X
[1X44.4-5 IsSubgroupSL[101X
[33X[1;0Y[29X[2XIsSubgroupSL[102X( [3Xmatgrp[103X ) [32X property[133X
[33X[0;0YThis property tests, whether a matrix group is a subgroup of the Special
Linear group in the right dimension over the (smallest) ring which contains
all entries of its elements.[133X
[1X44.5 [33X[0;0YInvariant Forms[133X[101X
[1X44.5-1 InvariantBilinearForm[101X
[33X[1;0Y[29X[2XInvariantBilinearForm[102X( [3Xmatgrp[103X ) [32X attribute[133X
[33X[0;0YThis attribute describes a bilinear form that is invariant under the matrix
group [3Xmatgrp[103X. The form is given by a record with the component [10Xmatrix[110X which
is a matrix [22XF[122X such that for every generator [22Xg[122X of [3Xmatgrp[103X the equation [22Xg ⋅ F ⋅
g^tr = F[122X holds.[133X
[1X44.5-2 IsFullSubgroupGLorSLRespectingBilinearForm[101X
[33X[1;0Y[29X[2XIsFullSubgroupGLorSLRespectingBilinearForm[102X( [3Xmatgrp[103X ) [32X property[133X
[33X[0;0YThis property tests, whether a matrix group [3Xmatgrp[103X is the full subgroup of
GL or SL (the property [2XIsSubgroupSL[102X ([14X44.4-5[114X) determines which it is)
respecting the form stored as the value of [2XInvariantBilinearForm[102X ([14X44.5-1[114X)
for [3Xmatgrp[103X.[133X
[1X44.5-3 InvariantSesquilinearForm[101X
[33X[1;0Y[29X[2XInvariantSesquilinearForm[102X( [3Xmatgrp[103X ) [32X attribute[133X
[33X[0;0YThis attribute describes a sesquilinear form that is invariant under the
matrix group [3Xmatgrp[103X over the field [22XF[122X with [22Xq^2[122X elements, say. The form is
given by a record with the component [10Xmatrix[110X which is is a matrix [22XM[122X such that
for every generator [22Xg[122X of [3Xmatgrp[103X the equation [22Xg ⋅ M ⋅ (g^tr)^f = M[122X holds,
where [22Xf[122X is the automorphism of [22XF[122X that raises each element to its [22Xq[122X-th power.
([22Xf[122X can be obtained as a power of the [2XFrobeniusAutomorphism[102X ([14X59.4-1[114X) value of
[22XF[122X.)[133X
[1X44.5-4 IsFullSubgroupGLorSLRespectingSesquilinearForm[101X
[33X[1;0Y[29X[2XIsFullSubgroupGLorSLRespectingSesquilinearForm[102X( [3Xmatgrp[103X ) [32X property[133X
[33X[0;0YThis property tests, whether a matrix group [3Xmatgrp[103X is the full subgroup of
GL or SL (the property [2XIsSubgroupSL[102X ([14X44.4-5[114X) determines which it is)
respecting the form stored as the value of [2XInvariantSesquilinearForm[102X
([14X44.5-3[114X) for [3Xmatgrp[103X.[133X
[1X44.5-5 InvariantQuadraticForm[101X
[33X[1;0Y[29X[2XInvariantQuadraticForm[102X( [3Xmatgrp[103X ) [32X attribute[133X
[33X[0;0YFor a matrix group [3Xmatgrp[103X, [2XInvariantQuadraticForm[102X returns a record
containing at least the component [10Xmatrix[110X whose value is a matrix [22XQ[122X. The
quadratic form [22Xq[122X on the natural vector space [22XV[122X on which [3Xmatgrp[103X acts is given
by [22Xq(v) = v Q v^tr[122X, and the invariance under [3Xmatgrp[103X is given by the equation
[22Xq(v) = q(v M)[122X for all [22Xv ∈ V[122X and [22XM[122X in [3Xmatgrp[103X. (Note that the invariance of [22Xq[122X
does [13Xnot[113X imply that the matrix [22XQ[122X is invariant under [3Xmatgrp[103X.)[133X
[33X[0;0Y[22Xq[122X is defined relative to an invariant symmetric bilinear form [22Xf[122X
(see [2XInvariantBilinearForm[102X ([14X44.5-1[114X)), via the equation [22Xq(λ x + μ y) = λ^2
q(x) + λ μ f(x,y) + μ^2 q(y)[122X, see [CCN+85, Chapter 3.4]. If [22Xf[122X is represented
by the matrix [22XF[122X then this implies [22XF = Q + Q^tr[122X. In characteristic different
from [22X2[122X, we have [22Xq(x) = f(x,x)/2[122X, so [22XQ[122X can be chosen as the strictly upper
triangular part of [22XF[122X plus half of the diagonal part of [22XF[122X. In characteristic
[22X2[122X, [22XF[122X does not determine [22XQ[122X but still [22XQ[122X can be chosen as an upper (or lower)
triangular matrix.[133X
[33X[0;0YWhenever the [2XInvariantQuadraticForm[102X value is set in a matrix group then also
the [2XInvariantBilinearForm[102X ([14X44.5-1[114X) value can be accessed, and the two values
are compatible in the above sense.[133X
[1X44.5-6 IsFullSubgroupGLorSLRespectingQuadraticForm[101X
[33X[1;0Y[29X[2XIsFullSubgroupGLorSLRespectingQuadraticForm[102X( [3Xmatgrp[103X ) [32X property[133X
[33X[0;0YThis property tests, whether the matrix group [3Xmatgrp[103X is the full subgroup of
GL or SL (the property [2XIsSubgroupSL[102X ([14X44.4-5[114X) determines which it is)
respecting the [2XInvariantQuadraticForm[102X ([14X44.5-5[114X) value of [3Xmatgrp[103X.[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27Xg:= Sp( 2, 3 );;[127X[104X
[4X[25Xgap>[125X [27Xm:= InvariantBilinearForm( g ).matrix;[127X[104X
[4X[28X[ [ 0*Z(3), Z(3)^0 ], [ Z(3), 0*Z(3) ] ][128X[104X
[4X[25Xgap>[125X [27X[ 0, 1 ] * m * [ 1, -1 ]; # evaluate the bilinear form[127X[104X
[4X[28XZ(3)[128X[104X
[4X[25Xgap>[125X [27XIsFullSubgroupGLorSLRespectingBilinearForm( g );[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xg:= SU( 2, 4 );;[127X[104X
[4X[25Xgap>[125X [27Xm:= InvariantSesquilinearForm( g ).matrix;[127X[104X
[4X[28X[ [ 0*Z(2), Z(2)^0 ], [ Z(2)^0, 0*Z(2) ] ][128X[104X
[4X[25Xgap>[125X [27X[ 0, 1 ] * m * [ 1, 1 ]; # evaluate the bilinear form[127X[104X
[4X[28XZ(2)^0[128X[104X
[4X[25Xgap>[125X [27XIsFullSubgroupGLorSLRespectingSesquilinearForm( g );[127X[104X
[4X[28Xtrue[128X[104X
[4X[25Xgap>[125X [27Xg:= GO( 1, 2, 3 );;[127X[104X
[4X[25Xgap>[125X [27Xm:= InvariantBilinearForm( g ).matrix;[127X[104X
[4X[28X[ [ 0*Z(3), Z(3)^0 ], [ Z(3)^0, 0*Z(3) ] ][128X[104X
[4X[25Xgap>[125X [27X[ 0, 1 ] * m * [ 1, 1 ]; # evaluate the bilinear form[127X[104X
[4X[28XZ(3)^0[128X[104X
[4X[25Xgap>[125X [27Xq:= InvariantQuadraticForm( g ).matrix;[127X[104X
[4X[28X[ [ 0*Z(3), Z(3)^0 ], [ 0*Z(3), 0*Z(3) ] ][128X[104X
[4X[25Xgap>[125X [27X[ 0, 1 ] * q * [ 0, 1 ]; # evaluate the quadratic form[127X[104X
[4X[28X0*Z(3)[128X[104X
[4X[25Xgap>[125X [27XIsFullSubgroupGLorSLRespectingQuadraticForm( g );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X44.6 [33X[0;0YMatrix Groups in Characteristic 0[133X[101X
[33X[0;0YMost of the functions described in this and the following section have
implementations which use functions from the [5XGAP[105X package [5XCarat[105X. If [5XCarat[105X is
not installed or not compiled, no suitable methods are available.[133X
[1X44.6-1 IsCyclotomicMatrixGroup[101X
[33X[1;0Y[29X[2XIsCyclotomicMatrixGroup[102X( [3XG[103X ) [32X Category[133X
[33X[0;0Ytests whether all matrices in [3XG[103X have cyclotomic entries.[133X
[1X44.6-2 IsRationalMatrixGroup[101X
[33X[1;0Y[29X[2XIsRationalMatrixGroup[102X( [3XG[103X ) [32X property[133X
[33X[0;0Ytests whether all matrices in [3XG[103X have rational entries.[133X
[1X44.6-3 IsIntegerMatrixGroup[101X
[33X[1;0Y[29X[2XIsIntegerMatrixGroup[102X( [3XG[103X ) [32X property[133X
[33X[0;0Ytests whether all matrices in [3XG[103X have integer entries.[133X
[1X44.6-4 IsNaturalGLnZ[101X
[33X[1;0Y[29X[2XIsNaturalGLnZ[102X( [3XG[103X ) [32X property[133X
[33X[0;0Ytests whether [3XG[103X is [22XGL_n(ℤ)[122X in its natural representation by [22Xn × n[122X integer
matrices. (The dimension [22Xn[122X will be read off the generating matrices.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIsNaturalGLnZ( GL( 2, Integers ) );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X44.6-5 IsNaturalSLnZ[101X
[33X[1;0Y[29X[2XIsNaturalSLnZ[102X( [3XG[103X ) [32X property[133X
[33X[0;0Ytests whether [3XG[103X is [22XSL_n(ℤ)[122X in its natural representation by [22Xn × n[122X integer
matrices. (The dimension [22Xn[122X will be read off the generating matrices.)[133X
[4X[32X Example [32X[104X
[4X[25Xgap>[125X [27XIsNaturalSLnZ( SL( 2, Integers ) );[127X[104X
[4X[28Xtrue[128X[104X
[4X[32X[104X
[1X44.6-6 InvariantLattice[101X
[33X[1;0Y[29X[2XInvariantLattice[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yreturns a matrix [22XB[122X, whose rows form a basis of a [22Xℤ[122X-lattice that is invariant
under the rational matrix group [3XG[103X acting from the right. It returns [9Xfail[109X if
the group is not unimodular. The columns of the inverse of [22XB[122X span a
[22Xℤ[122X-lattice invariant under [3XG[103X acting from the left.[133X
[1X44.6-7 NormalizerInGLnZ[101X
[33X[1;0Y[29X[2XNormalizerInGLnZ[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yis an attribute used to store the normalizer of [3XG[103X in [22XGL_n(ℤ)[122X, where [3XG[103X is an
integer matrix group of dimension [3Xn[103X. This attribute is used by [10XNormalizer(
GL( n, Integers ), G )[110X.[133X
[1X44.6-8 CentralizerInGLnZ[101X
[33X[1;0Y[29X[2XCentralizerInGLnZ[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yis an attribute used to store the centralizer of [3XG[103X in [22XGL_n(ℤ)[122X, where [3XG[103X is an
integer matrix group of dimension [3Xn[103X. This attribute is used by [10XCentralizer(
GL( n, Integers ), G )[110X.[133X
[1X44.6-9 ZClassRepsQClass[101X
[33X[1;0Y[29X[2XZClassRepsQClass[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0YThe conjugacy class in [22XGL_n(ℚ)[122X of the finite integer matrix group [3XG[103X splits
into finitely many conjugacy classes in [22XGL_n(ℤ)[122X. [10XZClassRepsQClass( [3XG[103X[10X )[110X
returns representative groups for these.[133X
[1X44.6-10 IsBravaisGroup[101X
[33X[1;0Y[29X[2XIsBravaisGroup[102X( [3XG[103X ) [32X property[133X
[33X[0;0Ytest whether [3XG[103X coincides with its Bravais group (see [2XBravaisGroup[102X
([14X44.6-11[114X)).[133X
[1X44.6-11 BravaisGroup[101X
[33X[1;0Y[29X[2XBravaisGroup[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yreturns the Bravais group of a finite integer matrix group [3XG[103X. If [22XC[122X is the
cone of positive definite quadratic forms [22XQ[122X invariant under [22Xg ↦ g Q g^tr[122X for
all [22Xg ∈ [3XG[103X[122X, then the Bravais group of [3XG[103X is the maximal subgroup of [22XGL_n(ℤ)[122X
leaving the forms in that same cone invariant. Alternatively, the Bravais
group of [3XG[103X can also be defined with respect to the action [22Xg ↦ g^tr Q g[122X on
positive definite quadratic forms [22XQ[122X. This latter definition is appropriate
for groups [3XG[103X acting from the right on row vectors, whereas the former
definition is appropriate for groups acting from the left on column vectors.
Both definitions yield the same Bravais group.[133X
[1X44.6-12 BravaisSubgroups[101X
[33X[1;0Y[29X[2XBravaisSubgroups[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yreturns the subgroups of the Bravais group of [3XG[103X, which are themselves
Bravais groups.[133X
[1X44.6-13 BravaisSupergroups[101X
[33X[1;0Y[29X[2XBravaisSupergroups[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yreturns the subgroups of [22XGL_n(ℤ)[122X that contain the Bravais group of [3XG[103X and are
Bravais groups themselves.[133X
[1X44.6-14 NormalizerInGLnZBravaisGroup[101X
[33X[1;0Y[29X[2XNormalizerInGLnZBravaisGroup[102X( [3XG[103X ) [32X attribute[133X
[33X[0;0Yreturns the normalizer of the Bravais group of [3XG[103X in the appropriate [22XGL_n(ℤ)[122X.[133X
[1X44.7 [33X[0;0YActing OnRight and OnLeft[133X[101X
[33X[0;0YIn [5XGAP[105X, matrices by convention act on row vectors from the right, whereas in
crystallography the convention is to act on column vectors from the left.
The definition of certain algebraic objects important in crystallography
implicitly depends on which action is assumed. This holds true in particular
for quadratic forms invariant under a matrix group. In a similar way, the
representation of affine crystallographic groups, as they are provided by
the [5XGAP[105X package [5XCrystGap[105X, depends on which action is assumed.
Crystallographers are used to the action from the left, whereas the action
from the right is the natural one for [5XGAP[105X. For this reason, a number of
functions which are important in crystallography, and whose result depends
on which action is assumed, are provided in two versions, one for the usual
action from the right, and one for the crystallographic action from the
left.[133X
[33X[0;0YFor every such function, this fact is explicitly mentioned. The naming
scheme is as follows: If [10XSomeThing[110X is such a function, there will be
functions [10XSomeThingOnRight[110X and [10XSomeThingOnLeft[110X, assuming action from the
right and from the left, respectively. In addition, there is a generic
function [10XSomeThing[110X, which returns either the result of [10XSomeThingOnRight[110X or
[10XSomeThingOnLeft[110X, depending on the global variable [2XCrystGroupDefaultAction[102X
([14X44.7-1[114X).[133X
[1X44.7-1 CrystGroupDefaultAction[101X
[33X[1;0Y[29X[2XCrystGroupDefaultAction[102X[32X global variable[133X
[33X[0;0Ycan have either of the two values [10XRightAction[110X and [10XLeftAction[110X. The initial
value is [10XRightAction[110X. For functions which have variants OnRight and OnLeft,
this variable determines which variant is returned by the generic form. The
value of [2XCrystGroupDefaultAction[102X can be changed with with the function
[2XSetCrystGroupDefaultAction[102X ([14X44.7-2[114X).[133X
[1X44.7-2 SetCrystGroupDefaultAction[101X
[33X[1;0Y[29X[2XSetCrystGroupDefaultAction[102X( [3Xaction[103X ) [32X function[133X
[33X[0;0Yallows one to set the value of the global variable [2XCrystGroupDefaultAction[102X
([14X44.7-1[114X). Only the arguments [10XRightAction[110X and [10XLeftAction[110X are allowed.
Initially, the value of [2XCrystGroupDefaultAction[102X ([14X44.7-1[114X) is [10XRightAction[110X.[133X