Some further generatorsOrbit-construction in SYMMETRICAGenerators of induced actionsSpecial routines for wreath products

Special routines for wreath products

Now let me demonstrate some special routines for wreath products. In SYMMETRICA it is possible to do computations with objects of objectkind KRANZ. Such a KRANZ object is a VECTOR object of length 2. The first part is a PERMUTATION object of length n, the second part a VECTOR object having n entries.

The procedure  

INT init_kranz(a)    OP a;
initializes a KRANZ object a.

Given a PERMUTATION of n elements and a VECTOR of length n you can compute the corresponding KRANZ object with  

INT m_perm_vector_kranz(p,v,a) OP p,v,a;
p stands for the PERMUTATION, v for the VECTOR and a for the KRANZ object.

The routine  

INT scan_kranz(a) OP a;
can be used to scan the KRANZ object a.

Using the routine  

INT mult_kranz_kranz(a,b,c) OP a,b,c;
you can multiply two KRANZ objects a and b according to the definition given above to get c.

There are various routines for selecting the different parts of a KRANZ object.  

OP s_kr_g(a)        OP a;
OP s_kr_v(a)        OP a;
OP s_kr_i(a,i)      OP a; INT i;
INT s_kr_gli(a)     OP a;
OP s_kr_gl(a)       OP a;
OP s_kr_gi(a,i)     OP a; INT i;    S_KR_GI(a,i)    OP a; INT i;
INT s_kr_gii(a,i)   OP a; INT i;    S_KR_GII(a,i)   OP a; INT i;
OP s_kr_ij(a,i,j)   OP a; INT i,j;  S_KR_IJ(a,i,j)  OP a; INT i,j;
INT s_kr_iji(a,i,j) OP a; INT i,j;  S_KR_IJI(a,i,j) OP a; INT i,j;
In all these cases a is a KRANZ object. s_kr_g stands for select_kranz_grobpermutation, which selects the first part (the PERMUTATION part) of a. s_kr_v selects the VECTOR part (the second part) of a. s_kr_i selects the i-th entry of the VECTOR part of a. s_kr_gli returns the integervalue of the length of the PERMUTATION part of a. s_kr_gl is the length (as an INTEGER object) of the PERMUTATION part of a. s_kr_gi selects the i-th entry of the PERMUTATION part of a. s_kr_gii returns the integervalue of the i-th entry of the PERMUTATION part of a. In order to use the next two routines you must take care that the entries of the VECTOR part of a are also PERMUTATION objects. s_kr_ij selects the j-th entry of the i-th entry of the VECTOR part of a. s_kr_iji returns the integervalue of the j-th entry of the i-th entry of the VECTOR part of a.

Given two permutation groups G and H by their sets of generators, we can compute the generators of H wr G with the following routine:  

INT gen_full_mon_group(a,b,c)  OP a,b,c;
a and b are the VECTORs of generators of H and G. c is a VECTOR object, where each entry is a KRANZ object. These entries are the generators of H wr G.

The generators of the plethysm H pleth G can be computed with  

INT gen_plethysm(a,b,c)  OP a,b,c;
where a and b are the VECTORS of generators of H and G. c is a VECTOR of generators of H pleth G.

The permutation representation of a KRANZ object where the entries of the VECTOR part are PERMUTATIONs is computed by  

INT t_kranz_plethysm(a,b)  OP a,b;
a is a KRANZ object where all the entries of the VECTOR part are PERMUTATIONs of the same degree. b is a PERMUTATION object, the induced permutation in form of the plethysm.
harald.fripertinger@kfunigraz.ac.at,
last changed: November 19, 2001

Some further generatorsOrbit-construction in SYMMETRICAGenerators of induced actionsSpecial routines for wreath products