Operations on Root Data#
- R1 eq R2: RootDtm, RootDtm BoolElt#
Returns
trueif, and only if, \(R_1\) and \(R_2\) are identical root data.
- IsIsomorphic(R1, R2): RootDtm, RootDtm BoolElt, [RngIntElt], Map#
Returns
trueif, and only if, \(R_1\) and \(R_2\) are isomorphic root data. Iftrue, the second value returned is a sequence giving the simple root of \(R_2\) corresponding to each simple root of \(R_1\), and the third value returned is an isomorphism \(R_1\to R_2\). This function is currently only implemented for semisimple root data.
- IsCartanEquivalent(R1, R2): RootDtm, RootDtm BoolElt, SeqEnum#
Returns
trueif and only if the root data \(R_1\) and \(R_2\) are Cartan equivalent; i.e. they have isomorphic Dynkin diagrams. Iftrue, the second value returned is a sequence giving the simple root of \(R_2\) corresponding to each simple root of \(R_1\).
- IsIsogenous(R1, R2): RootDtm, RootDtm BoolElt, SeqEnum, RootDtm, Map, Map, RootDtm, Map, Map#
Returns
trueif, and only if, \(R_1\) and \(R_2\) are isogenous root data. Iftrue, the subsequent values returned are: a sequence giving the root of \(R_2\) corresponding to each root of \(R_1\), the corresponding adjoint root datum \(R_{ad}\), the morphisms \(R_{ad}\to R_1\) and \(R_{ad}\to R_2\), the corresponding simply connected root datum \(R_{sc}\), and the morphisms \(R_1\to R_{sc}\) and \(R_2\to R_{sc}\).
- Example: Isomorphism Isogeny#
An example of isogenous root data: An example of distinct isomorphic root data:
> R1 := RootDatum("A3"); > R2 := RootDatum("A3" : Isogeny := "SC"); > R1 eq R2; false %%a> assert not $1; > IsIsomorphic(R1, R2); false %%a> assert not $1; > IsCartanEquivalent(R1, R2); true [ 1, 2, 3 ] > IsIsogenous(R1, R2); true [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ] Adjoint root datum of type A3 Mapping from: RootDtm: ad to RootDtm: ad Mapping from: RootDtm: ad to RootDtm: sc Simply connected root datum of type A3 Mapping from: RootDtm: ad to RootDtm: sc Mapping from: RootDtm: sc to RootDtm: sc > C := CartanMatrix("B2"); > R1 := RootDatum(C); > R2 := RootDatum(Transpose(C)); > R1; R2; Adjoint root datum of type B2 Adjoint root datum of type C2 > R1 eq R2; false %%a> assert not $1; > IsIsomorphic(R1, R2); true [ 2, 1 ]
- CartanName(R): RootStr MonStgElt#
The Cartan name of the root datum \(R\) (Section Finite and Affine Coxeter Groups).
- TwistedCartanName(R): RootDtm MonStgElt#
The twisted Cartan name of the root datum \(R\). E.g.,
"2A3,2".
- CoxeterDiagram(R): RootStr#
Print the Coxeter diagram of the root datum \(R\) (Section Finite and Affine Coxeter Groups).
- DynkinDiagram(R): RootStr#
Print the Dynkin diagram of the root datum \(R\) (Section Finite and Affine Coxeter Groups).
- CoxeterMatrix(R): RootStr AlgMatElt#
The Coxeter matrix of the root datum \(R\) (Section Coxeter Matrices).
- CoxeterGraph(R): RootStr GrphUnd#
The Coxeter graph of the root datum \(R\) (Section Coxeter Graphs).
- CartanMatrix(R): RootStr AlgMatElt#
The Cartan matrix of the root datum \(R\) (Section Cartan Matrices).
- DynkinDigraph(R): RootStr GrphDir#
The Dynkin digraph of the root datum \(R\) (Section Dynkin Digraphs).
- Example: Diagrams#
> R := RootDatum("F4"); > DynkinDiagram(R); F4 1 - 2 =>= 3 - 4 > CoxeterDiagram(R); F4 1 - 2 === 3 - 4
- GammaAction(R): RootDtm Rec#
The \(\Gamma\)-action of the root datum \(R\). This is a record consisting of four elements:
gammais the Group \(\Gamma\) acting on \(R\),perm_acis the homomorphism defining the permutation action of \(\Gamma\) on the set of all roots of \(R\), finallymats_rtandmats_coare sequences of matrices defining the action of \(\Gamma\) on the root and coroot spaces of \(R\).
- GammaRootSpace(R): RootDtm GSetEnum, Map#
- GammaCorootSpace(R): RootDtm GSetEnum, Map#
Given a root datum \(R\), create the fixed space of \(\Gamma\) acting on the (co)root space \(V = {\mathbb{Q}}\otimes X\) of \(R\) as well as the embedding in \(V\).
- GammaOrbitOnRoots(R, r): RootDtm, RngIntElt GSetEnum#
The orbit through the \(r\)th root of the \(\Gamma\)-action on the root datum \(R\).
- GammaOrbitsOnRoots(R): RootDtm SeqEnum[GSetEnum]#
- PositiveGammaOrbitsOnRoots(R): RootDtm SeqEnum[GSetEnum]#
- NegativeGammaOrbitsOnRoots(R): RootDtm SeqEnum[GSetEnum]#
- ZeroGammaOrbitsOnRoots(R): RootDtm SeqEnum[GSetEnum]#
The sequence of all (respectively positive, negative and zero) orbits of the \(\Gamma\)-action on the root datum \(R\) (Section Extended Root Data).
- GammaActionOnSimples(R): RootDtm HomGrp#
The \([\Gamma]\)-action on the simple (co)roots of the root datum \(R\). (Section Extended Root Data). This function was called
GammaActionPiin the last release.
- OrbitsOnSimples(R): RootDtm SeqEnum[GSetEnum]#
The sequence of all orbits of the \([\Gamma]\)-action on the simple (co)roots of the root datum \(R\) (Section Extended Root Data). This function was called
OrbitsPiin the last release.
- DistinguishedOrbitsOnSimples(R): RootDtm SeqEnum[GSetEnum]#
The sequence of distinguished orbits of the \([\Gamma]\)-action on the simple (co)roots of the root datum \(R\) (Section Extended Root Data). This function was called
DistinguishedOrbitsPiin the last release.
- BaseRing(R): RootDtm RngInt#
The base ring of the root datum \(R\) is the field of rational numbers.
- Rank(R): RootStr RngIntElt#
- AbsoluteRank(R): RootDtm RngIntElt#
The (absolute) rank of the root datum \(R\), i.e. the number of simple (co)roots.
- RelativeRank(R): RootDtm RngIntElt#
The relative rank of the root datum \(R\), i.e. the number of simple (co)roots of the relative root system. This is the same as absolute rank for split root data.
- Dimension(R): RootStr RngIntElt#
The dimension of the root datum \(R\), i.e. the dimension of the (co)root space. This is at least as large as the rank, with equality when \(R\) is semisimple.
- TwistingDegree(R): RootDtm RngIntElt#
The twisting degree of the root datum \(R\), i.e. the order of \(\Gamma\) divided by the kernel of the \([\Gamma]\)-action.
- AnisotropicSubdatum(R): RootDtm RootDtm#
The anisitropic subdatum of the root datum \(R\).
- Example: Operations For Twisted Root Data#
Consider the twisted root datum of type \({}^2A_{3,1}\) with distinguished orbit \(\{2\}\): First, print out the action of \(\Gamma\) on the root datum: Compute the orbits of the \(\Gamma\)-action: Compute the \([\Gamma]\)-action and its orbits: Absolute and relative rank and the twisting degree, as well as their appearance in the name of the root datum: anisotropic subdatum:
> R := RootDatum( "A3" : Twist := < {{2}}, 2 > ); > GammaAction(R); rec<recformat<gamma: GrpPerm, perm_ac: HomGrp, mats_rt, mats_co> | gamma := Permutation group acting on a set of cardinality 4 Order = 4 = 2^2 (1, 2, 3, 4), perm_ac := Homomorphism of GrpPerm: $, Degree 4, Order 2^2 into GrpPerm: $, Degree 12, Order 2^10 * 3^5 * 5^2 * 7 * 11 induced by (1, 2, 3, 4) |--> (1, 3, 7, 9)(2, 4, 6, 5)(8, 10, 12, 11), mats_rt := [ [ 0 0 1] [ 1 1 0] [-1 0 0] ], mats_co := [ [ 0 0 1] [ 0 1 0] [-1 1 0] ] > > PositiveGammaOrbitsOnRoots(R); [ GSet{ 2, 4, 5, 6 } ] > NegativeGammaOrbitsOnRoots(R); [ GSet{ 8, 10, 11, 12 } ] > ZeroGammaOrbitsOnRoots(R); [ GSet{ 1, 3, 7, 9 } ] > &+[ Root(R,r) : r in ZeroGammaOrbitsOnRoots(R)[1] ]; (0 0 0) > GammaActionOnSimples(R); Homomorphism of GrpPerm: $, Degree 4, Order 2^2 into GrpPerm: $, Degree 3, Order 2 * 3 induced by (1, 2, 3, 4) |--> (1, 3) > OrbitsOnSimples(R); [ GSet{ 2 }, GSet{ 1, 3 } ] > DistinguishedOrbitsOnSimples(R); [ GSet{ 2 } ] > AbsoluteRank(R); 3 %%a> assert $1 eq 3; > RelativeRank(R); 1 %%a> assert $1 eq 1; > TwistingDegree(R); 2 %%a> assert $1 eq 2; > R; R: Twisted adjoint root datum of type 2A3,1 > A := AnisotropicSubdatum(R); A; A: Twisted root datum of type 2(A1 A1)2,0 > GammaAction(A)`perm_ac; Homomorphism of GrpPerm: $, Degree 4, Order 2^2 into GrpPerm: $, Degree 4, Order 2^2 induced by (1, 2, 3, 4) |--> (1, 2, 3, 4)
- CoxeterGroupOrder(R): RootStr RngIntElt#
The order of the (split) Coxeter group of the root datum \(R\).
- GroupOfLieTypeOrder(R, q): RootDtm, RngElt RngIntElt#
The order of the group of Lie type with split root datum \(R\) over the field of cardinality \(q\).
- GroupOfLieTypeFactoredOrder(R, q): RootDtm, RngElt RngIntElt#
The factored order of the group of Lie type with split root datum \(R\) over the field of order \(q\).
- Example: Group Of Lie Type Order#
As well as accepting a specific prime power, these functions also take an indeterminate so that the generic order formula can be computed.
> P<q> := PolynomialRing(Integers()); > R := RootDatum("F4"); > GroupOfLieTypeFactoredOrder(R, q); [ <q - 1, 4>, <q, 24>, <q + 1, 4>, <q^2 - q + 1, 2>, <q^2 + 1, 2>, <q^2 + q + 1, 2>, <q^4 - q^2 + 1, 1>, <q^4 + 1, 1> ] > > R := RootDatum("B2"); > ord := GroupOfLieTypeOrder(R, q); > forall{ q : q in [2..200] | not IsPrimePower(q) or > Evaluate(ord, q) eq GroupOfLieTypeOrder(R, q) }; true %%a> assert $1;
- FundamentalGroup(R): RootDtm GrpAb, Map#
The fundamental group \(\Lambda/{\mathbb{Z}}\Phi\) of the root datum \(R\) together with the projection \(\Lambda\rightarrow\Lambda/{\mathbb{Z}}\Phi\). See Subsection Isogeny of Split Reduced Root Data.
- IsogenyGroup(R): RootDtm GrpAb, Map#
The isogeny group \(X/{\mathbb{Z}}\Phi\) of the root datum \(R\) together with the projection \(X\rightarrow X/{\mathbb{Z}}\Phi\). If \(R\) is semisimple, the injection \(X/{\mathbb{Z}}\Phi\rightarrow\Lambda/{\mathbb{Z}}\Phi\) is also returned. See Subsection Isogeny of Split Reduced Root Data.
- CoisogenyGroup(R): RootDtm GrpAb, Map#
The coisogeny group \(Y/{\mathbb{Z}}\Phi^\star\) of the root datum \(R\) together with the projection \(Y\rightarrow Y/{\mathbb{Z}}\Phi^\star\). If \(R\) is semisimple, the projection \(Y/{\mathbb{Z}}\Phi^\star\rightarrow\Lambda/{\mathbb{Z}}\Phi\) is also returned. See Subsection Isogeny of Split Reduced Root Data.
- Example: Isogeny Groups#
In the semisimple case, the fundamental group contains the isogeny group, with quotient isomorphic to the coisogeny group. Nonsemisimple root data have infinite isogeny groups.
> R := RootDatum("A5" : Isogeny := 3); > F := FundamentalGroup(R); > G := IsogenyGroup(R); > H := CoisogenyGroup(R); > #G * #H eq #F; true %%a> assert $1; > R := StandardRootDatum("A", 5); > IsogenyGroup(R); Abelian Group isomorphic to Z Defined on 1 generator (free)