Multi-dimensional cycle indices |

Replacing in such a situation the cycle index ofX:=È_{i=1}^{n}X_{i}.

whereZ_{n}(G,X_{1}È...ÈX_{n}):=(1)/(|G|)å_{gÎG}Õ_{i=1}^{n}(Õ_{j=1}^{|Xi|}x_{i,j}^{ai,j(g)}),

Let me give a short description how to handle polynomials with variables in several alphabets. In SYMMETRICA there is a routine which allows to multiply two polynomials in disjoint sets of indeterminates. The corresponding routine is called

INT mult_disjunkt_polynom_polynom(a,b,c) OP a,b,c;where

`a`

and `b`

are the two polynomials
that should be multiplied.
`c`

is the result.
A POLYNOM object in SYMMETRICA consists of three parts:
- A coefficient,
- the so called
*self-part*, which is a VECTOR of INTEGER objects that represent the exponents of the monomial summands, - and a
*next-part*, which is the lexicographically next monomial, or zero, if there is no further monomial summand of the polynomial in question.

`a`

is
evaluated. (Let this number be `a`

it is tested, if
its self-part is of length less than `b`

is appended to the self-part
of `a`

(of length `c`

.
The corresponding coefficients of the monomials of `a`

and `b`

are multiplied to get the new coefficient of this monomial.
In order to work with these polynomials in
two or more alphabets it is therefore
important to know how many variables are in the first alphabet, in the
second alphabet and so on.
Or in other words, we must keep in mind
at which index of the self-part of the monomial summands the
different alphabets start.
(The index where the *i*-th family starts, is the
number of variables which
have already occurred in the previous *i-1* families.)
Using a vector of INTEGER objects, where for each
polynomial the position in the self-parts of the monomial summands is
indicated, where the new alphabet starts, gives the whole information.
For example consider two polynomials `a`

and `b`

in two different alphabets
(`a`

is a polynomial in *x _{i}* and

`b`

is a polynomial
in `a`

has INT mult_disjunkt_polynom_polynom(a,b,c)makes

`c`

to be a polynomial in two families of variables and
the corresponding vector of starting points would be `c`

can be interpreted as
For that reason a multi dimensional cycle index in SYMMETRICA consists of a VECTOR-part and a POLYNOMial-part, which can be selected bys_po_k(c) Õ_{i=0}^{n-1}x_{i+1}^{s_po_ii(c,i)}Õ_{i=n}^{s_po_li(c)-1}y_{i-n+1}^{s_po_ii(c,i)}.

OP s_mz_v(a) OP a!; OP s_mz_po(a) OP a;

`s_mz_v`

stands for `select_multi-zykelind_vector`

, which
selects the vector part of the multi-dimensional cycle index `a`

.
The routine `s_mz_po`

stands for
`select_multi-zykelind_polynom`

, which selects
the polynomial part of the multi-dimensional cycle index `a`

.
OP s_mz_vi(a,i) OP a; INT i;which selects the i-th entry (

`a`

.
INT s_mz_vii(a,i) OP a; INT i;you can select the i-th entry of the vector part of the multi-dimensional cycle index

`a`

as an integer.
From a VECTOR part and a POLYNOM part of a multi-dimensional cycle index you can form the corresponding cycle index with

INT m_v_po_mz(v,po,zyk) OP v,po,zyk;It makes a multi-dimensional cycle index

`zyk`

from the
POLYNOMial `po`

with the different alphabets starting
at the position given in the VECTOR `v`

.
`v`

, `po`

and `zyk`

must be different.
From a multi-dimensional cycle index one can extract some of the families of indeterminates by

INT mz_extrahieren(a,b,c) OP a,b,c;where

`a`

is a multi dimensional cycle index and
`b`

is a VECTOR object.
Its length tells how many families shall be combined
into the new cycle index `c`

.
The entries of `b`

are INTEGER objects.
If for instance `a`

is a 6-dimensional
cycle index and you want to extract the first and fifth family of
indeterminates then `b`

would be the VECTOR `POLYNOM`

object, otherwise it is a multi
dimensional cycle index as described above.
For identifying different alphabets there is the routine

INT mz_vereinfachen(a,b) OP a,b;which computes from a multi dimensional cycle index

`a`

a cycle
index `b`

in only one alphabet.
harald.fripertinger@kfunigraz.ac.at,

last changed: November 19, 2001

Multi-dimensional cycle indices |