# Root Data

- [Introduction](introduction.md)

  - [Reflections](introduction.md#reflections)

  - [Definition of a Split Root Datum](introduction.md#definition-of-a-split-root-datum)

  - [Simple and Positive Roots](introduction.md#simple-and-positive-roots)

  - [The Coxeter Group](introduction.md#the-coxeter-group)

  - [Nonreduced Root Data](introduction.md#nonreduced-root-data)

  - [Isogeny of Split Reduced Root Data](introduction.md#isogeny-of-split-reduced-root-data)

  - [Extended Root Data](introduction.md#extended-root-data)

- [Constructing Root Data](create-root-datum.md)

  - [`RootDatum(N): MonStgElt → RootDtm`](create-root-datum.md#function-intrrootdatum)

  - [`Example: Creating Root Data`](create-root-datum.md#example-ex-c80243)

  - [`Example: Creating Extended Root Data`](create-root-datum.md#example-ex-cd6016)

  - [`RootDatum(C): AlgMatElt → RootDtm`](create-root-datum.md#function-rootdatum-algmatelt)

  - [`RootDatum(D): GrphDir → RootDtm`](create-root-datum.md#function-rootdatum-grphdir)

  - [`RootDatum(A, B): Mtrx, Mtrx → RootDtm`](create-root-datum.md#function-rootdatum-mtrx-mtrx)

  - [`Example: G2Root System`](create-root-datum.md#example-ex-46dafe)

  - [`IrreducibleRootDatum(X, n): MonStgElt, RngIntElt → RootDtm`](create-root-datum.md#function-irreduciblerootdatum-monstgelt-rngintelt)

  - [`StandardRootDatum(X, n): MonStgElt, RngIntElt → RootDtm`](create-root-datum.md#function-intrstandardrootdatum)

  - [`Example: Irreducible Root Datum`](create-root-datum.md#example-ex-8489eb)

  - [`ToralRootDatum(n): RngIntElt → RootDtm`](create-root-datum.md#function-toralrootdatum-rngintelt)

  - [`Example: Toral Root Data`](create-root-datum.md#example-ex-c91fea)

  - [`TrivialRootDatum() → RootDat`](create-root-datum.md#function-trivialrootdatum)

  - [Constructing Sparse Root Data](create-root-datum.md#constructing-sparse-root-data)

    - [`SparseRootDatum(N): MonStgElt → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-monstgelt)

    - [`SparseRootDatum(N): MonStgElt → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-monstgelt-2)

    - [`SparseRootDatum(C): AlgMatElt → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-algmatelt)

    - [`SparseRootDatum(D): GrphDir → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-grphdir)

    - [`SparseRootDatum(R): RootSys → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-rootsys)

    - [`SparseRootDatum(A, B): Mtrx, Mtrx → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-mtrx-mtrx)

    - [`SparseIrreducibleRootDatum(X, n): MonStgElt, RngIntElt → RootDtmSprs`](create-root-datum.md#function-sparseirreduciblerootdatum-monstgelt-rngintelt)

    - [`SparseStandardRootDatum(X, n): MonStgElt, RngIntElt → RootDtmSprs`](create-root-datum.md#function-sparsestandardrootdatum-monstgelt-rngintelt)

    - [`Example: Sprs RD`](create-root-datum.md#example-ex-c58524)

    - [`SparseRootDatum(R): RootDtm → RootDtmSprs`](create-root-datum.md#function-sparserootdatum-rootdtm)

    - [`RootDatum(R): RootDtmSprs → RootDtm`](create-root-datum.md#function-rootdatum-rootdtmsprs)

    - [`Example: Sprs R Dsumsub`](create-root-datum.md#example-ex-7d922a)

- [Operations on Root Data](operators-root-dtm.md)

  - [`R1 eq R2: RootDtm, RootDtm → BoolElt`](operators-root-dtm.md#operation-op-eq-rootdtm-rootdtm)

  - [`IsIsomorphic(R1, R2): RootDtm, RootDtm → BoolElt, [RngIntElt], Map`](operators-root-dtm.md#function-isisomorphic-rootdtm-rootdtm)

  - [`IsCartanEquivalent(R1, R2): RootDtm, RootDtm → BoolElt, SeqEnum`](operators-root-dtm.md#function-iscartanequivalent-rootdtm-rootdtm)

  - [`IsIsogenous(R1, R2): RootDtm, RootDtm → BoolElt, SeqEnum, RootDtm, Map, Map, RootDtm, Map, Map`](operators-root-dtm.md#function-isisogenous-rootdtm-rootdtm)

  - [`Example: Isomorphism Isogeny`](operators-root-dtm.md#example-ex-864e8f)

  - [`CartanName(R): RootStr → MonStgElt`](operators-root-dtm.md#function-cartanname-rootstr)

  - [`TwistedCartanName(R): RootDtm → MonStgElt`](operators-root-dtm.md#function-twistedcartanname-rootdtm)

  - [`CoxeterDiagram(R): RootStr`](operators-root-dtm.md#function-coxeterdiagram-rootstr)

  - [`DynkinDiagram(R): RootStr`](operators-root-dtm.md#function-dynkindiagram-rootstr)

  - [`CoxeterMatrix(R): RootStr → AlgMatElt`](operators-root-dtm.md#function-coxetermatrix-rootstr)

  - [`CoxeterGraph(R): RootStr → GrphUnd`](operators-root-dtm.md#function-coxetergraph-rootstr)

  - [`CartanMatrix(R): RootStr → AlgMatElt`](operators-root-dtm.md#function-cartanmatrix-rootstr)

  - [`DynkinDigraph(R): RootStr → GrphDir`](operators-root-dtm.md#function-dynkindigraph-rootstr)

  - [`Example: Diagrams`](operators-root-dtm.md#example-ex-de9285)

  - [`GammaAction(R): RootDtm → Rec`](operators-root-dtm.md#function-gammaaction-rootdtm)

  - [`GammaRootSpace(R): RootDtm → GSetEnum, Map`](operators-root-dtm.md#function-gammarootspace-rootdtm)

  - [`GammaCorootSpace(R): RootDtm → GSetEnum, Map`](operators-root-dtm.md#function-gammacorootspace-rootdtm)

  - [`GammaOrbitOnRoots(R,r): RootDtm, RngIntElt → GSetEnum`](operators-root-dtm.md#function-gammaorbitonroots-rootdtm-rngintelt)

  - [`GammaOrbitsOnRoots(R): RootDtm → SeqEnum[GSetEnum]`](operators-root-dtm.md#function-gammaorbitsonroots-rootdtm)

  - [`PositiveGammaOrbitsOnRoots(R): RootDtm → SeqEnum[GSetEnum]`](operators-root-dtm.md#function-positivegammaorbitsonroots-rootdtm)

  - [`NegativeGammaOrbitsOnRoots(R): RootDtm → SeqEnum[GSetEnum]`](operators-root-dtm.md#function-negativegammaorbitsonroots-rootdtm)

  - [`ZeroGammaOrbitsOnRoots(R): RootDtm → SeqEnum[GSetEnum]`](operators-root-dtm.md#function-zerogammaorbitsonroots-rootdtm)

  - [`GammaActionOnSimples(R): RootDtm → HomGrp`](operators-root-dtm.md#function-gammaactiononsimples-rootdtm)

  - [`OrbitsOnSimples(R): RootDtm → SeqEnum[GSetEnum]`](operators-root-dtm.md#function-orbitsonsimples-rootdtm)

  - [`DistinguishedOrbitsOnSimples(R): RootDtm → SeqEnum[GSetEnum]`](operators-root-dtm.md#function-distinguishedorbitsonsimples-rootdtm)

  - [`BaseRing(R): RootDtm → RngInt`](operators-root-dtm.md#function-basering-rootdtm)

  - [`Rank(R): RootStr → RngIntElt`](operators-root-dtm.md#function-rank-rootstr)

  - [`AbsoluteRank(R): RootDtm → RngIntElt`](operators-root-dtm.md#function-absoluterank-rootdtm)

  - [`RelativeRank(R): RootDtm → RngIntElt`](operators-root-dtm.md#function-relativerank-rootdtm)

  - [`Dimension(R): RootStr → RngIntElt`](operators-root-dtm.md#function-dimension-rootstr)

  - [`TwistingDegree(R): RootDtm → RngIntElt`](operators-root-dtm.md#function-twistingdegree-rootdtm)

  - [`AnisotropicSubdatum(R): RootDtm → RootDtm`](operators-root-dtm.md#function-anisotropicsubdatum-rootdtm)

  - [`Example: Operations For Twisted Root Data`](operators-root-dtm.md#example-ex-9c2a05)

  - [`CoxeterGroupOrder(R): RootStr → RngIntElt`](operators-root-dtm.md#function-coxetergrouporder-rootstr)

  - [`GroupOfLieTypeOrder(R, q): RootDtm, RngElt → RngIntElt`](operators-root-dtm.md#function-groupoflietypeorder-rootdtm-rngelt)

  - [`GroupOfLieTypeFactoredOrder(R, q): RootDtm, RngElt → RngIntElt`](operators-root-dtm.md#function-groupoflietypefactoredorder-rootdtm-rngelt)

  - [`Example: Group Of Lie Type Order`](operators-root-dtm.md#example-ex-da6059)

  - [`FundamentalGroup(R): RootDtm → GrpAb, Map`](operators-root-dtm.md#function-fundamentalgroup-rootdtm)

  - [`IsogenyGroup(R): RootDtm → GrpAb, Map`](operators-root-dtm.md#function-isogenygroup-rootdtm)

  - [`CoisogenyGroup(R): RootDtm → GrpAb, Map`](operators-root-dtm.md#function-coisogenygroup-rootdtm)

  - [`Example: Isogeny Groups`](operators-root-dtm.md#example-ex-2f8db1)

- [Properties of Root Data](properties-root-datum.md)

  - [`IsFinite(R): RootStr → BoolElt`](properties-root-datum.md#function-isfinite-rootstr)

  - [`IsIrreducible(R): RootStr → BoolElt`](properties-root-datum.md#function-isirreducible-rootstr)

  - [`IsAbsolutelyIrreducible(R): RootStr → BoolElt`](properties-root-datum.md#function-isabsolutelyirreducible-rootstr)

  - [`IsProjectivelyIrreducible(R): RootStr → BoolElt`](properties-root-datum.md#function-isprojectivelyirreducible-rootstr)

  - [`IsReduced(R): RootDtm → BoolElt`](properties-root-datum.md#function-isreduced-rootdtm)

  - [`IsSemisimple(R): RootStr → BoolElt`](properties-root-datum.md#function-issemisimple-rootstr)

  - [`IsCrystallographic(R): RootStr → BoolElt`](properties-root-datum.md#function-iscrystallographic-rootstr)

  - [`IsSimplyLaced(R): RootStr → BoolElt`](properties-root-datum.md#function-issimplylaced-rootstr)

  - [`IsAdjoint(R): RootDtm → BoolElt`](properties-root-datum.md#function-isadjointr)

  - [`IsWeaklyAdjoint(R): RootDtm → BoolElt`](properties-root-datum.md#function-isweaklyadjoint-rootdtm)

  - [`IsSimplyConnected(R): RootDtm → BoolElt`](properties-root-datum.md#function-issimplyconnectedr)

  - [`IsWeaklySimplyConnected(R): RootDtm → BoolElt`](properties-root-datum.md#function-isweaklysimplyconnected-rootdtm)

  - [`Example: Properties`](properties-root-datum.md#example-ex-ece71b)

  - [`IsReduced(R): RootStr → BoolElt`](properties-root-datum.md#function-isreduced-rootstr)

  - [`IsSplit(R): RootDtm → BoolElt`](properties-root-datum.md#function-issplit-rootdtm)

  - [`IsTwisted(R): RootDtm → BoolElt`](properties-root-datum.md#function-istwisted-rootdtm)

  - [`IsQuasisplit(R): RootDtm → BoolElt`](properties-root-datum.md#function-isquasisplit-rootdtm)

  - [`IsInner(R): RootDtm → BoolElt`](properties-root-datum.md#function-isinner-rootdtm)

  - [`IsOuter(R): RootDtm → BoolElt`](properties-root-datum.md#function-isouter-rootdtm)

  - [`IsAnisotropic(R): RootDtm → BoolElt`](properties-root-datum.md#function-isanisotropic-rootdtm)

- [Roots, Coroots and Weights](roots-coroots-weights.md)

  - [Accessing Roots and Coroots](roots-coroots-weights.md#accessing-roots-and-coroots)

    - [`RootSpace(R): RootStr → ModTupFld`](roots-coroots-weights.md#function-rootspace-rootstr)

    - [`CorootSpace(R): RootStr → ModTupFld`](roots-coroots-weights.md#function-corootspace-rootstr)

    - [`FullRootLattice(R): RootDtm → Lat, Map`](roots-coroots-weights.md#function-fullrootlattice-rootdtm)

    - [`FullCorootLattice(R): RootDtm → Lat, Map`](roots-coroots-weights.md#function-fullcorootlattice-rootdtm)

    - [`RootLattice(R): RootDtm → Lat, Map`](roots-coroots-weights.md#function-rootlattice-rootdtm)

    - [`CorootLattice(R): RootDtm → Lat, Map`](roots-coroots-weights.md#function-corootlattice-rootdtm)

    - [`Example: Rt Lat`](roots-coroots-weights.md#example-ex-f812ae)

    - [`IsRootSpace(V): ModTupFld → BoolElt`](roots-coroots-weights.md#function-isrootspace-modtupfld)

    - [`IsCorootSpace(V): ModTupFld → BoolElt`](roots-coroots-weights.md#function-iscorootspace-modtupfld)

    - [`IsInRootSpace(v): ModTupFldElt → BoolElt`](roots-coroots-weights.md#function-isinrootspace-modtupfldelt)

    - [`IsCorootSpace(v): ModTupFldElt → BoolElt`](roots-coroots-weights.md#function-iscorootspace-modtupfldelt)

    - [`RootDatum(V): ModTupFld → RootDtm`](roots-coroots-weights.md#function-rootdatum-modtupfld)

    - [`Example: Rt Is Space`](roots-coroots-weights.md#example-ex-ddfc7e)

    - [`ZeroRootLattice(R): RootDtm → Lat`](roots-coroots-weights.md#function-zerorootlattice-rootdtm)

    - [`ZeroRootSpace(R): RootDtm → ModTupFld, Map`](roots-coroots-weights.md#function-zerorootspace-rootdtm)

    - [`RelativeRootSpace(R): RootDtm → ModTupFld, Map`](roots-coroots-weights.md#function-relativerootspace-rootdtm)

    - [`SimpleRoots(R): RootStr → Mtrx`](roots-coroots-weights.md#function-simpleroots-rootstr)

    - [`SimpleCoroots(R): RootStr → Mtrx`](roots-coroots-weights.md#function-simplecoroots-rootstr)

    - [`Example: Basic Operations`](roots-coroots-weights.md#example-ex-b96105)

    - [`NumberOfPositiveRoots(R): RootStr → RngIntElt`](roots-coroots-weights.md#function-numberofpositiveroots-rootstr)

    - [`NumPosRoots(R): RootStr → RngIntElt`](roots-coroots-weights.md#function-numposroots-rootstr)

    - [`Roots(R): RootStr → SetIndx`](roots-coroots-weights.md#function-roots-rootstr)

    - [`Coroots(R): RootStr → SetIndx`](roots-coroots-weights.md#function-coroots-rootstr)

    - [`PositiveRoots(R): RootStr → SetIndx`](roots-coroots-weights.md#function-positiveroots-rootstr)

    - [`PositiveCoroots(R): RootStr → SetIndx`](roots-coroots-weights.md#function-positivecoroots-rootstr)

    - [`Root(R, r): RootStr, RngIntElt → SetIndx`](roots-coroots-weights.md#function-root-rootstr-rngintelt)

    - [`Coroot(R, r): RootStr, RngIntElt → SetIndx`](roots-coroots-weights.md#function-coroot-rootstr-rngintelt)

    - [`RootPosition(R, v): RootStr, . → SetIndx`](roots-coroots-weights.md#function-rootposition-rootstr)

    - [`CorootPosition(R, v): RootStr, . → SetIndx`](roots-coroots-weights.md#function-corootposition-rootstr)

    - [`BasisChange(R,v): RootStr, Any → SeqEnum`](roots-coroots-weights.md#function-basischange-rootstr-any)

    - [`Example: Roots Coroots`](roots-coroots-weights.md#example-ex-f22cf4)

    - [`IsInRootSpace(R,v): RootDtm, ModTupFldElt → BoolElt`](roots-coroots-weights.md#function-isinrootspace-rootdtm-modtupfldelt)

    - [`IsInCorootSpace(R,v): RootDtm, ModTupFldElt → BoolElt`](roots-coroots-weights.md#function-isincorootspace-rootdtm-modtupfldelt)

    - [`HighestRoot(R): RootStr → .`](roots-coroots-weights.md#function-highestroot-rootstr)

    - [`HighestCoroot(R): RootStr → .`](roots-coroots-weights.md#function-highestcoroot-rootstr)

    - [`HighestLongRoot(R): RootStr → .`](roots-coroots-weights.md#function-highestlongroot-rootstr)

    - [`HighestLongCoroot(R): RootStr → .`](roots-coroots-weights.md#function-highestlongcoroot-rootstr)

    - [`HighestShortRoot(R): RootStr → .`](roots-coroots-weights.md#function-highestshortroot-rootstr)

    - [`HighestShortCoroot(R): RootStr → .`](roots-coroots-weights.md#function-highestshortcoroot-rootstr)

    - [`Example: Highest Roots`](roots-coroots-weights.md#example-ex-a8cbef)

    - [`RelativeRoots(R): RootDtm → SetIndx`](roots-coroots-weights.md#function-relativeroots-rootdtm)

    - [`PositiveRelativeRoots(R): RootDtm → SetIndx`](roots-coroots-weights.md#function-positiverelativeroots-rootdtm)

    - [`NegativeRelativeRoots(R): RootDtm → SetIndx`](roots-coroots-weights.md#function-negativerelativeroots-rootdtm)

    - [`SimpleRelativeRoots(R): RootDtm → SetIndx`](roots-coroots-weights.md#function-simplerelativeroots-rootdtm)

    - [`RelativeRootDatum(R): RootDtm → RootDtm`](roots-coroots-weights.md#function-relativerootdatum-rootdtm)

    - [`GammaOrbitsRepresentatives(R, delta): RootDtm, RngIntElt → SeqEnum`](roots-coroots-weights.md#function-gammaorbitsrepresentatives-rootdtm-rngintelt)

    - [`Example: Two Twisted Esixes`](roots-coroots-weights.md#example-ex-bec95e)

    - [`CoxeterForm(R): RootDtm → AlgMatElt`](roots-coroots-weights.md#function-coxeterform-rootdtm)

    - [`DualCoxeterForm(R): RootDtm → AlgMatElt`](roots-coroots-weights.md#function-dualcoxeterform-rootdtm)

  - [Reflections](roots-coroots-weights.md#reflections)

    - [`SimpleReflectionMatrices(R): RootDtm → []`](roots-coroots-weights.md#function-simplereflectionmatrices-rootdtm)

    - [`SimpleCoreflectionMatrices(R): RootDtm → []`](roots-coroots-weights.md#function-simplecoreflectionmatrices-rootdtm)

    - [`ReflectionMatrices(R): RootDtm → []`](roots-coroots-weights.md#function-reflectionmatrices-rootdtm)

    - [`CoreflectionMatrices(R): RootDtm → []`](roots-coroots-weights.md#function-coreflectionmatrices-rootdtm)

    - [`ReflectionMatrix(R, r): RootDtm, RngIntElt → []`](roots-coroots-weights.md#function-reflectionmatrix-rootdtm-rngintelt)

    - [`CoreflectionMatrix(R, r): RootDtm, RngIntElt → []`](roots-coroots-weights.md#function-coreflectionmatrix-rootdtm-rngintelt)

    - [`SimpleReflectionPermutations(R): RootDtm → []`](roots-coroots-weights.md#function-simplereflectionpermutations-rootdtm)

    - [`ReflectionPermutations(R): RootDtm → []`](roots-coroots-weights.md#function-reflectionpermutations-rootdtm)

    - [`ReflectionPermutation(R, r): RootDtm, RngIntElt → []`](roots-coroots-weights.md#function-reflectionpermutation-rootdtm-rngintelt)

    - [`ReflectionWords(R): RootDtm → []`](roots-coroots-weights.md#function-reflectionwords-rootdtm)

    - [`ReflectionWord(R, r): RootDtm, RngIntElt → []`](roots-coroots-weights.md#function-reflectionword-rootdtm-rngintelt)

    - [`Example: Action`](roots-coroots-weights.md#example-ex-458120)

  - [Operations and Properties for Root and Coroot Indices](roots-coroots-weights.md#operations-and-properties-for-root-and-coroot-indices)

    - [`Sum(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-sum-rootdtm-rngintelt-rngintelt)

    - [`IsPositive(R, r): RootStr, RngIntElt → BoolElt`](roots-coroots-weights.md#function-ispositive-rootstr-rngintelt)

    - [`IsNegative(R, r): RootStr, RngIntElt → BoolElt`](roots-coroots-weights.md#function-isnegative-rootstr-rngintelt)

    - [`Negative(R, r): RootStr, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-negative-rootstr-rngintelt)

    - [`LeftString(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-leftstring-rootdtm-rngintelt-rngintelt)

    - [`RightString(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-rightstring-rootdtm-rngintelt-rngintelt)

    - [`LeftStringLength(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-intrleftstringlength)

    - [`RightStringLength(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-intrrightstringlength)

    - [`Example: Root Arithmetic`](roots-coroots-weights.md#example-ex-15650f)

    - [`RootHeight(R, r): RootStr, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-rootheight-rootstr-rngintelt)

    - [`CorootHeight(R, r): RootStr, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-corootheight-rootstr-rngintelt)

    - [`RootNorms(R): RootStr → [RngIntElt]`](roots-coroots-weights.md#function-rootnorms-rootstr)

    - [`CorootNorms(R): RootStr → [RngIntElt]`](roots-coroots-weights.md#function-corootnorms-rootstr)

    - [`RootNorm(R, r): RootStr, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-rootnorm-rootstr-rngintelt)

    - [`CorootNorm(R, r): RootStr, RngIntElt → RngIntElt`](roots-coroots-weights.md#function-corootnorm-rootstr-rngintelt)

    - [`IsLongRoot(R, r): RootStr, RngIntElt → BoolElt`](roots-coroots-weights.md#function-islongroot-rootstr-rngintelt)

    - [`IsShortRoot(R, r): RootStr, RngIntElt → BoolElt`](roots-coroots-weights.md#function-isshortroot-rootstr-rngintelt)

    - [`IsIndivisibleRoot(R, r): RootStr, RngIntElt → BoolElt`](roots-coroots-weights.md#function-isindivisibleroot-rootstr-rngintelt)

    - [`Example: Root Operations`](roots-coroots-weights.md#example-ex-1c59aa)

    - [`RootClosure(R, S): RootDtm, SetEnum[RngIntElt] → SetEnum[RngIntElt]`](roots-coroots-weights.md#function-rootclosure-rootdtm-setenum-rngintelt)

    - [`AdditiveOrder(R): RootStr → SeqEnum`](roots-coroots-weights.md#function-additiveorder-rootstr)

    - [`IsAdditiveOrder(R, Q): RootStr, [RngIntElt] → BoolElt`](roots-coroots-weights.md#function-isadditiveorder-rootstr-rngintelt)

    - [`Example: Additive Order`](roots-coroots-weights.md#example-ex-24f6a0)

  - [Weights](roots-coroots-weights.md#weights)

    - [`WeightLattice(R): RootDtm → Lat`](roots-coroots-weights.md#function-weightlattice-rootdtm)

    - [`CoweightLattice(R): RootDtm → Lat`](roots-coroots-weights.md#function-coweightlattice-rootdtm)

    - [`FundamentalWeights(R): RootDtm → Mtrx`](roots-coroots-weights.md#function-fundamentalweights-rootdtm)

    - [`FundamentalCoweights(R): RootDtm → Mtrx`](roots-coroots-weights.md#function-fundamentalcoweights-rootdtm)

    - [`Example: Weights`](roots-coroots-weights.md#example-ex-28403f)

    - [`IsDominant(R, v): RootDtm, . → ModTupFldElt, GrpFPCoxElt`](roots-coroots-weights.md#function-isdominant-rootdtm)

    - [`DominantWeight(R, v): RootDtm, . → ModTupFldElt, GrpFPCoxElt`](roots-coroots-weights.md#function-dominantweight-rootdtm)

    - [`WeightOrbit(R, v): RootDtm, . → {@ ModTupFldElt @}, [GrpFPCoxElt]`](roots-coroots-weights.md#function-weightorbit-rootdtm)

    - [`Example: Dominant Weights`](roots-coroots-weights.md#example-ex-4bce9a)

- [Building Root Data](create-new-root-datum.md)

  - [`sub<R | a>: RootDtm, SetEnum → RootDtm`](create-new-root-datum.md#constructor-constructor-sub-rootdtm-setenum-rootdtm)

  - [`sub<R | s>: RootDtm, SetEnum → RootDtm`](create-new-root-datum.md#constructor-constructor-sub-rootdtm-setenum-rootdtm-2)

  - [`Example: Root Subdata`](create-new-root-datum.md#example-ex-dc9697)

  - [`R1 subset R2: RootDtm, RootDtm → BoolElt, .`](create-new-root-datum.md#operation-op-subset-rootdtm-rootdtm)

  - [`R1 + R2: RootDtm, RootDtm → RootDtm`](create-new-root-datum.md#operation-op-plus-rootdtm-rootdtm)

  - [`DirectSum(R1, R2): RootDtm, RootDtm → RootDtm`](create-new-root-datum.md#function-directsum-rootdtm-rootdtm)

  - [`R1 join R2: RootDtm, RootDtm → RootDtm`](create-new-root-datum.md#operation-op-join-rootdtm-rootdtm)

  - [`Example: Root Dtm Sums`](create-new-root-datum.md#example-ex-67182b)

  - [`DirectSumDecomposition(R): RootDtm → [], RootDtm, Map`](create-new-root-datum.md#function-directsumdecomposition-rootdtm)

  - [`IndecomposableSummands(R): RootDtm → [], RootDtm, Map`](create-new-root-datum.md#function-indecomposablesummands-rootdtm)

  - [`Example: Root Dtm Decomp`](create-new-root-datum.md#example-ex-7e44ad)

  - [`Dual(R): RootDtm → RootDtm, Map`](create-new-root-datum.md#function-dual-rootdtm)

  - [`SimplyConnectedVersion(R): RootDtm → RootDtm, Map`](create-new-root-datum.md#function-simplyconnectedversion-rootdtm)

  - [`AdjointVersion(R): RootDtm → RootDtm, Map`](create-new-root-datum.md#function-adjointversion-rootdtm)

  - [`IndivisibleSubdatum(R): RootDtm → RootDtm`](create-new-root-datum.md#function-indivisiblesubdatum-rootdtm)

  - [`Radical(R): RootDtm → RootDtm`](create-new-root-datum.md#function-radical-rootdtm)

  - [`Example: Direct Sum Dual Radical`](create-new-root-datum.md#example-ex-187258)

  - [`TwistedRootDatum(R): RootDtm → RootDtm`](create-new-root-datum.md#function-twistedrootdatum-rootdtm)

  - [`TwistedRootDatum(N): MonStgElt → RootDtm`](create-new-root-datum.md#function-twistedrootdatum-monstgelt)

  - [`Example: Direct Sum Dual Radical`](create-new-root-datum.md#example-ex-4dc407)

  - [`UntwistedRootDatum(R): RootDtm → RootDtm`](create-new-root-datum.md#function-untwistedrootdatum-rootdtm)

  - [`SplitRootDatum(R): RootDtm → RootDtm`](create-new-root-datum.md#function-splitrootdatum-rootdtm)

- [Morphisms of Root Data](morphisms-root-datum.md)

  - [`hom<R -\>S | phiX, phiY>: RootDtm, RootDtm, Map, Map → Map`](morphisms-root-datum.md#constructor-constructor-hom-rootdtm-rootdtm-map-map-map)

  - [`hom<R -\>S | phiX, phiY>: RootDtm, RootDtm, Mtrx, Mtrx → Map`](morphisms-root-datum.md#constructor-constructor-hom-rootdtm-rootdtm-mtrx-mtrx-map)

  - [`hom<R -\>S | Q>: RootDtm, RootDtm, [RngIntElt] → Map`](morphisms-root-datum.md#constructor-constructor-hom-rootdtm-rootdtm-rngintelt-map)

  - [`Morphism(R, S, phiX, phiY): RootDtm, RootDtm, Map, Map → Map`](morphisms-root-datum.md#function-morphism-rootdtm-rootdtm-map-map)

  - [`Morphism(R, S, phiX, phiY): RootDtm, RootDtm, Mtrx, Mtrx → Map`](morphisms-root-datum.md#function-morphism-rootdtm-rootdtm-mtrx-mtrx)

  - [`Morphism(R, S, Q): RootDtm, RootDtm, [RngIntElt] → Map`](morphisms-root-datum.md#function-morphism-rootdtm-rootdtm-rngintelt)

  - [`DualMorphism(R, S, phiX, phiY): RootDtm, RootDtm, Map, Map → Map`](morphisms-root-datum.md#function-dualmorphism-rootdtm-rootdtm-map-map)

  - [`DualMorphism(R, S, phiX, phiY): RootDtm, RootDtm, Mtrx, Mtrx → Map`](morphisms-root-datum.md#function-dualmorphism-rootdtm-rootdtm-mtrx-mtrx)

  - [`DualMorphism(R, S, Q): RootDtm, RootDtm, [RngIntElt] → Map`](morphisms-root-datum.md#function-dualmorphism-rootdtm-rootdtm-rngintelt)

  - [`RootImages(phi): Map → [RngIntElt]`](morphisms-root-datum.md#function-rootimages-map)

  - [`RootPermutation(phi): Map → GrpPermElt`](morphisms-root-datum.md#function-rootpermutation-map)

  - [`IdentityMap(R): RootDtm → Map`](morphisms-root-datum.md#function-identitymap-rootdtm)

  - [`IdentityAutomorphism(R): RootDtm → Map`](morphisms-root-datum.md#function-identityautomorphism-rootdtm)

  - [`Example: Creating Root Data Homomorphisms`](morphisms-root-datum.md#example-ex-b874c1)

- [Constants Associated with Root Data](constants-root-datum.md)

  - [`ExtraspecialPairs(R): RootDtm → SeqEnum`](constants-root-datum.md#function-extraspecialpairs-rootdtm)

  - [`NumExtraspecialPairs(R): RootDtm → SeqEnum`](constants-root-datum.md#function-numextraspecialpairs-rootdtm)

  - [`ExtraspecialPair(R,r): RootDtm, RngIntElt → SeqEnum`](constants-root-datum.md#function-extraspecialpair-rootdtm-rngintelt)

  - [`ExtraspecialSigns(R): RootDtm → []`](constants-root-datum.md#function-extraspecialsigns-rootdtm)

  - [`LieConstant_p(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-p-rootdtm-rngintelt-rngintelt)

  - [`LieConstant_q(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-q-rootdtm-rngintelt-rngintelt)

  - [`CartanInteger(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-cartaninteger-rootdtm-rngintelt-rngintelt)

  - [`LieConstant_N(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-n-rootdtm-rngintelt-rngintelt)

  - [`LieConstant_epsilon(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-epsilon-rootdtm-rngintelt-rngintelt)

  - [`LieConstant_M(R, r, s, i): RootDtm, RngIntElt, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-m-rootdtm-rngintelt-rngintelt-rngintelt)

  - [`LieConstant_C(R, i, j, r, s): RootDtm, RngIntElt, RngIntElt, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-c-rootdtm-rngintelt-rngintelt-rngintelt-rngintelt)

  - [`LieConstant_eta(R, r, s): RootDtm, RngIntElt, RngIntElt → RngIntElt`](constants-root-datum.md#function-lieconstant-eta-rootdtm-rngintelt-rngintelt)

  - [`StructureConstants(R): RootDtm → RngIntElt`](constants-root-datum.md#function-structureconstants-rootdtm)

  - [`Example: consts`](constants-root-datum.md#example-ex-6b2ee2)

- [Related Structures](related-structures.md)

  - [`RootSystem(R): RootDtm → RootSys`](related-structures.md#function-rootsystem-rootdtm)

  - [`CoxeterGroup(grpcat, R): Cat, RootDtm → grpcat`](related-structures.md#function-coxetergroup-cat-rootdtm)

  - [`CoxeterGroup(R): RootDtm → GrpPermCox`](related-structures.md#function-coxetergroup-rootdtm)

  - [`WeylGroup(R): RootDtm → GrpPermCox`](related-structures.md#function-weylgroup-rootdtm)

  - [`CoxeterGroup(GrpPermCox, R): Cat, RootDtm → GrpPermCox`](related-structures.md#function-coxetergroup-cat-rootdtm-2)

  - [`ReflectionGroup(R): RootDtm → GrpMat`](related-structures.md#function-reflectiongroup-rootdtm)

  - [`LieAlgebraHomorphism(phi,k): Map, Rng → AlgLie`](related-structures.md#function-liealgebrahomorphism-map-rng)

  - [`LieAlgebra(R, k): RootDtm, Rng → AlgLie`](related-structures.md#function-liealgebra-rootdtm-rng)

  - [`GroupOfLieType(R, k): RootDtm, Rng → GrpLie`](related-structures.md#function-groupoflietype-rootdtm-rng)

  - [`GroupOfLieTypeHomomorphism(phi, k): Map, Rng → GrpLie`](related-structures.md#function-groupoflietypehomomorphism-map-rng)

  - [`Example: Related`](related-structures.md#example-ex-174972)
