Discussion:
Functorial composition of cycle index series
Ralf Hemmecke
2007-03-02 01:14:16 UTC
Permalink
Huh, the functorial composition of cycle index series in BLL (chapter
2.2 formula (12)) looks quite complicated to implement.

Is there perhaps a simpler formula that does not involve "fix", but
rather only the coefficients of the involved CIS?

Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-02 08:18:54 UTC
Permalink
Post by Ralf Hemmecke
Huh, the functorial composition of cycle index series in BLL (chapter
2.2 formula (12)) looks quite complicated to implement.
Is there perhaps a simpler formula that does not involve "fix", but
rather only the coefficients of the involved CIS?
Hornegger and Pirastu have a partial (non-working) implementation in
functori.spad. Maybe that helps a bit...

(typpot is not implemented needed for betak, there is no suitable
implementation for create as used in compose, and everything is very
sketchy...)

Very likely you know the following. I just state it here for reference...


To obtain fix F[(G[sigma])_1,(G[sigma])_2,...], you need to compute

(G[sigma])_1, (G[sigma])_2, ...

(these are numbers. In Hornegger Pirastu it is called betak. To compute them,
maybe exercise 2 in Section 2.2 is helpful. I do not understand, but isn't (a)
with m=1 what we need? This looks too simple, though.)

and then extract the coefficient of x1^G[sigma])_1 x2^(G[sigma])_2 ... from
the cycleindexseries of F and multiply with the denominator in Section 1.2,
Equation (19).

Another thing one has to keep in mind is that

fix H[sigma]

only depends on the cycletype of the permutation sigma, not the permutation
itself.


Here is moebiusMu from numtheory.spad:

moebiusMu n ==
n = 1 => 1
t := factor n
for k in factors t repeat
k.exponent > 1 => return 0
odd? numberOfFactors t => -1
1


Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Ralf Hemmecke
2007-03-02 11:32:13 UTC
Permalink
Post by Martin Rubey
Post by Ralf Hemmecke
Huh, the functorial composition of cycle index series in BLL (chapter
2.2 formula (12)) looks quite complicated to implement.
Is there perhaps a simpler formula that does not involve "fix", but
rather only the coefficients of the involved CIS?
Hornegger and Pirastu have a partial (non-working) implementation in
functori.spad. Maybe that helps a bit...
Not at all. I don't understand that code. The documentation is
non-existing for betak.

And second. If possible, I don't want to use a summation over all
permutations. Isn't there a better formula for functorial composition of
CIS in some other book than BLL?
Post by Martin Rubey
Very likely you know the following. I just state it here for reference...
To obtain fix F[(G[sigma])_1,(G[sigma])_2,...], you need to compute
(G[sigma])_1, (G[sigma])_2, ...
(these are numbers. In Hornegger Pirastu it is called betak. To compute them,
maybe exercise 2 in Section 2.2 is helpful. I do not understand, but isn't (a)
with m=1 what we need? This looks too simple, though.)
and then extract the coefficient of x1^G[sigma])_1 x2^(G[sigma])_2 ... from
the cycleindexseries of F and multiply with the denominator in Section 1.2,
Equation (19).
Again. I don't want to sum over permutations (if it can be avoided).
That is my problem.

Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-02 12:12:21 UTC
Permalink
Not at all. I don't understand that code. The documentation is non-existing
for betak.
Yes. It is only in BLL. typpot(sigma, d) was certainly supposed to compute the
cycletype of sigma^d. ("Typ Potenz")

aut$CYC t * coeff$(ZIR RN) (z, t)

extracts the coefficient of x^t from z and multiplies with aut t. I don't see a
problem there.
And second. If possible, I don't want to use a summation over all
permutations.
Possibly, you only need to sum over all possible cycletypes. Did you have a
look at the exercise?
Isn't there a better formula for functorial composition of CIS in some other
book than BLL?
maybe the following is interesting

arxiv.org/pdf/math.CO/9811127

(it may be that it contains a more general construction)

I can also have look into

http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V00-45FKVGN-9N&_user=464575&_coverDate=04%2F02%2F1992&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000022258&_version=1&_urlVersion=0&_userid=464575&md5=3557d703f6608236e39bcff22a96e759

but we don't have the online version...



Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Ralf Hemmecke
2007-03-02 14:23:26 UTC
Permalink
Post by Martin Rubey
arxiv.org/pdf/math.CO/9811127
I've seen that before, but I don't understand. Travis defines the CIS as

Z_F = \sum_\lambda fix F[\lambda] \frac{p_\lambda}{z_\lambda}

Formula (2.1).

The sum is over all partitions of non-negative integers.

Neighter do I understand p_\lambda (maybe it's p^\lambda in case p is
considered as indeterminate), nor is there any hint, what z_\lambda
should mean. In a thesis I would have expected that the notation is
explained. :-(

Please help, otherwise the whole paper is useless for me.

Martin, have you a particular page where I could look? There seems to be
a lot that does not solve my problem.

Ralf


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-02 12:17:05 UTC
Permalink
Is there perhaps a simpler formula that does not involve "fix", but rather
only the coefficients of the involved CIS?
I forgot the simplest (and very likely: best) possibility:

ask Francois Bergeron...

Do you want to do it yourself, or do you want me to write a mail? However, I
must admit that I only want to ask after I have understood the problem. I could
do this only tomorrow.

Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-03 13:02:55 UTC
Permalink
Dear Ralf,

you asked for a "permutation free" variant of

Z_F square Z_G

I think the best one can hope for is to sum over cycletypes (i.e., partitions)
instead of permutations. I give here a LaTeX description, in case it is correct
and useful, we can include it in the documentation...

moebiusMu and divisors are in numtheory.spad.pamphlet. divisors depends of
course on the ability to factor integers, is this present in libaldor or
libalgebra?

For divisors I just proposed a fix, that also provides documentation...

Hope that helps,

Martin



Definition~4 in Section~2.2 of \cite{BLL} goes as follows:
\begin{dfn}
Z_F \square Z_G = \sum_{n\ge0}\frac{1}{n!}
\sum_{\sigma\in S_n}
\fix F[(G[\sigma])_1,(G[\sigma])_2,\dots]
x_1^{\sigma_1}x_2^{\sigma_2}\dots
\end{dfn}

Thus, we need to compute $(G[\sigma])_k$. Proposition~3 in the same section
reads
\begin{prop}
$$(G[\sigma])_k = \frac{1}{k}\sum_{d\mid k} \mu(k/d) fix G[\sigma^d],$$ where
$\mu$ is the M\"obius function for integers.
\end{prop}

It remains to compute the cycle type of $\sigma^d$ given only the cycle type of
$\sigma$. This can be done using Excercise~2.b of the same section:
\begin{exc}
$$(\sigma^k)_m = \sum_{d\mid k, (m, k/d)=1} d \sigma_{dm}.$$
\end{exc}

The formula for the cycle index series now becomes
\begin{equation*}
Z_F \square Z_G = \sum_{n_1+2n_2+\dots}
\fix(F\square G)[n_1, n_2, \dots]
\frac{x_1^{n_1}x_2^{n_2}\dots}
{1^{n_1}n_1! 2^{n_2}n_2!\dots}.
\end{equation*}

Note that taking a permutation to a power can only decrease the length of the
longest cycle. (Check this...!) Similarly, if $G$ is a species, the longest
cylce of $G[\sigma]$ can only be shorter than the the longest cycle of
$\sigma$. (Check this...!)

CYCLETYPE ==> List Integer
cycleTypePower(p: CYCLETYPE, k: Integer): CYCLETYPE == {
cycleType: CYCLETYPE := [];
divisorsK: List Integer := divisors k;
for m in #p..1 by -1 repeat {
sum: Integer := 0;
for d in divisorsK | gcd(m, k/d)=1 repeat {
sum := sum + d * p.(d*m)
}
cylceType := cons(sum, cycleType)
}
cycleType
}


Maybe the following should be a default function in
\adtype{CombinatorialSpecies}?


cycleTypeSpecies(p: CYCLETYPE): CYCLETYPE == {
cycleType: CYCLETYPE := [];
s := cycleIndexSeries$F;
for k in #p..1 by -1 repeat {
divisorsK: List Integer := divisors k;
sum: Integer := 0;
for d in divisorsK repeat {
sum := sum + moebiusMu(k/d)
*coefficient(s, cycleTypePower(p, d));
-- this is very rough... is there such a function coefficient? Or count?
}
cycleType := cons(sum/k, cycleType);
}
cycleType;
}


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Ralf Hemmecke
2007-03-03 15:17:17 UTC
Permalink
Post by Martin Rubey
Dear Ralf,
you asked for a "permutation free" variant of
Z_F square Z_G
And you have still not provided it.
Post by Martin Rubey
I think the best one can hope for is to sum over cycletypes (i.e., partitions)
instead of permutations.
But that is exactly how the cycle index series looks like.

Let H = F \square G, then I want the coefficient of x^k of Z_H (k the
cycle type) in terms of the coefficients of some other x^i in Z_F and Z_G.
Post by Martin Rubey
The formula for the cycle index series now becomes
\begin{equation*}
Z_F \square Z_G = \sum_{n_1+2n_2+\dots}
\fix(F\square G)[n_1, n_2, \dots]
\frac{x_1^{n_1}x_2^{n_2}\dots}
{1^{n_1}n_1! 2^{n_2}n_2!\dots}.
\end{equation*}
This Formula is not at all helpful. And it is true by definition of the
functorial composition of species and cycle index series. The rhs just
denotes the CIS of H.

Summation over cycles is still not gone.
Post by Martin Rubey
Note that taking a permutation to a power can only decrease the length of the
longest cycle. (Check this...!)
If you think so...
Post by Martin Rubey
Similarly, if $G$ is a species, the longest
cylce of $G[\sigma]$ can only be shorter than the the longest cycle of
$\sigma$. (Check this...!)
You fell into the same trap as me. Diff revision 158 and 157, I've just
commited a small docfix. It is right there. Or see at BLL chapter 1.2
after definition 5. This is a counter example.

The cycles of G[\sigma] are "potentially" as long |G[n]|, right?

Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-03 15:43:56 UTC
Permalink
Post by Ralf Hemmecke
Post by Martin Rubey
I think the best one can hope for is to sum over cycletypes (i.e.,
partitions) instead of permutations.
But that is exactly how the cycle index series looks like.
Yes. What are you hoping for?
Post by Ralf Hemmecke
Let H = F \square G, then I want the coefficient of x^k of Z_H (k the cycle
type) in terms of the coefficients of some other x^i in Z_F and Z_G.
Post by Martin Rubey
The formula for the cycle index series now becomes
\begin{equation*}
Z_F \square Z_G = \sum_{n_1+2n_2+\dots}
\fix(F\square G)[n_1, n_2, \dots]
\frac{x_1^{n_1}x_2^{n_2}\dots}
{1^{n_1}n_1! 2^{n_2}n_2!\dots}.
\end{equation*}
This Formula is not at all helpful. And it is true by definition of the
functorial composition of species and cycle index series. The rhs just denotes
the CIS of H.
Summation over cycles is still not gone.
But over permutations. That's a lot less!
Post by Ralf Hemmecke
Post by Martin Rubey
Note that taking a permutation to a power can only decrease the length of the
longest cycle. (Check this...!)
If you think so...
Yes. Proof: Let \pi be a permutation of [n] and k\in [n]. Let c be the cycle of
\pi that contains k. Applying \pi to k maps k to some other element of c.
Post by Ralf Hemmecke
Post by Martin Rubey
Similarly, if $G$ is a species, the longest
cycle of $G[\sigma]$ can only be shorter than the the longest cycle of
$\sigma$. (Check this...!)
You fell into the same trap as me. Diff revision 158 and 157, I've just
commited a small docfix. It is right there. Or see at BLL chapter 1.2 after
definition 5. This is a counter example.
I don't see what this has to do with

Z_F(x_1,x_2,\ldots) \ne \sum_{n\geq0}C(S_n,F[n];x_1,x_2,\ldots,x_n).

but I see that BLL indeed provides a counter example. However,
Post by Ralf Hemmecke
The cycles of G[\sigma] are "potentially" as long |G[n]|, right?
seems to be a very crude upper bound. But, of course, the sum of the cycle
lengths of G[\sigma] must be |G[n]|, not n... Stupid me.

So, we would have

cycleTypeSpecies(p: CYCLETYPE, n: Integer): CYCLETYPE == {
cycleType: CYCLETYPE := [];
s := cycleIndexSeries$F;
N := count(n)$F
for k in N..1 by -1 repeat {
divisorsK: List Integer := divisors k;
sum: Integer := 0;
for d in divisorsK repeat {
sum := sum + moebiusMu(k/d)
*coefficient(s, cycleTypePower(p, d));
-- this is very rough... is there such a function coefficient? Or count?
}
cycleType := cons(sum/k, cycleType);
}
cycleType;
}

which is quite ugly, I must confess. (Concerning documentation, I would have
thought that

Thus, we need to compute $(G[\sigma])_k$. Proposition~3 in the same section
reads
\begin{prop}
$$(G[\sigma])_k = \frac{1}{k}\sum_{d\mid k} \mu(k/d) fix G[\sigma^d],$$ where
$\mu$ is the M\"obius function for integers.
\end{prop}

and

Similarly, if $G$ is a species, the longest cylce of $G[\sigma]$ can only be
shorter than the the longest cycle of $\sigma$. (Check this...!)

is enough... (apart from the fact, that the final sentence is wrong)

Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-03 15:54:10 UTC
Permalink
Post by Martin Rubey
Post by Ralf Hemmecke
Post by Martin Rubey
Similarly, if $G$ is a species, the longest
cycle of $G[\sigma]$ can only be shorter than the the longest cycle of
$\sigma$. (Check this...!)
You fell into the same trap as me. Diff revision 158 and 157, I've just
commited a small docfix. It is right there. Or see at BLL chapter 1.2 after
definition 5. This is a counter example.
I don't see what this has to do with
Z_F(x_1,x_2,\ldots) \ne \sum_{n\geq0}C(S_n,F[n];x_1,x_2,\ldots,x_n).
but I see that BLL indeed provides a counter example. However,
Post by Ralf Hemmecke
The cycles of G[\sigma] are "potentially" as long |G[n]|, right?
seems to be a very crude upper bound. But, of course, the sum of the cycle
lengths of G[\sigma] must be |G[n]|, not n... Stupid me.
I just realised: the length of the longest cycle is the lcm of the cycle
lengths of \sigma.

Proof:

Let s be a structure on [n] and let \pi be a permutation of [n].

We want to know the minimal positive number greater than one with %
$\pi^o s = s$, which is just the order of $\pi$. This is just the least common
multiple of the cycle lengths of \pi.

Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Ralf Hemmecke
2007-03-03 16:14:17 UTC
Permalink
Post by Martin Rubey
Post by Ralf Hemmecke
Summation over cycles is still not gone.
But over permutations. That's a lot less!
Arrrggghhh. Of course my sentence should have read:

"Summation over permutations is still not gone."
Post by Martin Rubey
So, we would have
cycleTypeSpecies(p: CYCLETYPE, n: Integer): CYCLETYPE == {
cycleType: CYCLETYPE := [];
s := cycleIndexSeries$F;
N := count(n)$F
for k in N..1 by -1 repeat {
divisorsK: List Integer := divisors k;
sum: Integer := 0;
for d in divisorsK repeat {
sum := sum + moebiusMu(k/d)
*coefficient(s, cycleTypePower(p, d));
-- this is very rough... is there such a function coefficient? Or count?
}
cycleType := cons(sum/k, cycleType);
}
cycleType;
}
which is quite ugly, I must confess. (Concerning documentation, I would have
thought that
Thus, we need to compute $(G[\sigma])_k$. Proposition~3 in the same section
reads
\begin{prop}
$$(G[\sigma])_k = \frac{1}{k}\sum_{d\mid k} \mu(k/d) fix G[\sigma^d],$$ where
$\mu$ is the M\"obius function for integers.
\end{prop}
and
Similarly, if $G$ is a species, the longest cylce of $G[\sigma]$ can only be
shorter than the the longest cycle of $\sigma$. (Check this...!)
is enough... (apart from the fact, that the final sentence is wrong)
Oh, I have not guessed that and the function name "cycleTypeSpecies"
tells me nothing at all. Not even from the documentation you give I
understand the input/output specification.

Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-03 16:32:09 UTC
Permalink
Post by Ralf Hemmecke
Post by Martin Rubey
Post by Ralf Hemmecke
Summation over cycles is still not gone.
But over permutations. That's a lot less!
"Summation over permutations is still not gone."
But it is!?
Post by Ralf Hemmecke
Post by Martin Rubey
Similarly, if $G$ is a species, the longest cylce of $G[\sigma]$ can only be
shorter than the the longest cycle of $\sigma$. (Check this...!)
is enough... (apart from the fact, that the final sentence is wrong)
Oh, I have not guessed that
guessed what?
Post by Ralf Hemmecke
and the function name "cycleTypeSpecies" tells me nothing at all. Not even
from the documentation you give I understand the input/output specification.
OK, I try again, maybe this is better.

Martin

Definition~4 in Section~2.2 of \cite{BLL} goes as follows:
\begin{dfn}
Z_F \square Z_G = \sum_{n\ge0}\frac{1}{n!}
\sum_{\sigma\in S_n}
\fix F[(G[\sigma])_1,(G[\sigma])_2,\dots]
x_1^{\sigma_1}x_2^{\sigma_2}\dots
\end{dfn}

We will see that $\fix F[(G[\sigma])_1,(G[\sigma])_2,\dots]$ in fact depends
only on the cycle type of $\sigma$. Thus we can rewrite the above to avoid
summation over all permutations:
\begin{equation*}
Z_F \square Z_G = \sum_{n_1+2n_2+\dots}
\fix(F\square G)[n_1, n_2, \dots]
\frac{x_1^{n_1}x_2^{n_2}\dots}
{1^{n_1}n_1! 2^{n_2}n_2!\dots},
\end{equation*}

We first show how to compute the cycle type of $\sigma^d$ given only the cycle
type of $\sigma$. This can be done using Excercise~2.b of the same section:
\begin{exc}
$$(\sigma^k)_m = \sum_{d\mid k, (m, k/d)=1} d \sigma_{dm}.$$
\end{exc}

Note that taking a permutation to a power can only decrease the length of the
longest cycle: let $\sigma$ be a permutation of $[n]$ and $k\in [n]$. Let $c$
be the cycle of $\sigma$ that contains $k$. Applying $\sigma$ to $k$ maps $k$
to some other element of $c$.

CYCLETYPE ==> List Integer
cycleTypePower(p: CYCLETYPE, k: Integer): CYCLETYPE == {
cycleType: CYCLETYPE := [];
divisorsK: List Integer := divisors k;
for m in #p..1 by -1 repeat {
sum: Integer := 0;
for d in divisorsK | gcd(m, k/d)=1 repeat {
sum := sum + d * p.(d*m)
}
cylceType := cons(sum, cycleType)
}
cycleType
}


We are now ready to compute $(G[\sigma])_k$. Proposition~3 in the same section
reads
\begin{prop}
$$(G[\sigma])_k = \frac{1}{k}\sum_{d\mid k} \mu(k/d) fix G[\sigma^d],$$ where
$\mu$ is the M\"obius function for integers.
\end{prop}

We know already how to compute the cycle type of $\sigma^d$, given the cycle
type of $\sigma$. Furthermore, we remark that the length of the longest cycle
in $F[\sigma]$ is the least common multiple of the cycle lengths of $\sigma$:

Let s be a structure on $[n]$ and let $\sigma$ be a permutation of $[n]$.

We want to know the minimal positive number greater than one with %
$\sigma^o s = s$, which is just the order of $\sigma$. This is well known to be
the least common multiple of the cycle lengths of $\sigma$.
\begin{ToDo}
Give a reference for the order of a permutation.
\end{ToDo}

Thus, the following function returns the cycle type of $F[\sigma]$ given the
cycle type of $\sigma$.

cycleTypeSpecies(p: CYCLETYPE): CYCLETYPE == {
cycleType: CYCLETYPE := [];
s := cycleIndexSeries;
n := lcm([i for i in 1..#p | p.i ~= 0]);
for k in n..1 by -1 repeat {
divisorsK: List Integer := divisors k;
sum: Integer := 0;
for d in divisorsK repeat {
sum := sum + moebiusMu(k/d)
*coefficient(s, cycleTypePower(p, d));
-- this is very rough... is there such a function coefficient? Or count?
}
cycleType := cons(sum/k, cycleType);
}
cycleType;
}



-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Ralf Hemmecke
2007-03-03 18:17:29 UTC
Permalink
Post by Martin Rubey
Post by Ralf Hemmecke
Post by Martin Rubey
Post by Ralf Hemmecke
Summation over cycles is still not gone.
But over permutations. That's a lot less!
"Summation over permutations is still not gone."
But it is!?
OK, before I go further, just propose the code for what you have
described. An I guess it will be wrong in any computer language.

Let me try to point you to your error (or at least, what I think is an
error).

The CIS of F is defined in BLL Def 1.2.6 as

Z_F = \sum_{n\geq0} \frac{1}{n!} f_n

where f_n = \sum_{\sigma\in S_n} \fix F[\sigma] x^\sigma.

Remark 1.2.10 then says that one can rewrite f_n to

f_n = \sum_{k_1+2k_2+...+nk_n = n} \fix F[k] x^k/z_k.

where z_k = \prod_{i=1}^n i^{k_i} k_i!.

Now, if H = F \factorialcompose G, a similar formula as above, of
course, holds for H.
Post by Martin Rubey
Post by Ralf Hemmecke
Post by Martin Rubey
Similarly, if $G$ is a species, the longest cylce of $G[\sigma]$ can only be
shorter than the the longest cycle of $\sigma$. (Check this...!)
is enough... (apart from the fact, that the final sentence is wrong)
Oh, I have not guessed that
guessed what?
Post by Ralf Hemmecke
and the function name "cycleTypeSpecies" tells me nothing at all. Not even
from the documentation you give I understand the input/output specification.
OK, I try again, maybe this is better.
Martin
\begin{dfn}
Z_F \square Z_G = \sum_{n\ge0}\frac{1}{n!}
\sum_{\sigma\in S_n}
\fix F[(G[\sigma])_1,(G[\sigma])_2,\dots]
x_1^{\sigma_1}x_2^{\sigma_2}\dots
\end{dfn}
We will see that $\fix F[(G[\sigma])_1,(G[\sigma])_2,\dots]$ in fact depends
only on the cycle type of $\sigma$. Thus we can rewrite the above to avoid
\begin{equation*}
Z_F \square Z_G = \sum_{n_1+2n_2+\dots}
\fix(F\square G)[n_1, n_2, \dots]
\frac{x_1^{n_1}x_2^{n_2}\dots}
{1^{n_1}n_1! 2^{n_2}n_2!\dots},
\end{equation*}
That is basically your last equation. I don't see that I gained more
insight than I knew before.

I like to refer to a mail I sent to you yesterday.

Given:

Z_F = \sum_{n=0}^\infty \sum_{k_1+2k_2+...+nk_n=n} a(k) x^k
Z_G = \sum_{n=0}^\infty \sum_{k_1+2k_2+...+nk_n=n} b(k) x^k
Z_H = \sum_{n=0}^\infty \sum_{k_1+2k_2+...+nk_n=n} c(k) x^k

My problem is: Give a "nice" formula for c(k) which only depends on the
a(i) and b(i) (and k).

All what I have seen up to now where some little pieces of a puzzle that
I feel unable to solve.

That is why I suggest that you try to write some sketchy code for c(k)
that does not involve any permutation. Only cycle types are allowed.
Even a mathematical formula for c(k) would be OK, but no permutations.

Best regards

Ralf

PS: I think before I implement cartesian product, it is certainly better
to have Permutations as a basic species. So I'll try this one next.

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-03 18:36:59 UTC
Permalink
Dear Ralf,

sorry, I cannot see the mistake. I don't see any permutations in my code, only
cycle types.
Post by Ralf Hemmecke
OK, before I go further, just propose the code for what you have
described. And I guess it will be wrong in any computer language.
But I did write code in my last email: two functions, one computes the cycle
type of the power of a permutation, only given its cycle type:

CYCLETYPE ==> List Integer
cycleTypePower(p: CYCLETYPE, k: Integer): CYCLETYPE == {
cycleType: CYCLETYPE := [];
divisorsK: List Integer := divisors k;
for m in #p..1 by -1 repeat {
sum: Integer := 0;
for d in divisorsK | gcd(m, k/d)=1 repeat {
sum := sum + d * p.(d*m)
}
cylceType := cons(sum, cycleType)
}
cycleType
}

The second one computes the cycle type of F[\sigma], only given the cycle type
of \sigma and the cycleIndexSeries of F.

cycleTypeSpecies(p: CYCLETYPE): CYCLETYPE == {
cycleType: CYCLETYPE := [];
s := cycleIndexSeries;
n := lcm([i for i in 1..#p | p.i ~= 0]);
for k in n..1 by -1 repeat {
divisorsK: List Integer := divisors k;
sum: Integer := 0;
for d in divisorsK repeat {
sum := sum + moebiusMu(k/d)
*coefficient(s, cycleTypePower(p, d));
-- this is very rough... is there such a function coefficient? Or count?
}
cycleType := cons(sum/k, cycleType);
}
cycleType;
}


To get the cycleIndexSeries of F \square G, you have to compute

\begin{equation*}
Z_F \square Z_G = \sum_{n_1+2n_2+\dots}
\fix(F\square G)[n_1, n_2, \dots]
\frac{x_1^{n_1}x_2^{n_2}\dots}
{1^{n_1}n_1! 2^{n_2}n_2!\dots},
\end{equation*}

where

\fix(F\square G)[n_1, n_2, \dots]

is

coefficient(cycleIndexSeries$F, cycleTypeSpecies [n1, n2,...])

(I'm not sure what coefficient(cycleIndexSeries$F, ...) does exactly. If you
include the denominator 1^n1 n1! 2^n2 n2! ... in the coefficient you have to
multiply by it again... The same remark holds for the computation of
cycleTypeSpecies)


Does this answer your question? Did I miss something?

Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Ralf Hemmecke
2007-03-03 19:22:01 UTC
Permalink
Post by Martin Rubey
\fix(F\square G)[n_1, n_2, \dots]
is
coefficient(cycleIndexSeries$F, cycleTypeSpecies [n1, n2,...])
I think, it would have saved me all the trouble if you had given that
from the beginning. Being not a combinatorialist, I had problems in
seeing that (or better in remembering that)

((G[\sigma])_1, (G[\sigma])_2, ..., (G[\sigma])_n)

is equal

((G[\tau ])_1, (G[\tau ])_2, ..., (G[\tau ])_n)

if (\sigma_1, \sigma_2, ...) = (\tau_1, \tau_2, ...)

This is what removes the sum over permutations.
The rest is then as you or BLL described.
Post by Martin Rubey
(I'm not sure what coefficient(cycleIndexSeries$F, ...) does exactly. If you
include the denominator 1^n1 n1! 2^n2 n2! ... in the coefficient you have to
multiply by it again... The same remark holds for the computation of
cycleTypeSpecies)
Well at the moment, there is neither an appropriate "coefficient"
function nor a "count" function, because I had no urgent need for it and
since

coefficient: (%, I) -> P

is inherited from FormalPowerSeries(P) where P is the polynomial domain
Q[x1,x2,x3,...].

I'll add a new "count" and "coefficient" function that can extract the
coefficient according to the cycletype.

Thank you for not giving up on me. I'll include functorialCompose for
CIS as soon as possible.

Ralf

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Martin Rubey
2007-03-03 19:32:09 UTC
Permalink
Post by Martin Rubey
\fix(F\square G)[n_1, n_2, \dots]
is
coefficient(cycleIndexSeries$F, cycleTypeSpecies [n1, n2,...])
I think, it would have saved me all the trouble if you had given that from
the beginning.
Sorry about that. Currently, there are two projects too many on my desk...
Thank you for not giving up on me. I'll include functorialCompose for CIS as
soon as possible.
Thank you for not giving up on me! And thank you for doing the hard work
concerning the series stuff. You see, I'd be quite unable to do this.

By the way, when can we meet? Should I come to Linz? I think we should discuss
MultiSorted species "life", not on the list.



Martin


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
Loading...