Morphisms of Root Data

Morphisms are currently only defined for split root data. Let Ri=(Xi, Φi, Yi, Φistar) be a root datum for i=1, 2. A morphism of root data φ:R1to R2 consists of a pair of Z-linear maps φX:X1to X2 and ΦY:Y1to Y2 satisfying

1.
φX1)⊆Φ2∪{0}; and
2.
φYstar)=φX(α)star (with the convention that 0star=0).

A fractional morphism is similar, except that it consists of Q-linear maps on the (co)root spaces X1⊗Q to X2⊗Q and Y1⊗Q to Y2⊗Q. The main examples of fractional morphisms are isogeny maps (Section Isogeny of Split Reduced Root Data). A dual morphism is similar, except that the maps are X1to Y2 and Y1to X2. This is clearly equivalent to a morphism from R1 to the dual of R2. Finally we define a dual fractional morphism in the obvious way.

A (fractional) morphism φ:R1to R2 also stores a sign corresponding to each simple root of R1. This has no effect on the action of φ on roots or coroots, but does effect the definition of the corresponding homomorphisms of Lie algebras and groups of Lie type.

hom<R -> S | phiX, phiY> : RootDtm, RootDtm, Map, Map -> Map
hom<R -> S | phiX, phiY> : RootDtm, RootDtm, Mtrx, Mtrx -> Map
Construct a (fractional) morphism φ : R to S of root data with the given linear maps or matrices phiX and phiY for the action of φ on X1 and Y1.
hom<R -> S | Q> : RootDtm, RootDtm, [RngIntElt] -> Map
Construct a (fractional) morphism of root data R to S with the given sequence of root images. The sequence Q must have length 2N and consist of elements in the range [0, ..., 2M], where N is the number of positive roots of R and M is the number of positive roots of S. The domain R must be semisimple.
Morphism(R, S, phiX, phiY) : RootDtm, RootDtm, Map, Map -> Map
Morphism(R, S, phiX, phiY) : RootDtm, RootDtm, Mtrx, Mtrx -> Map
    Check: BoolElt                      Default: true
Construct a (fractional) morphism φ : R to S of root data with the given linear maps or matrices phiX and phiY for the action of φ on X1 and Y1. The domain R must be semisimple.

If Check is set to false, the function does not check that the maps send (co)roots to (co)roots. This function is the same as the constructor hom, except for the optional parameter.

Morphism(R, S, Q) : RootDtm, RootDtm, [RngIntElt] -> Map
    Check: BoolElt                      Default: true
Construct a (fractional) morphism of root data R to S with the given sequence of root images. The sequence Q must have length 2N and consist of elements in the range [0, ..., 2M], where N is the number of positive roots of R and M is the number of positive roots of S. The domain R must be semisimple.

If Check is set to false, the function does not check that the maps send (co)roots to (co)roots. This function is the same as the constructor hom, except for the optional parameter.

DualMorphism(R, S, phiX, phiY) : RootDtm, RootDtm, Map, Map -> Map
DualMorphism(R, S, phiX, phiY) : RootDtm, RootDtm, Mtrx, Mtrx -> Map
    Check: BoolElt                      Default: true
Construct a (fractional) dual morphism of root data R to S with the given linear maps or matrices of linear maps. If Check is set to false, the function does not check that the maps send (co)roots to (co)roots.
DualMorphism(R, S, Q) : RootDtm, RootDtm, [RngIntElt] -> Map
    Check: BoolElt                      Default: true
Construct a (fractional) dual morphism of root data R to S with the given sequence of root images. The sequence Q must have length 2N and consist of elements in the range [0, ..., 2M], where N is the number of positive roots of R and M is the number of positive roots of S. The domain R must be semisimple. If Check is set to false, the function does not check that the maps send (co)roots to (co)roots.
RootImages(phi) : Map -> [RngIntElt]
The indices of the root images of the (dual) (fractional) morphism φ.
RootPermutation(phi) : Map -> GrpPermElt
The indices of the root images of the automorphism φ.
IdentityMap(R) : RootDtm -> Map
IdentityAutomorphism(R) : RootDtm -> Map
The identity morphism R to R.

Example RootDtm_CreatingRootDataHomomorphisms (H104E31)

We construct the fractional morphism from the standard root datum of type A3 onto the adjoint root datum of type A3. This will allow us to construct the algebraic projection (GL)4to(PGL)4 in Section Algebraic Homomorphisms.
> RGL := StandardRootDatum( "A", 3 );
> RPGL := RootDatum( "A3" );
> A := VerticalJoin( SimpleRoots(RGL), Vector([Rationals()|1,1,1,1]) )^-1 *
>   VerticalJoin( SimpleRoots(RPGL), Vector([Rationals()|0,0,0]) );
> B := VerticalJoin( SimpleCoroots(RGL), Vector([Rationals()|1,1,1,1]) )^-1 *
>   VerticalJoin( SimpleCoroots(RPGL), Vector([Rationals()|0,0,0]) );
> phi := hom< RGL -> RPGL | A, B >;
> v := Coroot(RGL,1);
> v; phi(v);
( 1 -1  0  0)
( 2 -1  0 )
V2.28, 13 July 2023