Ralf Hemmecke <[EMAIL PROTECTED]> writes:

> > Modify the datastructure of cycleIndexSeries such that it really is a
> > multivariate series: Currently, the smallest structure in the CIS is a
> > polynomial, but it seems that it is more efficient to have as smallest
> > structure a monomial...
> 
> Fine. What data structure would you suggest?
> 
> Would it be different from (simplyfied things a bit):
> 
>    Stream(List(Integer,PowerProduct))
> 
> (because this is basically what I have now, only that I call
> 
>    List(Integer,PowerProduct) = Polynomial(x1,...xn,...)

I am not a datastructure designer. However, what we may need is to distinguish
between a monomial which has not yet been computed and a monomial with zero
coefficient. Well, maybe it wouldn't really matter, one could store the
monomials with zero coefficient just as well.

> [...] you certainly see, that we would have to provide the lightweight
> coefficient function for all operations (+, *, compose, functorial compose,
> integrate, differentiate, exponentiate) in an efficient way.

Not quite. Namely, we (well, in fact, you...) could "just" change the
datastructure first (if necessary) and provide the new caching mechanism. Then
the "old" algorithms for +, *, compose, functorial compose etc. should still
work, albeit with the drawback, that they compute many monomials even if only
one monomial is needed.

In a second step, you could modify Plus and Times to actually use the new
datastructure.

> > In fact, I think this would be the right approach. This would also make
> > specialising to the exponential generating series efficient, and in fact,
> > specialising whenever "many" variables are set to zero, which does happen 
> > very
> > often in the symmetric functions world. (One is the so called "principal
> > specialisation of order n")
> 
> Be a bit more precise.

More precise about what?

* the right approach:

only those monomials that are actually needed should be computed, whenever
possible.

* symmetric functions:

later in May, not now. I do not know enough about these things yet.

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
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to