Isogeny: . Default: "ad"
This function creates a semisimple root datum with Cartan type t given as a string.The optional parameter Isogeny is used to specify the isogeny class of a crystallographic root datum within the Cartan class (see Subsection Classification of root data). It is not allowed for noncrystallographic root data. For irreducible crystallographic Cartan types, Isogeny can be one of the following:
For compound crystallographic Cartan types, Isogeny can be a string ("ad" or "sc"); or an injection into the fundamental group of type t; or a list of strings, integers and injections (one for each direct summand).
- A string: "ad" for adjoint type or "sc" for simply connected type.
- An integer giving the size of the isogeny subgroup within the fundamental group. This does not work in type D_n with n even and Isogeny = 2, since in this case there are three distinct isogeny classes (see the example below on how to create these data).
- An injection of a subgroup into the fundamental group Lambda/Z Phi of type t.
> RootDatum( "E6" ); Adjoint root datum of type E6 > RootDatum( "E6" : Isogeny := "sc" ); Simply connected root datum of type E6With nonirreducible root data the isogeny can be given as a list.
> RD := RootDatum( "A5 B3" : Isogeny := [* 3, "ad" *] ); > print RD : Maximal; Root datum of type A5 B3 with simple roots [-1 0 0 1 0 0 0 0] [ 1 -1 -1 0 0 0 0 0] [ 0 0 1 0 -1 0 0 0] [ 0 1 -1 0 0 0 0 0] [ 1 -1 0 1 0 0 0 0] [ 0 0 0 0 0 1 0 0] [ 0 0 0 0 0 0 1 0] [ 0 0 0 0 0 0 0 1] and simple coroots [-1 0 0 1 0 0 0 0] [ 0 -1 -1 -1 0 0 0 0] [ 0 0 1 0 -1 0 0 0] [ 0 1 -1 0 0 0 0 0] [ 1 0 1 1 1 0 0 0] [ 0 0 0 0 0 2 -1 0] [ 0 0 0 0 0 -1 2 -1] [ 0 0 0 0 0 0 -2 2] > > RD := RootDatum( "E6 A3 B4" : Isogeny := "sc" ); > IsTrivial( IsogenyGroup(RD) ); falseWe create the three root data of type D_4 with isogeny groups of size 2 using injections into the fundamental group.
> G< a, b > := FundamentalGroup( "D4" );
> G;
Abelian Group isomorphic to Z/2 + Z/2
Defined on 2 generators
Relations:
2*a = 0
2*b = 0
> _, inj1 := sub< G | a >;
> RD1 := RootDatum( "D4" : Isogeny := inj1 );
> _, inj2 := sub< G | b >;
> RD2 := RootDatum( "D4" : Isogeny := inj2 );
> _, inj3 := sub< G | a*b >;
> RD3 := RootDatum( "D4" : Isogeny := inj3 );
Isogeny: . Default: "ad"
Create the semisimple root datum with Cartan matrix C. The optional parameter Isogeny can be a string ("ad" for adjoint type, "sc" for simply connected type); or an injection into the fundamental group of C.
Create the root datum with simple roots given by the rows of the matrix A and simple coroots given by the rows of the matrix B. The matrices A and B must have the following properties:
- A and B must be the same shape (ie. same number of rows, same number of columns);
- the number of columns must be at least the number of rows; and
- AB^t must be a Cartan matrix.
> L := Lattice( "A", 3 ); > A := BasisMatrix( L ); > RD := RootDatum( A, A ); > print RD : Maximal; Root datum of type A3 with simple roots [-1 1 0 0] [ 0 -1 1 0] [ 0 0 -1 1] and simple coroots [-1 1 0 0] [ 0 -1 1 0] [ 0 0 -1 1]