Operators on Root Systems

R1 eq R2 : RootSys, RootSys -> BoolElt
Returns true if, and only if, the root systems R1 and R2 are identical.
IsIsomorphic(R1, R2) : RootSys, RootSys -> BoolElt
Returns true if, and only if, root systems R1 and R2 are isomorphic.
IsCartanEquivalent(R1, R2) : RootSys, RootSys -> BoolElt
Returns true if, and only if, the crystallographic root systems R1 and R2 are Cartan equivalent, i.e. their Cartan matrices are the same modulo a permutation of the underlying basis.

Example RootSys_Isomorphism (H103E5)

Note that the root systems Bn and Cn are isomorphic but not Cartan equivalent. Hence Cartan equivalence is not an invariant of a root system since it depends on the particular representation of the (co)roots within the (co)root space.
> R := RootSystem("B4");  S := RootSystem("C4");
> IsIsomorphic(R, S);
true
> IsCartanEquivalent(R, S);
false
CartanName(R) : RootSys -> List
The Cartan name of the root system R (Section Finite and Affine Coxeter Groups).
CoxeterDiagram(R) : RootSys ->
Print the Coxeter diagramof the root system R (Section Finite and Affine Coxeter Groups).
DynkinDiagram(R) : RootSys ->
Print the Dynkin diagramof the root system R (Section Finite and Affine Coxeter Groups). If R is not crystallographic, an error is flagged.
CoxeterMatrix(R) : RootSys -> AlgMatElt
The Coxeter matrix of the root system R (Section Coxeter Matrices).
CoxeterGraph(R) : RootSys -> GrphUnd
The Coxeter graph of the root system R (Section Coxeter Graphs).
CartanMatrix(R) : RootSys -> AlgMatElt
The Cartan matrix of the root system R (Section Cartan Matrices).
DynkinDigraph(R) : RootSys -> GrphDir
The Dynkin digraph of the root system R (Section Dynkin Digraphs). If R is not crystallographic, an error is flagged.

Example RootSys_Diagrams (H103E6)

> R := RootSystem("F4");
> DynkinDiagram(R);
F4    1 - 2 =>= 3 - 4
> CoxeterDiagram(R);
F4    1 - 2 === 3 - 4
BaseField(R) : RootSys -> Fld
BaseRing(R) : RootSys -> Fld
The field over which the root system R is defined.
RealInjection(R) : RootSys -> .
The real injection of the root system R (Section Constructing Root Systems).
Rank(R) : RootSys -> RngIntElt
The rankof the root system R, i.e. the number of simple (co)roots.
Dimension(R) : RootSys -> RngIntElt
The dimension of the root system R, i.e. the dimension of the (co)root space. This is always at least as large as the rank, with equality when R is semisimple.
CoxeterGroupOrder(R) : RootSys -> RngIntElt
The order of the Coxeter group of the root system R.

Example RootSys_BasicOperations (H103E7)

> R := RootSystem("I2(7)");
> BaseField(R);
Number Field with defining polynomial x^3 - x^2 - 2*x + 1 over the
Rational Field
> Rank(R) eq Dimension(R);
true
> CoxeterGroupOrder(R);
14
V2.28, 13 July 2023