[Next][Prev] [Right] [Left] [Up] [Index] [Root]

Creating new root data from old

DirectSum( RD1, RD2 ) : RootDtm, RootDtm -> RootDtm
Returns the direct sum of the root data RD1 and RD2
DirectSumDecomposition( RD ) : RootDtm -> []
A sequence containing the direct summands of the root datum RD. RD must be semisimple.
Dual( RD ) : RootDtm -> RootDtm
Returns the dual of the root datum RD obtained by swapping the roots and coroots.

Example RootDtm_DirectSumDual (H35E15)

> RD1 := RootDatum( "A5" );
> RD2 := RootDatum( "B4" );
> RD := DirectSum( RD1, Dual( RD2 ) );
> DirectSumDecomposition( RD );
[
    Root datum of type A5 ,
    Root datum of type C4 
]

RootSubdatum( RD, a ) : RootDtm, SetEnum -> RootDtm
The root subdatum of RD generated by the roots alpha_(a_1), ..., alpha_(a_k) where a={a_1, ..., a_k} is a set of integers.
RootSubdatum( RD, s ) : RootDtm, SeqEnum -> RootDtm
The root subdatum of RD generated by roots alpha_(s_1), ..., alpha_(s_k) where s=[s_1, ..., s_k] is a sequence of integers. In this version the roots must be simple in the root subdatum (ie. none of them may be a summand of another) otherwise an error is signalled. The simple roots will appear in the subdatum in the given order.

Example RootDtm_RootSubdata (H35E16)

> RD := RootDatum( "A4" );
> PositiveRoots( RD );
{@
    (1 0 0 0),
    (0 1 0 0),
    (0 0 1 0),
    (0 0 0 1),
    (1 1 0 0),
    (0 1 1 0),
    (0 0 1 1),
    (1 1 1 0),
    (0 1 1 1),
    (1 1 1 1)
@}
> sub := RootSubdatum( RD, [6,1,4] );
> sub;
Root datum of type A3
> PositiveRoots( sub );
{@
    (0 1 1 0),
    (1 0 0 0),
    (0 0 0 1),
    (1 1 1 0),
    (0 1 1 1),
    (1 1 1 1)
@}
> sub := RootSubdatum( RD, [1,5] );
The given roots are not simple in a subdatum
> sub := RootSubdatum( RD, {1,5} );
> sub;
Root datum of type A2
> PositiveRoots( sub );
{@
    (1 0 0 0),
    (0 1 0 0),
    (1 1 0 0)
@}

 [Next][Prev] [Right] [Left] [Up] [Index] [Root]