[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Finite and Affine Coxeter Groups

In this section, we give functions related to the classification of finite and affine Coxeter groups due to Cartan [Car52] and Coxeter [Cox34].

An affine reflection group is a group generated by reflections in affine space (in other words, real reflections in a hyperplane that does not necessarily pass through the origin). We call a Coxeter group affine if it is infinite and it has a representation as a discrete, properly acting, affine reflection group (see [Bou68] for more details on discreteness and proper action). Note that a Coxeter group is finite if, and only if, it has a representation as a discrete, properly acting group of reflections of the sphere; hence finite Coxeter groups are sometimes called spherical.

A Coxeter group is finite if, and only if, all its irreducible components are finite; a Coxeter group is affine if, and only if all its irreducible components are finite or affine, and at least one component is affine. So it suffices to classify irreducible Coxeter groups.

The Dynkin diagrams of the irreducible crystallographic Coxeter groups are:

  An  1---2---3- ... -n        Bn  1---2- ... -(n-1)=>=n

                                                     (n-1)
                                                    /
  Cn  1---2- ... -(n-1)=<=n    Dn  1---1- ... -(n-2)
                                                    \
                                                     n

  E6  1---3---4---5---6        E7  1---3---4---5---6---7
              |                          |
              2                          2

  E8  1---3---4---5---6---7---8
              |
              2

  F4  1---2=>=3---4            G2  1=<=2
                                     3
Due to the difficulty of drawing a triple bond with text characters, we label the edge in G_2.

The only irreducible noncrystallographic finite Coxeter groups are H_3, H_4 and I_2(m) for m = 5 and m > 6. The Coxeter graphs of these groups are:

  H3  1---2---3                H4  1---2---3---4
        5                            5

  I2(m) 1---2
          m

All irreducible affine groups are crystallographic. There is one corresponding to each irreducible crystallographic finite group. Their Dynkin diagrams are:

  A~1      1-------2           A~n     1---2- ... -n
             infty                     |           |
                                       ----(n+1)----

          1   
           \
  B~n       2- ... -(n-1)=>=n
           /
      (n+1)

  C~n     (n+1)=>=1---1- ... -(n-1)=<=n

          1           (n-1)
                    /
  D~n       2- ... -(n-2)
           /         \
      (n+1)           n

  E~6    1---3---4---5---6     E~7    8---1---3---4---5---6---7
                 |                                |
                 2                                2
                 |
                 7

  E~8    1---3---4---5---6---7---8---9
                 |
                 2

  F~4    5---1---2=>=3---4     G~2    1=<=2---3
                                        3

The labels on the vertices of these diagrams show the standard vertex order used in Magma, which is consistent with the order used in [Bou68]. Note that there is some redundancy in this classification; specifically A_1=B_1=C_1=D_1, A_2=I_2(3), B_2=C_2=I_2(4), D_2=A_1 + A_1, D_3=A_3, G_2=I_2(6). Furthermore, types B_n and C_n have identical Coxeter matrices but inequivalent crystallographic Cartan matrices for n>2.

IsCoxeterFinite( M ) : AlgMatElt -> BoolElt
IsCoxeterFinite( G ) : GrphUnd -> BoolElt
IsCoxeterFinite( C ) : AlgMatElt -> BoolElt
IsCoxeterFinite( D ) : GrpDir -> BoolElt
IsCoxeterFinite( N ) : MonStgElt -> BoolElt
Returns true if, and only if, the corresponding Coxeter group is finite. The input variable can be a Coxeter matrix M, Coxeter graph G, Cartan matrix C, Dynkin digraph D, or Cartan name N.
IsCoxeterAffine( M ) : AlgMatElt -> BoolElt
IsCoxeterAffine( G ) : GrphUnd -> BoolElt
IsCoxeterAffine( C ) : AlgMatElt -> BoolElt
IsCoxeterAffine( D ) : GrpDir -> BoolElt
IsCoxeterAffine( N ) : MonStgElt -> BoolElt
Returns true if, and only if, the corresponding Coxeter group is affine. The input variable can be a Coxeter matrix M, Coxeter graph G, Cartan matrix C, Dynkin digraph D, or Cartan name N. Note that a finite Coxeter group is also affine. For a string N, this function just checks if it is a well formed Cartan name.

Example Cartan_Testing (H82E11)

> IsCoxeterAffine( "A~2" );
true
> IsCoxeterAffine( "A~2B2" );
true
> IsCoxeterAffine( "A2B2" );
false
> IsCoxeterFinite( "A2B2" );
true

CoxeterMatrix( N ) : MonStgElt -> AlgMatElt
The Coxeter matrix with Cartan name N.
CoxeterGraph( N ) : MonStgElt -> GrpUnd
The Coxeter graph with Cartan name N.
CartanMatrix( N ) : MonStgElt -> AlgMatElt
    Symmetric: BoolElt                  Default: false
    BaseField: MonStgElt                Default: "NumberField"
The Cartan matrix with Cartan name N. By default, the crystallographic matrix is returned for crystallographic types; otherwise we return the Cartan matrix with c_(ij)= - 4cos^2(pi/m_(ij)), c_(ji)= - 1 when m_(ij)ne2 and i<j.

If the Symmetric flag is set true, the symmetric Cartan matrix with c_(ij)=c_(ji)= - 2cos(pi/m_(ij)) is returned.

The BaseField flag determines which field the Cartan matrix is defined over. If the matrix is crystallographic however, it is defined over the integers regardless of the value of this flag. The possible values are:

1.
"NumberField": An algebraic number field. This is the default. See Chapter ORDERS AND ALGEBRAIC FIELDS.

2.
"Cyclotomic" or "SparseCyclotomic": A cyclotomic field with the sparse representation for elements. See Chapter CYCLOTOMIC FIELDS.

3.
"DenseCyclotomic": A cyclotomic field with the dense representation for elements. See Chapter CYCLOTOMIC FIELDS.
DynkinDigraph( N ) : MonStgElt -> GrpDir
The Dynkin digraph with Cartan name N. The Cartan name must be crystallographic, i.e. it cannot involve types H_3, H_4 and I_2(m).

Example Cartan_MatricesAndGraphs (H82E12)

> CoxeterMatrix( "I2(7)" );
[1 7]
[7 1]
> CoxeterGraph( "A3" );
Graph
Vertex  Neighbours

1       2 ;
2       1 3 ;
3       2 ;

> CartanMatrix( "H3" : Symmetric );
[   2 -.1    0]
[ -.1    2   -1]
[   0   -1    2]
> DynkinDigraph( "A~2" );
Digraph
Vertex  Neighbours

1       2 3 ;
2       1 3 ;
3       1 2 ;
The code for interpreting a string as a Cartan name is quite flexible: letters and numbers must alternate, except in type I where brackets must be used.

> M := CoxeterMatrix( "A_5B3 c2I2 (5)" );
> CartanName( M );
A5 B3 B2 I2(5)

IrreducibleCoxeterMatrix( X, n ) : MonStgElt, RngIntElt -> AlgMatElt
The irreducible Coxeter matrix with Cartan name X_n (or I_2(n) if X="I").
IrreducibleCoxeterGraph( X, n ) : MonStgElt, RngIntElt -> GrpUnd
The irreducible Coxeter graph with Cartan name X_n (or I_2(n) if X="I").
IrreducibleCartanMatrix( X, n ) : MonStgElt, RngIntElt -> AlgMatElt
    Symmetric: BoolElt                  Default: false
    BaseField: MonStgElt                Default: "NumberField"
The irreducible Cartan matrix with Cartan name X_n (or I_2(n) if X="I").

If the Symmetric flag is set true, the symmetric Cartan matrix with c_(ij)=c_(ji)= - 2cos(pi/m_(ij)) is returned.

The BaseField flag determines which field the Cartan matrix is defined over. If the matrix is crystallographic however, it is defined over the integers regardless of the value of this flag. The possible values are:

1.
"NumberField": An algebraic number field. This is the default. See Chapter ORDERS AND ALGEBRAIC FIELDS.

2.
"Cyclotomic" or "SparseCyclotomic": A cyclotomic field with the sparse representation for elements. See Chapter CYCLOTOMIC FIELDS.

3.
"DenseCyclotomic": A cyclotomic field with the dense representation for elements. See Chapter CYCLOTOMIC FIELDS.
IrreducibleDynkinDigraph( X, n ) : MonStgElt, RngIntElt -> GrpDir
The irreducible Dynkin digraph with Cartan name X_n. The Cartan name must be crystallographic, i.e. it cannot involve types H_3, H_4 or I_2(m).

Example Cartan_IrreducibleCoxeter (H82E13)

These functions are useful in loops.

> for n in [1..5] do
>     IsTree( IrreducibleCoxeterGraph( "A~", n ) );
> end for;
true
false
false
false
false
> C := &join[ IrreducibleCoxeterGraph( t, 4 ) : t in ["A","B","C","D","F"] ];

IsCoxeterIsomorphic( N1, N2 ) : MonStgElt, MonStgElt -> BoolElt
Returns true if, and only if, the Cartan names N_1 and N_2 correspond to Coxeter isomorphic groups.
IsCartanEquivalent( N1, N2 ) : MonStgElt, MonStgElt -> BoolElt
Returns true if, and only if, the Cartan names N_1 and N_2 correspond to Cartan equivalent Cartan matrices. The Cartan names must be crystallographic, i.e. they cannot involve types H_3, H_4 and I_2(m).

Example Cartan_IsomorphismAndEquivalence (H82E14)

> IsCoxeterIsomorphic( "A1A1", "D2" );
true
> IsCoxeterIsomorphic( "B5", "C5" );
true
> IsCartanEquivalent( "B5", "C5" );
false

CoxeterGroupOrder( N ) : MonStgElt -> .
The order of the Coxeter group with Cartan name N.
NumberOfPositiveRoots( N ) : MonStgElt -> .
NumPosRoots( N ) : MonStgElt -> .
The number of positive roots of the Coxeter group with Cartan name N. See Subsection Simple and Positive Roots for the definition of positive roots.
FundamentalGroup( N ) : AlgMatElt -> GrpAb
The fundamental group of the crystallographic Cartan matrix with Cartan name N, i.e. Z^n/Gamma where Gamma is the lattice generated by the rows of the Cartan matrix.

Example Cartan_GroupOrders (H82E15)

> CoxeterGroupOrder( "F4" );
1152
> NumPosRoots( "F4" );
24
> #FundamentalGroup( "F4" );
1

CartanName( M ) : AlgMatElt -> MonStgElt
CartanName( G ) : GrphUnd -> MonStgElt
CartanName( C ) : AlgMatElt -> MonStgElt
CartanName( D ) : GrpDir -> MonStgElt
The Cartan name of a Coxeter matrix M, Coxeter graph G, Cartan matrix C, or Dynkin digraph D. If the corresponding Coxeter group is not finite or affine, an error is flagged.

Example Cartan_CartanName (H82E16)

> CartanName( SymmetricMatrix( [1, 3,1, 2,3,1] ) );
A3
> CartanName( SymmetricMatrix( [1, 3,1, 3,3,1] ) );
A~2
> CartanName( SymmetricMatrix( [1, 3,1, 4,3,1] ) );
The component at rows and columns [ 1, 2, 3 ]
is not a finite or affine Coxeter matrix

DynkinDiagram( M ) : AlgMatElt ->
DynkinDiagram( G ) : GrphUnd ->
DynkinDiagram( C ) : AlgMatElt ->
DynkinDiagram( D ) : GrpDir ->
DynkinDiagram( N ) : MonStgElt ->
Print the Dynkin diagram of a Coxeter matrix M, Coxeter graph G, Cartan matrix C, Dynkin digraph D or Cartan name N. If the corresponding group is not affine or is not crystallographic, an error is flagged.

Example Cartan_DynkinDiagram (H82E17)

> DynkinDiagram( "A~5 D4" );

A~5    1 - 2 - 3 - 4 - 5
       |               |
       ------- 6 -------

D4    9
     /
7 - 8
     \
      10

CoxeterDiagram( M ) : AlgMatElt ->
CoxeterDiagram( G ) : GrphUnd ->
CoxeterDiagram( C ) : AlgMatElt ->
CoxeterDiagram( D ) : GrpDir ->
CoxeterDiagram( N ) : MonStgElt ->
Print the Coxeter diagram of a Coxeter matrix M, Coxeter graph G, Cartan matrix C, Dynkin digraph D or Cartan name N. If the corresponding group is not affine or is not crystallographic, an error is flagged.

Example Cartan_CoxeterDiagram (H82E18)

> DynkinDiagram( "A~5 D4" );

A~5    1 - 2 - 3 - 4 - 5
       |               |
       ------- 6 -------

D4    9
     /
7 - 8
     \
      10


 [Next][Prev] [Right] [Left] [Up] [Index] [Root]