  
  [1X3 [33X[0;0YTutorial[133X[101X
  
  [33X[0;0YThis  chapter is a collection of tutorials that show how to work with wreath
  products in [5XGAP[105X in conjunction with the package [5XWPE[105X.[133X
  
  
  [1X3.1 [33X[0;0YCreating Wreath Product Elements[133X[101X
  
  [33X[0;0YIn  this section we present an example session which demonstrates how we can
  create wreath products elements by specifying its components.[133X
  
  [33X[0;0YIn the following we will work with the wreath product [22XG = Alt(5) ≀ Sym(4)[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage("WPE");;[127X[104X
    [4X[25Xgap>[125X [27XK := AlternatingGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27XH := SymmetricGroup(4);;[127X[104X
    [4X[25Xgap>[125X [27XG := WreathProduct(K, H);[127X[104X
    [4X[28X<permutation group of size 311040000 with 10 generators>[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  resulting  group  [22XG[122X  is  embedded  into a symmetric group on [22X5 ⋅ 4 = 20[122X
  points  via  the  imprimitive  action of the wreath product. The size of the
  group is[133X
  
  
  [24X[33X[0;6Y| G | = |Alt(5)|^4 ⋅ |Sym(4)| = 60^4 ⋅ 24 = 311040000 .[133X[124X
  
  [33X[0;0YSuppose we would like to input the wreath product element[133X
  
  
  [24X[33X[0;6Yg = ( (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5); (1,3)(2,4) )[133X[124X
  
  [33X[0;0Yas an element of [22XG[122X. The method [10XWreathProductElementList[110X is the preferred way
  to  create  a wreath product element by specifying its components. Note that
  we  first  specify the four base components and at the end the top component
  as the last entry.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XgList := [ (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5), (1,3)(2,4) ];;[127X[104X
    [4X[25Xgap>[125X [27Xg := WreathProductElementList(G, gList);[127X[104X
    [4X[28X(1,15,3,11,5,12)(2,14)(4,13)(6,18,8,20)(7,19,10,17)(9,16)[128X[104X
    [4X[25Xgap>[125X [27Xg in G;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YOn  the other hand, the method [10XListWreathProductElement[110X can be used to get a
  list containing the components of a wreath product element.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XListWreathProductElement(G, g);[127X[104X
    [4X[28X[ (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5), (1,3)(2,4) ][128X[104X
    [4X[25Xgap>[125X [27Xlast = gList;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  package  author  has  implemented  the methods [2XListWreathProductElement[102X
  ([14XReference:     ListWreathProductElement[114X)    and    [2XWreathProductElementList[102X
  ([14XReference:  WreathProductElementList[114X)  in [5XGAP[105X in order to translate between
  list  representations  of wreath product elements and other representations.
  The naming conventions are the same as for [10XListPerm[110X and [10XPermList[110X.[133X
  
  [33X[0;0YMoreover,  all  functions  that  work for [10XIsWreathProductElement[110X can also be
  used  on  these list representations. However, it is not checked if the list
  indeed represents a wreath product element.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XTerritory(gList);[127X[104X
    [4X[28X[ 1, 2, 3, 4 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf  the  wreath product element is "sparse", i.e. has only a few non-trivial
  components,  it  might  be  easier to create it by embedding its non-trivial
  components  into  [22XG[122X  directly  and  multiplying  them.  Note  however,  that
  [10XWreathProductElementList[110X might be faster as it avoids group multiplications.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xh := (1,2,3) ^ Embedding(G,2)[127X[104X
    [4X[25X>[125X [27X      * (1,5,2,4,3) ^ Embedding(G,4)[127X[104X
    [4X[25X>[125X [27X      * (1,2,4) ^ Embedding(G, 5);[127X[104X
    [4X[28X(1,6,17,4,9,19,3,8,16,5,10,20,2,7,18)[128X[104X
    [4X[25Xgap>[125X [27XhList := ListWreathProductElement(G, h);[127X[104X
    [4X[28X[ (), (1,2,3), (), (1,5,2,4,3), (1,2,4) ][128X[104X
    [4X[25Xgap>[125X [27XIsWreathCycle(hList);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X3.2 [33X[0;0YDisplaying Wreath Product Elements[133X[101X
  
  [33X[0;0YIn  this section we present an example session which demonstrates how we can
  display wreath product elements in an intuitive way. Wreath product elements
  are  viewed,  printed and displayed (see section [14X'Reference: View and Print'[114X
  for  the  distinctions  between  these operations) as generic wreath product
  elements (see section [14X2.1[114X).[133X
  
  [33X[0;0YSuppose  we  are  given  some  element  [22Xg[122X in the wreath product [22XG = Alt(5) ≀
  Sym(4)[122X, and would like to view its components in a nice way.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage("WPE");;[127X[104X
    [4X[25Xgap>[125X [27XK := AlternatingGroup(5);;[127X[104X
    [4X[25Xgap>[125X [27XH := SymmetricGroup(4);;[127X[104X
    [4X[25Xgap>[125X [27XG := WreathProduct(K, H);;[127X[104X
    [4X[25Xgap>[125X [27Xiso := IsomorphismWreathProduct(G);;[127X[104X
    [4X[25Xgap>[125X [27XW := Image(iso);;[127X[104X
    [4X[25Xgap>[125X [27Xg := (1,15,8,20)(2,14,7,19,5,12,6,18,3,11,10,17)(4,13,9,16);;[127X[104X
    [4X[25Xgap>[125X [27Xg in G;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFirst  we  translate  the element [22Xg[122X into a generic wreath product element [22Xw[122X.
  [5XGAP[105X uses [10XViewObj[110X to print [22Xw[122X in a compressed form.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xw := g ^ iso;[127X[104X
    [4X[28X< wreath product element with 4 base components >[128X[104X
  [4X[32X[104X
  
  [33X[0;0YIf  we  want to print this element in a "machine-readable" way, we could use
  one of the following methods.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XPrint(w);[127X[104X
    [4X[28X[ (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5), (1,3,2,4) ][128X[104X
    [4X[25Xgap>[125X [27XL := ListWreathProductElement(W, w);[127X[104X
    [4X[28X[ (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5), (1,3,2,4) ][128X[104X
    [4X[25Xgap>[125X [27XL = ListWreathProductElement(G, g);[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YUsually,  we want to display this element in a nice format instead, which is
  "human-readable" and allows us to quickly distinguish components.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDisplay(w);[127X[104X
    [4X[28X       1            2            3          4        top   [128X[104X
    [4X[28X( (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5); (1,3,2,4) )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThere are many display options available for adjusting the display behaviour
  for  wreath product elements to your liking (see [14X4.4[114X). For example, we might
  want  to display the element vertically. We can do this for a single call to
  the `Display` command without changing the global display options like this:[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDisplay(w, rec(horizontal := false));[127X[104X
    [4X[28X  1: (1,5,2,4,3)[128X[104X
    [4X[28X  2: (1,3,5,2,4)[128X[104X
    [4X[28X  3: (1,5,3,4,2)[128X[104X
    [4X[28X  4: (1,4,5)[128X[104X
    [4X[28Xtop: (1,3,2,4)[128X[104X
    [4X[25Xgap>[125X [27XDisplay(w);[127X[104X
    [4X[28X       1            2            3          4        top   [128X[104X
    [4X[28X( (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5); (1,3,2,4) )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe can also change the global display options via the following command.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSetDisplayOptionsForWreathProductElements(rec(horizontal := false));[127X[104X
    [4X[25Xgap>[125X [27XDisplay(w);[127X[104X
    [4X[28X  1: (1,5,2,4,3)[128X[104X
    [4X[28X  2: (1,3,5,2,4)[128X[104X
    [4X[28X  3: (1,5,3,4,2)[128X[104X
    [4X[28X  4: (1,4,5)[128X[104X
    [4X[28Xtop: (1,3,2,4)[128X[104X
  [4X[32X[104X
  
  [33X[0;0YAll changes to the global behaviour can be reverted to the default behaviour
  via the following command.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XResetDisplayOptionsForWreathProductElements();[127X[104X
    [4X[25Xgap>[125X [27XDisplay(w);[127X[104X
    [4X[28X       1            2            3          4        top   [128X[104X
    [4X[28X( (1,5,2,4,3), (1,3,5,2,4), (1,5,3,4,2), (1,4,5); (1,3,2,4) )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YBut  sometimes, it is sufficient to just look at some components of a wreath
  product  element.  We can directly use the list representation to access the
  components  on  a  low-level  or  we  can use high-level functions on wreath
  product elements instead.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xa := BaseComponentOfWreathProductElement(w, 3);[127X[104X
    [4X[28X(1,5,3,4,2)[128X[104X
    [4X[25Xgap>[125X [27Xa = L[3];[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xb := TopComponentOfWreathProductElement(w);[127X[104X
    [4X[28X(1,3,2,4)[128X[104X
    [4X[25Xgap>[125X [27Xb = L[5];[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X3.3 [33X[0;0YComputing in Wreath Products[133X[101X
  
  [33X[0;0YAs  noted  in the introduction, no additional setup is required if one wants
  to  benefit  from  the optimizations for computations in wreath products. We
  simply  create  the wreath products via the native [5XGAP[105X command [2XWreathProduct[102X
  ([14XReference: WreathProduct[114X), and the generic representation is used under the
  hood whenever appropiate.[133X
  
  [33X[0;0YWe include in the following sections examples for each computational problem
  listed in [14X1.3[114X. For all such examples we fix the following wreath product.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage("WPE");;[127X[104X
    [4X[25Xgap>[125X [27XK := Group([ (1,2,3,4,5), (1,2,4,3) ]);; # F(5)[127X[104X
    [4X[25Xgap>[125X [27XH := Group([ (1,2,3,4,5,6), (2,6)(3,5) ]);; # D(12)[127X[104X
    [4X[25Xgap>[125X [27XG := WreathProduct(K, H);[127X[104X
    [4X[28X<permutation group of size 768000000 with 4 generators>[128X[104X
    [4X[25Xgap>[125X [27XP := WreathProduct(K, SymmetricGroup(NrMovedPoints(H)));[127X[104X
    [4X[28X<permutation group of size 46080000000 with 4 generators>[128X[104X
    [4X[25Xgap>[125X [27XIsSubgroup(P, G);[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xiso := IsomorphismWreathProduct(P);;[127X[104X
  [4X[32X[104X
  
  [33X[0;0YMoreover,  we  fix the following elements of the parent wreath product [22XP[122X. We
  choose  them  in  such  a  way,  that  they do not lie in the smaller wreath
  product [22XG[122X for demonstration purposes only.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xx := (1,23,12,6,4,24,13,9,5,21,15,10,2,25,14,7)(3,22,11,8)(16,30,20,28)(17,27,19,26)(18,29);;[127X[104X
    [4X[25Xgap>[125X [27Xy := (1,12,26,8,3,14,28,7,2,13,27,10,5,11,30,6)(4,15,29,9)(16,23,20,22)(17,24,19,21)(18,25);;[127X[104X
    [4X[25Xgap>[125X [27XDisplay(x ^ iso);[127X[104X
    [4X[28X      1          2          3          4           5           6           top      [128X[104X
    [4X[28X( (1,3,2,5), (1,4,5,2), (1,3,4,2), (1,5,3,4), (1,5,4,3,2), (1,2,4,3); (1,5,3,2)(4,6) )[128X[104X
    [4X[25Xgap>[125X [27XDisplay(y ^ iso);[127X[104X
    [4X[28X       1       2        3            4           5           6           top      [128X[104X
    [4X[28X( (1,2,3,4,5), (), (1,5,4,3,2), (1,3,5,2,4), (1,2)(3,5), (1,3,2,5); (1,3,6,2)(4,5) )[128X[104X
    [4X[25Xgap>[125X [27Xx in P and y in P;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xnot x in G and not y in G;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  
  [1X3.4 [33X[0;0YConjugacy Problem[133X[101X
  
  [33X[0;0YWe  now  demonstrate  how to solve the conjugacy problem for [22Xx[122X and [22Xy[122X over [22XG[122X,
  i.e.  decide  whether  there  exists  [22Xc  ∈  G[122X  with  [22Xx^c = y[122X and if it does,
  explicitly compute such a conjugating element [22Xc[122X.[133X
  
  [33X[0;0YWe continue the [5XGAP[105X session from Section [14X3.3[114X.[133X
  
  [33X[0;0YTo  check in [5XGAP[105X whether two elements are conjugate in a group we use native
  [5XGAP[105X command [2XRepresentativeAction[102X ([14XReference: RepresentativeAction[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XRepresentativeAction(G, x, y);[127X[104X
    [4X[28Xfail[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  output [10Xfail[110X indicates, that [22Xx[122X and [22Xy[122X are not conjugate over [22XG[122X. But are [22Xx[122X
  and [22Xy[122X conjugate in the parent wreath product?[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc := RepresentativeAction(P, x, y);[127X[104X
    [4X[28X(2,5)(3,4)(6,8,9,7)(11,29,25)(12,26,21,13,28,22,15,27,24,14,30,23)[128X[104X
    [4X[25Xgap>[125X [27XDisplay(c^iso);[127X[104X
    [4X[28X      1           2          3      4       5          6        top  [128X[104X
    [4X[28X( (2,5)(3,4), (1,3,4,2), (1,4,5,2), (), (1,3,2,5), (2,4,5,3); (3,6,5) )[128X[104X
    [4X[25Xgap>[125X [27Xx ^ c = y;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  see,  that  indeed  these  elements are conjugate over the larger wreath
  product [22XP[122X by the conjugating element [22Xc ∈ P[122X.[133X
  
  
  [1X3.5 [33X[0;0YConjugacy Classes[133X[101X
  
  [33X[0;0YEnumerate  representatives  of  all conjugacy classes of elements of [22XG[122X, i.e.
  return  elements  [22Xg_1,  dots,  g_ℓ[122X  such  that  [22Xg_1^G,  dots,  g_ℓ^G[122X are the
  conjugacy classes of [22XG[122X.[133X
  
  [33X[0;0YWe  continue  the  [5XGAP[105X  session  from  Section [14X3.3[114X. In particular recall the
  definition of the isomorphism [10Xiso[110X.[133X
  
  [33X[0;0YTo  compute  in  [5XGAP[105X  the  conjugacy  classes  of elements of a group we use
  [2XConjugacyClasses[102X ([14XReference: ConjugacyClasses attribute[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XCC := ConjugacyClasses(G);;[127X[104X
    [4X[25Xgap>[125X [27XLength(CC);[127X[104X
    [4X[28X1960[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  see  that there are [22X1960[122X many conjugacy classes of elements of [22XG[122X. Let us
  look at a single conjugacy class.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XA := CC[1617];[127X[104X
    [4X[28X(2,4,5,3)(6,26)(7,29,9,30,10,28,8,27)(11,21)(12,22)(13,23)(14,24)(15,25)^G[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe can compute additional information about a conjugacy class on the go. For
  example, we can ask [5XGAP[105X for the number of elements in this class.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSize(A);[127X[104X
    [4X[28X60000[128X[104X
  [4X[32X[104X
  
  [33X[0;0YTo access the representative of this class, we do the following.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xa := Representative(A);[127X[104X
    [4X[28X(2,4,5,3)(6,26)(7,29,9,30,10,28,8,27)(11,21)(12,22)(13,23)(14,24)(15,25)[128X[104X
    [4X[25Xgap>[125X [27XDisplay(a ^ iso);[127X[104X
    [4X[28X      1          2      3   4   5   6      top    [128X[104X
    [4X[28X( (2,4,5,3), (2,4,5,3), (), (), (), (); (2,6)(3,5) )[128X[104X
  [4X[32X[104X
  
  [33X[0;0YRepresentatives  are always given in a sparse format, e.g. all cycles in the
  wreath cycle decomposition of [22Xa[122X are sparse (see [14X2.3[114X).[133X
  
  
  [1X3.6 [33X[0;0YCentralizer[133X[101X
  
  [33X[0;0YCompute the centralizer of [22Xx[122X in [22XG[122X, i.e. compute a generating set of [22XC_G(x)[122X.[133X
  
  [33X[0;0YWe continue the [5XGAP[105X session from [14X3.3[114X. In particular recall the definition of
  the isomorphism [10Xiso[110X.[133X
  
  [33X[0;0YTo  compute  in  [5XGAP[105X  the  centralizer  of  an  element  in  a  group we use
  [2XCentralizer[102X ([14XReference: centraliser[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XC := Centralizer(G, x);[127X[104X
    [4X[28XGroup([ (16,20)(17,19)(26,27)(28,30), (16,19,20,17)(26,28,27,30),[128X[104X
    [4X[28X        (1,4,5,2)(6,9,10,7)(12,13,15,14)(21,25,23,24) ])[128X[104X
  [4X[32X[104X
  
  [33X[0;0YWe  can  compute additional information about the centralizer on the go. For
  example, we can ask [5XGAP[105X for the number of elements in [22XG[122X that centralize [22Xx[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XSize(C);[127X[104X
    [4X[28X16[128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  generators  of  a centralizer are always given in a sparse format, e.g.
  all  cycles  in  the  wreath cycle decomposition of a generator [22Xg[122X are sparse
  (see [14X2.3[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xfor g in GeneratorsOfGroup(C) do[127X[104X
    [4X[25X>[125X [27X  Display(g ^ iso);[127X[104X
    [4X[25X>[125X [27Xod;[127X[104X
    [4X[28X  1   2   3       4       5       6       top[128X[104X
    [4X[28X( (), (), (), (1,5)(2,4), (), (1,2)(3,5); () )[128X[104X
    [4X[28X[128X[104X
    [4X[28X  1   2   3       4      5       6      top[128X[104X
    [4X[28X( (), (), (), (1,4,5,2), (), (1,3,2,5); () )[128X[104X
    [4X[28X[128X[104X
    [4X[28X      1          2          3      4       5      6   top[128X[104X
    [4X[28X( (1,4,5,2), (1,4,5,2), (2,3,5,4), (), (1,5,3,4), (); () )[128X[104X
  [4X[32X[104X
  
  
  [1X3.7 [33X[0;0YCycle Index Polynomial[133X[101X
  
  [33X[0;0YCompute the cycle index polynomial of [22XG[122X either for the imprimitive action or
  the  product  action.  We do not continue the [5XGAP[105X session from [14X3.3[114X since the
  wreath product is too large to make sense of the cycle index polynomial just
  by looking at it. Instead we use the following wreath product.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XLoadPackage("WPE");;[127X[104X
    [4X[25Xgap>[125X [27XK := Group([ (1,2), (1,2,3) ]);; # S(3)[127X[104X
    [4X[25Xgap>[125X [27XH := Group([ (1,2) ]);; # C(2)[127X[104X
    [4X[25Xgap>[125X [27XG_impr := WreathProduct(K, H);;[127X[104X
    [4X[25Xgap>[125X [27XNrMovedPoints(G_impr);[127X[104X
    [4X[28X6[128X[104X
    [4X[25Xgap>[125X [27XOrder(G_impr);[127X[104X
    [4X[28X72[128X[104X
  [4X[32X[104X
  
  [33X[0;0YTo compute in [5XGAP[105X the cycle index of a a group we use [2XCycleIndex[102X ([14XReference:
  CycleIndex[114X).   Note  that  by  default,  the  wreath  product  is  given  in
  imprimitive action.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc_impr := CycleIndex(G_impr);[127X[104X
    [4X[28X1/72*x_1^6+1/12*x_1^4*x_2+1/18*x_1^3*x_3+1/8*x_1^2*x_2^2+1/6*x_1*x_2*x_3[128X[104X
    [4X[28X+1/12*x_2^3+1/4*x_2*x_4+1/18*x_3^2+1/6*x_6[128X[104X
  [4X[32X[104X
  
  [33X[0;0YFor  example,  the  second  monomial  [10X1/12*x_1^4*x_2[110X tells us that there are
  exactly  [22Xfrac7212  =  6[122X  elements with cycle type [22X(4, 1)[122X, i.e. elements that
  have  four  fixed  points  and  one  [22X2[122X-cycle.  If  one wants to access these
  monomials   on   the  computer,  one  needs  to  use  [2XExtRepPolynomialRatFun[102X
  ([14XReference: ExtRepPolynomialRatFun[114X).[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XDisplay(ExtRepPolynomialRatFun(c_impr));[127X[104X
    [4X[28X[ [ 6, 1 ], 1/6, [ 3, 2 ], 1/18, [ 2, 1, 4, 1 ], 1/4, [ 2, 3 ], 1/12, [128X[104X
    [4X[28X  [ 1, 1, 2, 1, 3, 1 ], 1/6, [ 1, 2, 2, 2 ], 1/8, [ 1, 3, 3, 1 ], 1/18, [128X[104X
    [4X[28X  [ 1, 4, 2, 1 ], 1/12, [ 1, 6 ], 1/72 ][128X[104X
  [4X[32X[104X
  
  [33X[0;0YThe  way  how to read this representation is roughly the following. The list
  consists of alternating entries, the first one encoding the monomial and the
  second  one the corresponding coefficient, for example consider [10X[ 1, 4, 2, 1
  ], 1/12[110X. The coefficient is [10X1/12[110X and the monomial is encoded by [10X[ 1, 4, 2, 1
  ][110X.  The  encoding of the monomial again consists of alternating entries, the
  first  one  encoding  the indeterminant and the second one its exponent. For
  example  [10X[  1,  4, 2, 1 ][110X translates to [10Xx_1^4 * x_2^1[110X. For more details, see
  [14X'Reference: The Defining Attributes of Rational Functions'[114X.[133X
  
  [33X[0;0YIf  we  want to consider the wreath product given in product action, we need
  to     use     the     command     [2XWreathProductProductAction[102X    ([14XReference:
  WreathProductProductAction[114X)[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27XG_prod := WreathProductProductAction(K, H);;[127X[104X
    [4X[25Xgap>[125X [27XNrMovedPoints(G_prod);[127X[104X
    [4X[28X9[128X[104X
    [4X[25Xgap>[125X [27Xc_prod := CycleIndex(G_prod);[127X[104X
    [4X[28X1/72*x_1^9+1/6*x_1^3*x_2^3+1/8*x_1*x_2^4+1/4*x_1*x_4^2+1/9*x_3^3+1/3*x_3*x_6[128X[104X
  [4X[32X[104X
  
  [33X[0;0YHowever, we do not need to create the wreath product in order to compute the
  cycle   index  of  the  group.  Thus  the  package  provides  the  functions
  [2XCycleIndexWreathProductImprimitiveAction[102X             ([14X4.5-1[114X)             and
  [2XCycleIndexWreathProductProductAction[102X  ([14X4.5-2[114X)  to  compute  the  cycle index
  directly  from  the components [22XK[122X and [22XH[122X without writing down a representation
  of [22XK ≀ H[122X.[133X
  
  [4X[32X  Example  [32X[104X
    [4X[25Xgap>[125X [27Xc1 := CycleIndexWreathProductImprimitiveAction(K, H);;[127X[104X
    [4X[25Xgap>[125X [27Xc_impr = c1;[127X[104X
    [4X[28Xtrue[128X[104X
    [4X[25Xgap>[125X [27Xc2 := CycleIndexWreathProductProductAction(K, H);;[127X[104X
    [4X[25Xgap>[125X [27Xc_prod = c2;[127X[104X
    [4X[28Xtrue[128X[104X
  [4X[32X[104X
  
