On Oct 30, 1:14 pm, "Mike Hansen" <[EMAIL PROTECTED]> wrote: > When I said recursively defined streams, I meant something a little > more general. For example, if f is a power series and g is exp(f), > then g satisfies g = \int g*f'. This translates to the following code > for the exponential of power series: > > g.define( (f.derivative()*g).integral(base_ring(1)) )
If that works, the better. > > The benefit of this is that it reduces the complexity of > exponentiation to that of multiplication for which there are fast > algorithms. Generally, you want to reduce everything (composition, > division, logs, etc) to multiplication in order to get asymptotically > fast algorithms. Sure, but I would say functionality before performance. > > What about lazy Laurent series? > > Are you asking how one would implement them? What sort of features > would one require for lazy Laurent series? I am asking: why not more generally implement them instead of purely powerseries, I think they are only a slight generalization of powerseries. > > What about moving from combinat to rings? > > The reason why it was in combinat/ is because I had written it for my > particular use case. There are some things that need to be done for > it to be usable in a wider setting. For example, certain things only > make sense when you have a power series over a field. I was also thinking about similar issues. Also some operations require and guaranty the first coefficient to be 0. I wonder whether to introduce a subtype for those powerseries because it is not always decidable whether something is 0 in the base_ring. Formal Laurent series would also form a field. For example the formal Laurent series are a field. --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---
