These are chat archives for symengine/symengine
p = (x - 1).invert(); function: pow where: /usr/local/include/piranha/series.hpp, 2210 what: invalid argument for series exponentiation: negative integral value
1/(x-1)exactly if you use a divisor series, but I doubt that is what you are after
1/(1-x)the intermediate results are:
1+x 1+x+x**2+x**3 1+x+x**2+x**3+x**4+x**5 1+x+x**2+x**3+x**4+x**5+x**6+x**7
series_invertoperate directly with Piranha's types and so should have zero overhead. Then you have
_serieswhich converts a
Basicexpression into a Piranha's polynomial. There the overhead also seems minimal --- looking at it, I don't see how it could be sped up more. Finally, the possible overhead is in the
seriesmethod, that just calls
_seriesand converts back to a vector of symengine numbers. That will have some overhead. This only happens at the very end, so this is independent of the complexity of the expression, it only depends on the number of terms. If this is an issue, we can figure out a different design. For now this is nice, since only the
expansion.cppfile depends on Piranha, so the dependency is nicely isolated.
rs_seriesso the blame is not on me :smile: Complexity will come with multivar but I'd like to have univar first.