  
  [1X2 [33X[0;0YThe GAP Package Unipot[133X[101X
  
  [33X[0;0YThis  chapter describes the package [5XUnipot[105X. Mainly, the package provides the
  ability to compute with elements of unipotent subgroups of Chevalley groups,
  but also some properties of these groups.[133X
  
  [33X[0;0YIn  this chapter we will refer to unipotent subgroups of Chevalley groups as
  [21Xunipotent  subgroups[121X  and  to  elements  of unipotent subgroups as [21Xunipotent
  elements[121X.  Specifically,  we  only consider unipotent subgroups generated by
  all positive root elements.[133X
  
  
  [1X2.1 [33X[0;0YGeneral functionality[133X[101X
  
  [33X[0;0YIn  this section we will describe the general functionality provided by this
  package.[133X
  
  [1X2.1-1 UnipotChevInfo[101X
  
  [33X[1;0Y[29X[2XUnipotChevInfo[102X [32X info class[133X
  
  [33X[0;0Y[10XUnipotChevInfo[110X  is  an  [10XInfoClass[110X  used  in  this package. [10XInfoLevel[110X of this
  [10XInfoClass[110X  is  set  to  1  by  default  and  can  be changed to any level by
  [10XSetInfoLevel( UnipotChevInfo, [3Xn[103X[10X )[110X.[133X
  
  [33X[0;0YThe following levels are used throughout the package:[133X
  
  [31X1[131X   [33X[0;6Ynothing is printed.[133X
  
  [31X2[131X   [33X[0;6YWhen  calculating  the order of a finite unipotent subgroup, the power
        presentation  of  this  number  is  printed.  (See [2XSize[102X ([14X2.2-5[114X) for an
        example.)[133X
  
  [31X3[131X   [33X[0;6YWhen  comparing  unipotent  elements,  report  for  which  of them the
        canonical form must be computed. (See [2X\=[102X ([14X2.3-11[114X) for an example.)[133X
  
  [31X4[131X   [33X[0;6Ynothing is printed.[133X
  
  [31X5[131X   [33X[0;6YWhile calculating the canonical form, the different steps are printed.[133X
  
  [31X6[131X   [33X[0;6YThe  process  of  calculating  the  Chevalley  commutator constants is
        printed.[133X
  
  
  [1X2.2 [33X[0;0YUnipotent subgroups of Chevalley groups[133X[101X
  
  [33X[0;0YIn  this  section we will describe the functionality for unipotent subgroups
  provided by this package.[133X
  
  [1X2.2-1 IsUnipotChevSubGr[101X
  
  [33X[1;0Y[29X[2XIsUnipotChevSubGr[102X( [3Xgrp[103X ) [32X Category[133X
  
  [33X[0;0YCategory for unipotent subgroups.[133X
  
  [1X2.2-2 UnipotChevSubGr[101X
  
  [33X[1;0Y[29X[2XUnipotChevSubGr[102X( [3Xtype[103X, [3Xn[103X, [3XF[103X ) [32X function[133X
  
  [33X[0;0Y[10XUnipotChevSubGr[110X  returns  the unipotent subgroup [22XU[122X of the Chevalley group of
  type [3Xtype[103X, rank [3Xn[103X over the ring [3XF[103X.[133X
  
  [33X[0;0Y[3Xtype[103X must be one of [10X"A"[110X, [10X"B"[110X, [10X"C"[110X, [10X"D"[110X, [10X"E"[110X, [10X"F"[110X, [10X"G"[110X.[133X
  
  [33X[0;0YFor the type [10X"A"[110X, [3Xn[103X must be a positive integer.[133X
  
  [33X[0;0YFor the types [10X"B"[110X and [10X"C"[110X, [3Xn[103X must be a positive integer [22X≥ 2[122X.[133X
  
  [33X[0;0YFor the type [10X"D"[110X, [3Xn[103X must be a positive integer [22X≥ 4[122X.[133X
  
  [33X[0;0YFor the type [10X"E"[110X, [3Xn[103X must be one of [22X6, 7, 8[122X.[133X
  
  [33X[0;0YFor the type [10X"F"[110X, [3Xn[103X must be [22X4[122X.[133X
  
  [33X[0;0YFor the type [10X"G"[110X, [3Xn[103X must be [22X2[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XU_G2 := UnipotChevSubGr("G", 2, Rationals);[127X[104X
    [4X[28X<Unipotent subgroup of a Chevalley group of type G2 over Rationals>[128X[104X
    [4X[25Xgap>[125X [27XIsUnipotChevSubGr(U_G2);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XUnipotChevSubGr("E", 3, Rationals);[127X[104X
    [4X[28XError, <n> must be one of 6, 7, 8 for type E  called from[128X[104X
    [4X[28XUnipotChevFamily( type, n, F ) called from[128X[104X
    [4X[28X<function>( <arguments> ) called from read-eval-loop[128X[104X
    [4X[28XEntering break read-eval-print loop ...[128X[104X
    [4X[28Xyou can 'quit;' to quit to outer loop, or[128X[104X
    [4X[28Xyou can 'return;' to continue[128X[104X
    [4X[26Xbrk>[126X[104X
  [4X[32X[104X
  
  [1X2.2-3 PrintObj[101X
  
  [33X[1;0Y[29X[2XPrintObj[102X( [3XU[103X ) [32X method[133X
  [33X[1;0Y[29X[2XViewObj[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0YSpecial  methods for unipotent subgroups. (see [5XGAP[105X Reference Manual, section
  [14X'Reference: View and Print'[114X for general information on [10XView[110X and [10XPrint[110X)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPrint(U_G2);[127X[104X
    [4X[28XUnipotChevSubGr( "G", 2, Rationals )gap> View(U_G2);[128X[104X
    [4X[28X<Unipotent subgroup of a Chevalley group of type G2 over Rationals>gap>[128X[104X
  [4X[32X[104X
  
  [1X2.2-4 One[101X
  
  [33X[1;0Y[29X[2XOne[102X( [3XU[103X ) [32X method[133X
  [33X[1;0Y[29X[2XOneOp[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0YSpecial  methods for unipotent subgroups. Return the identity element of the
  group  [3XU[103X.  The  returned  element has representation [10XUNIPOT_DEFAULT_REP[110X (see
  [2XUNIPOT_DEFAULT_REP[102X ([14X2.3-3[114X)).[133X
  
  [1X2.2-5 Size[101X
  
  [33X[1;0Y[29X[2XSize[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0Y[10XSize[110X returns the order of a unipotent subgroup. This is a special method for
  unipotent subgroups using the result in Carter [Car89], Theorem 5.3.3 (ii).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( UnipotChevInfo, 2 );[127X[104X
    [4X[25Xgap>[125X [27XSize( UnipotChevSubGr("E", 8, GF(7)) );[127X[104X
    [4X[28X#I  The order of this group is 7^120 which is[128X[104X
    [4X[28X258086210989349276047917817413172383631691140276099547911280598425927853437317\[128X[104X
    [4X[28X437263620645695945672001[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( UnipotChevInfo, 1 );[127X[104X
  [4X[32X[104X
  
  [1X2.2-6 RootSystem[101X
  
  [33X[1;0Y[29X[2XRootSystem[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0YThis  method is similar to the method [10XRootSystem[110X for semisimple Lie algebras
  (see  Section  [14X'Reference:  Semisimple Lie Algebras and Root Systems'[114X in the
  [5XGAP[105X Reference Manual for further information).[133X
  
  [33X[0;0Y[10XRootSystem[110X  returns  the underlying root system of the unipotent subgroup [3XU[103X.
  The returned object is from the category [10XIsRootSystem[110X:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XR_G2 := RootSystem(U_G2);[127X[104X
    [4X[28X<root system of rank 2>[128X[104X
    [4X[25Xgap>[125X [27XIsRootSystem(last);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XSimpleSystem(R_G2);[127X[104X
    [4X[28X[ [ 2, -1 ], [ -3, 2 ] ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  addition  to  the  properties  and attributes described in the Reference
  Manual,  the  following attributes are installed for the Root Systems by the
  package [5XUnipot[105X:[133X
  
  [1X2.2-7 PositiveRootsFC[101X
  
  [33X[1;0Y[29X[2XPositiveRootsFC[102X( [3XR[103X ) [32X attribute[133X
  [33X[1;0Y[29X[2XNegativeRootsFC[102X( [3XR[103X ) [32X attribute[133X
  
  [33X[0;0YThe  list  of positive resp. negative roots of the root system [3XR[103X. Every root
  is  represented  as  a  list  of  coefficients  of the linear combination in
  fundamental  roots.  E.g. let [22Xr=∑_i=1^l k_ir_i[122X, where [22Xr_1, dots, r_l[122X are the
  fundamental roots, then [22Xr[122X is represented as the list [22X[k_1, dots, k_l][122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XU_E6 := UnipotChevSubGr("E",6,GF(2));[127X[104X
    [4X[28X<Unipotent subgroup of a Chevalley group of type E6 over GF(2)>[128X[104X
    [4X[25Xgap>[125X [27XR_E6 := RootSystem(U_E6);[127X[104X
    [4X[28X<root system of rank 6>[128X[104X
    [4X[25Xgap>[125X [27XPositiveRoots(R_E6){[1..6]};[127X[104X
    [4X[28X[ [ 2, 0, -1, 0, 0, 0 ], [ 0, 2, 0, -1, 0, 0 ], [ -1, 0, 2, -1, 0, 0 ], [128X[104X
    [4X[28X  [ 0, -1, -1, 2, -1, 0 ], [ 0, 0, 0, -1, 2, -1 ], [ 0, 0, 0, 0, -1, 2 ] ][128X[104X
    [4X[25Xgap>[125X [27XPositiveRootsFC(R_E6){[1..6]};[127X[104X
    [4X[28X[ [ 1, 0, 0, 0, 0, 0 ], [ 0, 1, 0, 0, 0, 0 ], [ 0, 0, 1, 0, 0, 0 ], [128X[104X
    [4X[28X  [ 0, 0, 0, 1, 0, 0 ], [ 0, 0, 0, 0, 1, 0 ], [ 0, 0, 0, 0, 0, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27XPositiveRootsFC(R_E6)[Length(PositiveRootsFC(R_E6))]; # the highest root[127X[104X
    [4X[28X[ 1, 2, 2, 3, 2, 1 ][128X[104X
  [4X[32X[104X
  
  [1X2.2-8 GeneratorsOfGroup[101X
  
  [33X[1;0Y[29X[2XGeneratorsOfGroup[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0YThis is a special Method for unipotent subgroups of finite Chevalley groups.[133X
  
  [1X2.2-9 Representative[101X
  
  [33X[1;0Y[29X[2XRepresentative[102X( [3XU[103X ) [32X method[133X
  
  [33X[0;0YThis   method   returns   an  element  of  the  unipotent  subgroup  [3XU[103X  with
  indeterminates  instead  of ring elements. Such an element could be used for
  symbolic  computations  (see  [14X2.4[114X).  The returned element has representation
  [10XUNIPOT_DEFAULT_REP[110X (see [2XUNIPOT_DEFAULT_REP[102X ([14X2.3-3[114X)).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XRepresentative(U_G2);[127X[104X
    [4X[28Xx_{1}( t_1 ) * x_{2}( t_2 ) * x_{3}( t_3 ) * x_{4}( t_4 ) * x_{5}( t_5 ) * x_{\[128X[104X
    [4X[28X6}( t_6 )[128X[104X
  [4X[32X[104X
  
  [1X2.2-10 CentralElement[101X
  
  [33X[1;0Y[29X[2XCentralElement[102X( [3XU[103X ) [32X attribute[133X
  
  [33X[0;0YThis   method  returns  the  representative  of  the  center  of  [3XU[103X  without
  calculating the center.[133X
  
  
  [1X2.3 [33X[0;0YElements of unipotent subgroups of Chevalley groups[133X[101X
  
  [33X[0;0YIn  this  section  we will describe the functionality for unipotent elements
  provided by this package.[133X
  
  [1X2.3-1 IsUnipotChevElem[101X
  
  [33X[1;0Y[29X[2XIsUnipotChevElem[102X( [3Xelm[103X ) [32X Category[133X
  
  [33X[0;0YCategory for elements of a unipotent subgroup.[133X
  
  [1X2.3-2 IsUnipotChevRepByRootNumbers[101X
  
  [33X[1;0Y[29X[2XIsUnipotChevRepByRootNumbers[102X( [3Xelm[103X ) [32X Representation[133X
  [33X[1;0Y[29X[2XIsUnipotChevRepByFundamentalCoeffs[102X( [3Xelm[103X ) [32X Representation[133X
  [33X[1;0Y[29X[2XIsUnipotChevRepByRoots[102X( [3Xelm[103X ) [32X Representation[133X
  
  [33X[0;0Y[10XIsUnipotChevRepByRootNumbers[110X,     [10XIsUnipotChevRepByFundamentalCoeffs[110X     and
  [10XIsUnipotChevRepByRoots[110X are different representations for unipotent elements.[133X
  
  [33X[0;0YRoots  of  elements  with  representation  [10XIsUnipotChevRepByRootNumbers[110X  are
  represented by their numbers (positions) in [10XPositiveRoots(RootSystem([3XU[103X[10X))[110X.[133X
  
  [33X[0;0YRoots of elements with representation [10XIsUnipotChevRepByFundamentalCoeffs[110X are
  represented by elements of [10XPositiveRootsFC(RootSystem([3XU[103X[10X))[110X.[133X
  
  [33X[0;0YRoots of elements with representation [10XIsUnipotChevRepByRoots[110X are represented
  by roots themselves, i.e. elements of [10XPositiveRoots(RootSystem([3XU[103X[10X))[110X.[133X
  
  [33X[0;0Y(See  [2XUnipotChevElemByRootNumbers[102X ([14X2.3-4[114X), [2XUnipotChevElemByFundamentalCoeffs[102X
  ([14X2.3-5[114X) and [2XUnipotChevElemByRoots[102X ([14X2.3-6[114X) for examples.)[133X
  
  [1X2.3-3 UNIPOT_DEFAULT_REP[101X
  
  [33X[1;0Y[29X[2XUNIPOT_DEFAULT_REP[102X [32X global variable[133X
  
  [33X[0;0YThis   variable  contains  the  default  representation  for  newly  created
  elements,  e.g. created by [10XOne[110X or [10XRandom[110X. When [5XUnipot[105X is loaded, the default
  representation   is  [10XIsUnipotChevRepByRootNumbers[110X  and  can  be  changed  by
  assigning a new value to [10XUNIPOT_DEFAULT_REP[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XUNIPOT_DEFAULT_REP := IsUnipotChevRepByFundamentalCoeffs;;[127X[104X
  [4X[32X[104X
  
  [33X[0;0Y[13XNote[113X  that  [5XUnipot[105X doesn't check the type of this value, i.e. you may assign
  any value to [10XUNIPOT_DEFAULT_REP[110X, which may result in errors in the following
  commands:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XUNIPOT_DEFAULT_REP := 3;;[127X[104X
    [4X[25Xgap>[125X [27XOne( U_G2 );[127X[104X
    [4X[28X... Error message ...[128X[104X
  [4X[32X[104X
  
  [1X2.3-4 UnipotChevElemByRootNumbers[101X
  
  [33X[1;0Y[29X[2XUnipotChevElemByRootNumbers[102X( [3XU[103X, [3Xroots[103X, [3Xfelems[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByRootNumbers[102X( [3XU[103X, [3Xroot[103X, [3Xfelem[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByRN[102X( [3XU[103X, [3Xroots[103X, [3Xfelems[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByRN[102X( [3XU[103X, [3Xroot[103X, [3Xfelem[103X ) [32X operation[133X
  
  [33X[0;0Y[10XUnipotChevElemByRootNumbers[110X  returns  an  element  of a unipotent subgroup [3XU[103X
  with         representation         [10XIsUnipotChevRepByRootNumbers[110X        (see
  [2XIsUnipotChevRepByRootNumbers[102X ([14X2.3-2[114X)).[133X
  
  [33X[0;0Y[3Xroots[103X should be a list of root numbers, i.e. integers from the range 1, ...,
  [10XLength(PositiveRoots(RootSystem([3XU[103X[10X)))[110X.  And  [3Xfelems[103X  a  list of corresponding
  ring  elements  or  indeterminates over that ring (see [5XGAP[105X Reference Manual,
  [2XIndeterminate[102X   ([14XReference:   Indeterminate[114X)   for  general  information  on
  indeterminates or section [14X2.4[114X of this manual for examples).[133X
  
  [33X[0;0YThe second variant of [10XUnipotChevElemByRootNumbers[110X is an abbreviation for the
  first one if [3Xroots[103X and [3Xfelems[103X contain only one element.[133X
  
  [33X[0;0Y[10XUnipotChevElemByRN[110X is just a synonym for [10XUnipotChevElemByRootNumbers[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XIsIdenticalObj( UnipotChevElemByRN, UnipotChevElemByRootNumbers );[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xy := UnipotChevElemByRootNumbers(U_G2, [1,5], [2,7] );[127X[104X
    [4X[28Xx_{1}( 2 ) * x_{5}( 7 )[128X[104X
    [4X[25Xgap>[125X [27Xx := UnipotChevElemByRootNumbers(U_G2, 1, 2);[127X[104X
    [4X[28Xx_{1}( 2 )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn this example we create two elements: [22Xx_r_1( 2 ) . x_r_5( 7 )[122X and [22Xx_r_1( 2
  )[122X,   where   [22Xr_i,   i   =   1,   dots,   6[122X   are   the   positive  roots  in
  [10XPositiveRoots(RootSystem([3XU[103X[10X))[110X  and [22Xx_r_i(t), i = 1, dots, 6[122X the corresponding
  root elements.[133X
  
  [1X2.3-5 UnipotChevElemByFundamentalCoeffs[101X
  
  [33X[1;0Y[29X[2XUnipotChevElemByFundamentalCoeffs[102X( [3XU[103X, [3Xroots[103X, [3Xfelems[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByFundamentalCoeffs[102X( [3XU[103X, [3Xroot[103X, [3Xfelem[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByFC[102X( [3XU[103X, [3Xroots[103X, [3Xfelems[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByFC[102X( [3XU[103X, [3Xroot[103X, [3Xfelem[103X ) [32X operation[133X
  
  [33X[0;0Y[10XUnipotChevElemByFundamentalCoeffs[110X returns an element of a unipotent subgroup
  [3XU[103X     with     representation     [10XIsUnipotChevRepByFundamentalCoeffs[110X    (see
  [2XIsUnipotChevRepByFundamentalCoeffs[102X ([14X2.3-2[114X)).[133X
  
  [33X[0;0Y[3Xroots[103X  should  be  a list of elements of [10XPositiveRootsFC(RootSystem([3XU[103X[10X))[110X. And
  [3Xfelems[103X  a  list  of  corresponding ring elements or indeterminates over that
  ring (see [5XGAP[105X Reference Manual, [2XIndeterminate[102X ([14XReference: Indeterminate[114X) for
  general  information  on  indeterminates  or  section [14X2.4[114X of this manual for
  examples).[133X
  
  [33X[0;0YThe  second  variant of [10XUnipotChevElemByFundamentalCoeffs[110X is an abbreviation
  for the first one if [3Xroots[103X and [3Xfelems[103X contain only one element.[133X
  
  [33X[0;0Y[10XUnipotChevElemByFC[110X is just a synonym for [10XUnipotChevElemByFundamentalCoeffs[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPositiveRootsFC(RootSystem(U_G2));[127X[104X
    [4X[28X[ [ 1, 0 ], [ 0, 1 ], [ 1, 1 ], [ 2, 1 ], [ 3, 1 ], [ 3, 2 ] ][128X[104X
    [4X[25Xgap>[125X [27Xy1 := UnipotChevElemByFundamentalCoeffs( U_G2, [[ 1, 0 ], [ 3, 1 ]], [2,7] );[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( 2 ) * x_{[ 3, 1 ]}( 7 )[128X[104X
    [4X[25Xgap>[125X [27Xx1 := UnipotChevElemByFundamentalCoeffs( U_G2, [ 1, 0 ], 2 );[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( 2 )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn    this    example    we   create   the   same   two   elements   as   in
  [2XUnipotChevElemByRootNumbers[102X  ([14X2.3-4[114X):  [22Xx_[ 1, 0 ]( 2 ) . x_[ 3, 1 ]( 7 )[122X and
  [22Xx_[  1,  0  ]( 2 )[122X, where [22X[ 1, 0 ] = 1r_1 + 0r_2 = r_1[122X and [22X[ 3, 1 ] = 3r_1 +
  1r_2=r_5[122X    are    the    first    and   the   fifth   positive   roots   of
  [10XPositiveRootsFC(RootSystem([3XU[103X[10X))[110X respectively.[133X
  
  [1X2.3-6 UnipotChevElemByRoots[101X
  
  [33X[1;0Y[29X[2XUnipotChevElemByRoots[102X( [3XU[103X, [3Xroots[103X, [3Xfelems[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByRoots[102X( [3XU[103X, [3Xroot[103X, [3Xfelem[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByR[102X( [3XU[103X, [3Xroots[103X, [3Xfelems[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByR[102X( [3XU[103X, [3Xroot[103X, [3Xfelem[103X ) [32X operation[133X
  
  [33X[0;0Y[10XUnipotChevElemByRoots[110X  returns  an  element  of  a unipotent subgroup [3XU[103X with
  representation [10XIsUnipotChevRepByRoots[110X (see [2XIsUnipotChevRepByRoots[102X ([14X2.3-2[114X)).[133X
  
  [33X[0;0Y[3Xroots[103X  should  be  a  list  of elements of [10XPositiveRoots(RootSystem([3XU[103X[10X))[110X. And
  [3Xfelems[103X  a  list  of  corresponding ring elements or indeterminates over that
  ring (see [5XGAP[105X Reference Manual, [2XIndeterminate[102X ([14XReference: Indeterminate[114X) for
  general  information  on  indeterminates  or  section [14X2.4[114X of this manual for
  examples).[133X
  
  [33X[0;0YThe second variant of [10XUnipotChevElemByRoots[110X is an abbreviation for the first
  one if [3Xroots[103X and [3Xfelems[103X contain only one element.[133X
  
  [33X[0;0Y[10XUnipotChevElemByR[110X is just a synonym for [10XUnipotChevElemByRoots[110X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPositiveRoots(RootSystem(U_G2));[127X[104X
    [4X[28X[ [ 2, -1 ], [ -3, 2 ], [ -1, 1 ], [ 1, 0 ], [ 3, -1 ], [ 0, 1 ] ][128X[104X
    [4X[25Xgap>[125X [27Xy2 := UnipotChevElemByRoots( U_G2, [[ 2, -1 ], [ 3, -1 ]], [2,7] );[127X[104X
    [4X[28Xx_{[ 2, -1 ]}( 2 ) * x_{[ 3, -1 ]}( 7 )[128X[104X
    [4X[25Xgap>[125X [27Xx2 := UnipotChevElemByRoots( U_G2, [ 2, -1 ], 2 );[127X[104X
    [4X[28Xx_{[ 2, -1 ]}( 2 )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIn  this  example  we create again the two elements as in previous examples:
  [22Xx_[  2, -1 ]( 2 ) . x_[ 3, -1 ]( 7 )[122X and [22Xx_[ 2, -1 ]( 2 )[122X, where [22X[ 2, -1 ] =
  r_1[122X  and  [22X[  3,  -1  ]  =  r_5[122X are the first and the fifth positive roots of
  [10XPositiveRoots(RootSystem( [3XU[103X[10X))[110X respectively.[133X
  
  [1X2.3-7 UnipotChevElemByRootNumbers[101X
  
  [33X[1;0Y[29X[2XUnipotChevElemByRootNumbers[102X( [3Xx[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByFundamentalCoeffs[102X( [3Xx[103X ) [32X operation[133X
  [33X[1;0Y[29X[2XUnipotChevElemByRoots[102X( [3Xx[103X ) [32X operation[133X
  
  [33X[0;0YThese  three  methods are provided for converting a unipotent element to the
  respective representation.[133X
  
  [33X[0;0YIf  [3Xx[103X  has  already  the required representation, then [3Xx[103X itself is returned.
  Otherwise a [13Xnew[113X element with the required representation is generated.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx;[127X[104X
    [4X[28Xx_{1}( 2 )[128X[104X
    [4X[25Xgap>[125X [27Xx1 := UnipotChevElemByFundamentalCoeffs( x );[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( 2 )[128X[104X
    [4X[25Xgap>[125X [27XIsIdenticalObj(x, x1); x = x1;[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xx2 := UnipotChevElemByFundamentalCoeffs( x1 );;[127X[104X
    [4X[25Xgap>[125X [27XIsIdenticalObj(x1, x2);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[13XNote:[113X  If some attributes of [3Xx[103X are known (e.g [10XInverse[110X (see [2XInverse[102X ([14X2.3-15[114X))
  or  [10XCanonicalForm[110X  (see  [2XCanonicalForm[102X ([14X2.3-8[114X))), then they are [21Xconverted[121X to
  the new representation, too.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[28X{\fmark}UnipotChevElemByRootNumbers( <U>, <list> ) O[128X[104X
    [4X[28X{\fmark}UnipotChevElemByRoots( <U>, <list> ) O[128X[104X
    [4X[28X{\fmark}UnipotChevElemByFundamentalCoeffs( <U>, <list> ) O[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[13XDEPRECATED[113X These are old versions of [10XUnipotChevElemByXX[110X (from [5XUnipot[105X 1.0 and
  1.1).  They are deprecated now and exist for compatibility only. They may be
  removed at any time.[133X
  
  [1X2.3-8 CanonicalForm[101X
  
  [33X[1;0Y[29X[2XCanonicalForm[102X( [3Xx[103X ) [32X attribute[133X
  
  [33X[0;0Y[10XCanonicalForm[110X  returns  the canonical form of [3Xx[103X. For more information on the
  canonical form see Carter [Car89], Theorem 5.3.3 (ii). It says:[133X
  
  [33X[0;0YEach element of a unipotent subgroup [22XU[122X of a Chevalley group with root system
  [22XΦ[122X is uniquely expressible in the form[133X
  
  
  [24X[33X[0;6Y\prod_{r_i\in\Phi^+} x_{r_i}(t_i),[133X
  
  [124X
  
  [33X[0;0Ywhere the product is taken over all positive roots in increasing order.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xz := UnipotChevElemByFC( U_G2, [[0,1], [1,0]], [3,2]);[127X[104X
    [4X[28Xx_{[ 0, 1 ]}( 3 ) * x_{[ 1, 0 ]}( 2 )[128X[104X
    [4X[25Xgap>[125X [27XCanonicalForm(z);[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( 2 ) * x_{[ 0, 1 ]}( 3 ) * x_{[ 1, 1 ]}( 6 ) * x_{[128X[104X
    [4X[28X[ 2, 1 ]}( 12 ) * x_{[ 3, 1 ]}( 24 ) * x_{[ 3, 2 ]}( -72 )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YSo  if we call the positive roots [22Xr_1,dots,r_6[122X, we have [22Xz = x_r_2(3)x_r_1(2)
  = x_r_1( 2 ) x_r_2( 3 ) x_r_3( 6 ) x_r_4( 12 ) x_r_5( 24 ) x_r_6( -72 )[122X.[133X
  
  [1X2.3-9 PrintObj[101X
  
  [33X[1;0Y[29X[2XPrintObj[102X( [3Xx[103X ) [32X method[133X
  [33X[1;0Y[29X[2XViewObj[102X( [3Xx[103X ) [32X method[133X
  
  [33X[0;0YSpecial  methods  for unipotent elements. (see [5XGAP[105X Reference Manual, section
  [14X'Reference:  View and Print'[114X for general information on [10XView[110X and [10XPrint[110X). The
  output depends on the representation of [3Xx[103X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPrint(x);[127X[104X
    [4X[28XUnipotChevElemByRootNumbers( UnipotChevSubGr( "G", 2, Rationals ), \[128X[104X
    [4X[28X[ 1 ], [ 2 ] )gap> View(x);[128X[104X
    [4X[28Xx_{1}( 2 )gap>[128X[104X
  [4X[32X[104X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPrint(x1);[127X[104X
    [4X[28XUnipotChevElemByFundamentalCoeffs( UnipotChevSubGr( "G", 2, Rationals ), \[128X[104X
    [4X[28X[ [ 1, 0 ] ], [ 2 ] )gap> View(x1);[128X[104X
    [4X[28Xx_{[ 1, 0 ]}( 2 )gap>[128X[104X
  [4X[32X[104X
  
  [1X2.3-10 ShallowCopy[101X
  
  [33X[1;0Y[29X[2XShallowCopy[102X( [3Xx[103X ) [32X method[133X
  
  [33X[0;0YThis is a special method for unipotent elements.[133X
  
  [33X[0;0Y[10XShallowCopy[110X  creates  a copy of [3Xx[103X. The returned object is [13Xnot identical[113X to [3Xx[103X
  but it is [13Xequal[113X to [3Xx[103X w.r.t. the equality operator [10X=[110X. [13XNote[113X that [10XCanonicalForm[110X
  and  [10XInverse[110X  of  [3Xx[103X (if known) are identical to [10XCanonicalForm[110X and [10XInverse[110X of
  the returned object.[133X
  
  [33X[0;0Y(See  [5XGAP[105X  Reference Manual, section [14X'Reference: Duplication of Objects'[114X for
  further information on copyability)[133X
  
  [1X2.3-11 \=[101X
  
  [33X[1;0Y[29X[2X\=[102X( [3Xx[103X, [3Xy[103X ) [32X method[133X
  
  [33X[0;0YSpecial  method  for  unipotent  elements.  If  [3Xx[103X and [3Xy[103X are identical or are
  products  of  the  [13Xsame[113X  root  elements  then  [9Xtrue[109X  is  returned. Otherwise
  [10XCanonicalForm[110X (see [2XCanonicalForm[102X ([14X2.3-8[114X)) of both arguments must be computed
  (if not already known), which may be expensive. If the canonical form of one
  of  the  elements  must  be calculated and [10XInfoLevel[110X of [10XUnipotChevInfo[110X is at
  least 3, the user is notified about this:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xy := UnipotChevElemByRN( U_G2, [1,5], [2,7] );[127X[104X
    [4X[28Xx_{1}( 2 ) * x_{5}( 7 )[128X[104X
    [4X[25Xgap>[125X [27Xz := UnipotChevElemByRN( U_G2, [5,1], [7,2] );[127X[104X
    [4X[28Xx_{5}( 7 ) * x_{1}( 2 )[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( UnipotChevInfo, 3 );[127X[104X
    [4X[25Xgap>[125X [27Xy=z;[127X[104X
    [4X[28X#I  CanonicalForm for the 1st argument is not known.[128X[104X
    [4X[28X#I                    computing it may take a while.[128X[104X
    [4X[28X#I  CanonicalForm for the 2nd argument is not known.[128X[104X
    [4X[28X#I                    computing it may take a while.[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27XSetInfoLevel( UnipotChevInfo, 1 );[127X[104X
  [4X[32X[104X
  
  [1X2.3-12 \<[101X
  
  [33X[1;0Y[29X[2X\<[102X( [3Xx[103X, [3Xy[103X ) [32X method[133X
  
  [33X[0;0YSpecial method for [10XUnipotChevElem[110X[133X
  
  [33X[0;0YThis is needed e.g. by [10XAsSSortedList[110X.[133X
  
  [33X[0;0YThe  ordering  is  computed  in  the  following  way: Let [22Xx = x_r_1(s_1) ...
  x_r_n(s_n)[122X and [22Xy = x_r_1(t_1) ... x_r_n(t_n)[122X, then[133X
  
  
  [24X[33X[0;6Yx < y \Leftrightarrow [ s_1, \dots, s_n ] < [ t_1, \dots, t_n ],[133X
  
  [124X
  
  [33X[0;0Ywhere   the   lists   are   compared   lexicographically.   e.g.   for  [22Xx  =
  x_r_1(1)x_r_2(1) = x_r_1(1)x_r_2(1)x_r_3(0)[122X (field elems: [10X[ 1, 1, 0 ][110X) and [22Xy
  =  x_r_1(1)x_r_3(1) = x_r_1(1)x_r_2(0)x_r_3(1)[122X (field elems: [10X[ 1, 0, 1 ][110X) we
  have [22Xy < x[122X (above lists ordered lexicographically).[133X
  
  [1X2.3-13 \*[101X
  
  [33X[1;0Y[29X[2X\*[102X( [3Xx[103X, [3Xy[103X ) [32X method[133X
  
  [33X[0;0YSpecial   method  for  unipotent  elements.  The  expressions  in  the  form
  [22Xx_r(t)x_r(u)[122X will be reduced to [22Xx_r(t+u)[122X whenever possible.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xy;z;[127X[104X
    [4X[28Xx_{1}( 2 ) * x_{5}( 7 )[128X[104X
    [4X[28Xx_{5}( 7 ) * x_{1}( 2 )[128X[104X
    [4X[25Xgap>[125X [27Xy*z;[127X[104X
    [4X[28Xx_{1}( 2 ) * x_{5}( 14 ) * x_{1}( 2 )[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y[13XNote:[113X The representation of the product will be always the representation of
  the first argument.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx; x1; x=x1;[127X[104X
    [4X[28Xx_{1}( 2 )[128X[104X
    [4X[28Xx_{[ 1, 0 ]}( 2 )[128X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xx * x1;[127X[104X
    [4X[28Xx_{1}( 4 )[128X[104X
    [4X[25Xgap>[125X [27Xx1 * x;[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( 4 )[128X[104X
  [4X[32X[104X
  
  [1X2.3-14 OneOp[101X
  
  [33X[1;0Y[29X[2XOneOp[102X( [3Xx[103X ) [32X method[133X
  
  [33X[0;0YSpecial  method  for  unipotent  elements.  [10XOneOp[110X returns the multiplicative
  neutral element of [3Xx[103X. This is equal to [10X[3Xx[103X[10X^0[110X.[133X
  
  [1X2.3-15 Inverse[101X
  
  [33X[1;0Y[29X[2XInverse[102X( [3Xx[103X ) [32X method[133X
  [33X[1;0Y[29X[2XInverseOp[102X( [3Xx[103X ) [32X method[133X
  
  [33X[0;0YSpecial methods for unipotent elements. We are using the fact[133X
  
  
  [24X[33X[0;6Y\Bigl(  x_{r_1}(  t_1)  . . . x_{r_m}(t_m) \Bigr)^{-1} = x_{r_m}(-t_m) . . .
  x_{r_1}(-t_1) .[133X
  
  [124X
  
  [1X2.3-16 IsOne[101X
  
  [33X[1;0Y[29X[2XIsOne[102X( [3Xx[103X ) [32X method[133X
  
  [33X[0;0YSpecial  method  for  unipotent  elements.  Returns [9Xtrue[109X if and only if [3Xx[103X is
  equal to the identity element.[133X
  
  [1X2.3-17 \^[101X
  
  [33X[1;0Y[29X[2X\^[102X( [3Xx[103X, [3Xi[103X ) [32X method[133X
  
  [33X[0;0YIntegral  powers  of  the  unipotent  elements are calculated by the default
  methods installed in [5XGAP[105X. But special (more efficient) methods are installed
  for root elements and for the identity.[133X
  
  [1X2.3-18 \^[101X
  
  [33X[1;0Y[29X[2X\^[102X( [3Xx[103X, [3Xy[103X ) [32X method[133X
  
  [33X[0;0YConjugation of two unipotent elements, i.e. [22Xx^y = y^-1xy[122X. The representation
  of the result will be the representation of [3Xx[103X.[133X
  
  [1X2.3-19 Comm[101X
  
  [33X[1;0Y[29X[2XComm[102X( [3Xx[103X, [3Xy[103X[, [3X"canonical"[103X] ) [32X method[133X
  
  [33X[0;0YSpecial methods for unipotent elements.[133X
  
  [33X[0;0Y[10XComm[110X  returns  the  commutator  of  [3Xx[103X  and [3Xy[103X, i.e. [22Xx^-1 y^-1 x y[122X. The second
  variant  returns  the canonical form of the commutator. In some cases it may
  be more efficient than [10XCanonicalForm( Comm( [3Xx[103X[10X, [3Xy[103X[10X ) )[110X[133X
  
  [1X2.3-20 IsRootElement[101X
  
  [33X[1;0Y[29X[2XIsRootElement[102X( [3Xx[103X ) [32X property[133X
  
  [33X[0;0Y[10XIsRootElement[110X returns [9Xtrue[109X if and only if [3Xx[103X is a root element, i.e. [22Xx=x_r(t)[122X
  for some root [22Xr[122X. We store this property immediately after creating objects.[133X
  
  [33X[0;0Y[13XNote:[113X the canonical form of [3Xx[103X may be a root element even if [3Xx[103X isn't one.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx := UnipotChevElemByRN( U_G2, [1,5,1], [2,7,-2] );[127X[104X
    [4X[28Xx_{1}( 2 ) * x_{5}( 7 ) * x_{1}( -2 )[128X[104X
    [4X[25Xgap>[125X [27XIsRootElement(x);[127X[104X
    [4X[28Xfalse[128X[104X
    [4X[25Xgap>[125X [27XCanonicalForm(x); IsRootElement(CanonicalForm(x));[127X[104X
    [4X[28Xx_{5}( 7 )[128X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [1X2.3-21 IsCentral[101X
  
  [33X[1;0Y[29X[2XIsCentral[102X( [3XU[103X, [3Xz[103X ) [32X method[133X
  
  [33X[0;0YSpecial method for a unipotent subgroup and a unipotent element.[133X
  
  
  [1X2.4 [33X[0;0YSymbolic computation[133X[101X
  
  [33X[0;0YIn  some  cases,  calculation  with  explicit elements is not enough. [5XUnipot[105X
  provides  a way to do symbolic calculations with unipotent elements for this
  purpose.  This  is  done  by using indeterminates (see [5XGAP[105X Reference Manual,
  [14X'Reference:  Indeterminates'[114X for more information) over the underlying field
  instead of the field elements.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XU_G2 := UnipotChevSubGr("G", 2, Rationals);;[127X[104X
    [4X[25Xgap>[125X [27Xa := Indeterminate( Rationals, "a" );[127X[104X
    [4X[28Xa[128X[104X
    [4X[25Xgap>[125X [27Xb := Indeterminate( Rationals, "b", [a] );[127X[104X
    [4X[28Xb[128X[104X
    [4X[25Xgap>[125X [27Xc := Indeterminate( Rationals, "c", [a,b] );[127X[104X
    [4X[28Xc[128X[104X
    [4X[25Xgap>[125X [27Xx := UnipotChevElemByFC(U_G2, [ [3,1], [1,0], [0,1] ], [a,b,c] );[127X[104X
    [4X[28Xx_{[ 3, 1 ]}( a ) * x_{[ 1, 0 ]}( b ) * x_{[ 0, 1 ]}( c )[128X[104X
    [4X[25Xgap>[125X [27XCanonicalForm(x);[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( b ) * x_{[ 0, 1 ]}( c ) * x_{[ 3, 1 ]}( a ) * x_{[128X[104X
    [4X[28X[ 3, 2 ]}( a*c )[128X[104X
    [4X[25Xgap>[125X [27XCanonicalForm(x^-1);[127X[104X
    [4X[28Xx_{[ 1, 0 ]}( -b ) * x_{[ 0, 1 ]}( -c ) * x_{[ 1, 1 ]}( b*c ) * x_{[128X[104X
    [4X[28X[ 2, 1 ]}( -b^2*c ) * x_{[ 3, 1 ]}( b^3*c-a ) * x_{[ 3, 2 ]}( b^3*c^2 )[128X[104X
  [4X[32X[104X
  
  [33X[0;0Y [133X
  
