COMMENT:
	ZYK
	___


	We are describing the routines of the file zyk.c. These are routines
	for the computation of cycle index polynomials, and for the computation
	with general permutation groups.


NAME:
	zykelind_Sn
SYNOPSIS:
		INT zykelind_Sn(OP n,pol)
DESCRIPTION:
		computes the cycleindex polynomial of the symmetric
	group of the degree n. n is a INTEGER object, pol becomes a
	POLYNOM object.
BUG:
			n and pol must be different


NAME:
			zykelind_Dn
SYNOPSIS:
		INT zykelind_Dn(OP n,pol)
DESCRIPTION:
		computes the cycleindex polynomial of the dihedral
	group of the degree n. n is a INTEGER object, pol becomes a
	POLYNOM object.
BUG:
			n and pol must be different

NAME:
			zykelind_Cn
SYNOPSIS:
		INT zykelind_Cn(OP n,pol)
DESCRIPTION:
		computes the cycleindex polynomial of the cyclic
	group of the degree n. n is a INTEGER object, pol becomes a
	POLYNOM object.
BUG:
			n and pol must be different

NAME:
			zykelind_An
SYNOPSIS:
		INT zykelind_An(OP n,pol)
DESCRIPTION:
		computes the cycleindex polynomial of the alternating
	group of the degree n. n is a INTEGER object, pol becomes a
	POLYNOM object.
BUG:
			n and pol must be different

NAME:
			zykelind_arb
SYNOPSIS:
		INT zykelind_arb(OP vec,pol)
DESCRIPTION:
		computes the cycle index polynomial of a arbitrary permutation
	group . vec is a VECTOR object, whose entries are PERMUTATION
	objects whose degrees are equal. These permutations are the generators
	of the group.  pol becomes a POLYNOM object.
BUG:
			vec and pol must be different

NAME:
			dimino
SYNOPSIS:
		INT dimino(OP vec)
DESCRIPTION:
		computes the elements of a arbitrary permutation group.
	vec is a VECTOR object, whose elements are PERMUTATION objects,
	which generates the group. At the end of dimino, this vector
	contains all elements of the group.
BUG:
			the permutations in the vector must be of the same
	degree, and they must be of VECTOR type.

NAME:
			polya_n_sub
SYNOPSIS:
		INT polya_n_sub(OP p,n,e)
DESCRIPTION:
		you enter a POLYNOM object p, and a INTEGER object n, and
	the output is the POLYNOM object which you get using the substitution
	x_i --> a_1^i + ... + a_n^i

NAME:
			grf_Sn
SYNOPSIS:
		INT grf_Sn(OP degree, OP n, OP result)
DESCRIPTION:
		you enter the degree of the symmetric group, and the number of
	variables for the Polya substitution. The routine computes the group reduction
  	function. The first step is the computation of cycle index and the second step is
	the Polya substitution with n variables.
EXAMPLE:
	#include <symmetrica.h>

	ANFANG
	sscan("9",INTEGER,a); sscan("4",INTEGER,b);
	grf_Sn(a,b,c); println(c);
	ENDE

NAME:
			grf_Cn
SYNOPSIS:
		INT grf_Cn(OP degree, OP n, OP result)
DESCRIPTION:
		you enter the degree of the cyclic group, and the number of
	variables for the Polya substitution. The routine computes the group reduction
  	function. The first step is the computation of cycle index and the second step is
	the Polya substitution with n variables.
EXAMPLE:
	#include <symmetrica.h>

	ANFANG
	sscan("9",INTEGER,a); sscan("4",INTEGER,b);
	grf_Cn(a,b,c); println(c);
	ENDE



NAME:
			grf_An
SYNOPSIS:
		INT grf_An(OP degree, OP n, OP result)
DESCRIPTION:
		you enter the degree of the alternating group, and the number of
	variables for the Polya substitution. The routine computes the group reduction
  	function. The first step is the computation of cycle index and the second step is
	the Polya substitution with n variables.
EXAMPLE:
	#include <symmetrica.h>

	ANFANG
	sscan("9",INTEGER,a); sscan("4",INTEGER,b);
	grf_An(a,b,c); println(c);
	ENDE


NAME:
			grf_Dn
SYNOPSIS:
		INT grf_Dn(OP degree, OP n, OP result)
DESCRIPTION:
		you enter the degree of the dihedral group, and the number of
	variables for the Polya substitution. The routine computes the group reduction
  	function. The first step is the computation of cycle index and the second step is
	the Polya substitution with n variables.
EXAMPLE:
	#include <symmetrica.h>

	ANFANG
	sscan("9",INTEGER,a); sscan("4",INTEGER,b);
	grf_Dn(a,b,c); println(c);
	ENDE

NAME:
                        grf_arb
SYNOPSIS:
                INT grf_arb(OP generators, OP n, OP result)
DESCRIPTION:
                you enter the generators (VECTOR of PERMUTATION objects)
	of a permutation group, and the number of
        variables for the Polya substitution. The routine computes the group reduction
        function. The first step is the computation of cycle index and the second step is
        the Polya substitution with n variables.
EXAMPLE:
        #include <symmetrica.h>

        ANFANG
        sscan("[[6,5,4,3,2,1,8,7],[2,1,8,7,6,5,4,3],[5,6,7,8,1,2,3,4]]",
		PERMUTATIONVECTOR,a); sscan("4",INTEGER,b);
        grf_arb(a,b,c); println(c);
        ENDE

