On Mon, 10 Mar 2025 at 14:51, Jatin Bhardwaj <bhardwajjatin...@gmail.com> wrote: > > Hello Sympy Developers, > > > I have recently started planning the design and integration of the Power > Series domain and would appreciate some guidance on key structural decisions. > > Currently, my implementation revolves around three primary classes: > > Domain > Ring > Element > > However, as I proceed further, I have a few questions: > > 1. Where should core functionality be implemented? > > Should functions like exp, sin, cos be implemented natively in the Element > class, or should we rely on the existing ring_series implementation?
The ring_series implementations could potentially still be used but it might be better to copy them into a new structure. > If we use ring_series, what would be the best way to handle cases where a > function is not well-defined due to the presence of a constant term in the > expression? For basic series types like QQ[[x]] meaning the ring of power series with rational coefficients this should just raise an error if the series cannot be represented using rational coefficients. There should be a higher-level series type that can handle implicitly creating the necessary coefficient domain. > 2. Additional Questions > > Currently, multivariate expansion considers one term as a variable while > treating the rest as constants. I haven't investigated this in detail but I think it is probably a mistake to use multivariate polynomials for representing univariate series the way that the ringseries module does. At least if this representation is more efficient or something then it should be handled in a way that is transparent to the user. > Would implementing a more generalized multivariate expansion be feasible > within the project timeline? If so, how should constant terms be handled in > such an expansion? Constant terms should be handled the same way. I would just focus on univariate series for now. > Would introducing more trigonometric functions in ring_series be a good idea? Yes, more trig functions would be good. -- Oscar -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To view this discussion visit https://groups.google.com/d/msgid/sympy/CAHVvXxQBPMywG%3DpEFkt7DGG56wHpE-9pBFz3jmwUu2dia6Z1KQ%40mail.gmail.com.