> Furthermore, I did not suggest to get rid of the cycleIndexSeries as we have > it > now. Rather, to provide a second function that computes only a certain > coefficient fast. > > I.e., we would have two different versions of coefficient (!): one, which > computes the whole cycleIndexSeries and another that computes only the > coefficient.
Ah, that sounds somewhat reasonable. > Of course, it may make sense to combine the two approaches. Of course the other coefficient function should first check whether the coefficient is already computed and cached. > 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,...) >> Or perhaps you tell me how you then compute the n-th coefficient of the >> isomorphismType series from the CIS. > > Of course, these monomials have to be grouped by total weight. Thus, when you > ask something like > > coefficient(series, 28) > > all monomials of total degree 28 are computed, but when you ask for > > coefficient(series, [0,0,0,1,0,0,0,3]) > > only one monomial is computed. Of course, I see that this does not compute unnessary coefficients. But 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. Who is going to do it? > 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. 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 _______________________________________________ Aldor-combinat-devel mailing list Aldor-combinat-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel