Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ring_series makes sparse polys with fractional exponents #24398

Open
oscarbenjamin opened this issue Dec 16, 2022 · 0 comments
Open

ring_series makes sparse polys with fractional exponents #24398

oscarbenjamin opened this issue Dec 16, 2022 · 0 comments

Comments

@oscarbenjamin
Copy link
Contributor

Following #24395 I think the ring_series module should probably not use sparse polynomials with fractional exponents. I think that this is an abuse of the sparse polynomial data structures and should be changed. I suspect that this will regularly throw up bugs because the classes were not designed for this.

There is some discussion of this in the docs:
https://docs.sympy.org/latest/modules/polys/ringseries.html

A proper implementation of a Puiseux series should be done differently perhaps more along the lines of the suggestion for Laurent polynomial rings in #5131. Every Puiseax series with rational exponents could be represented as a polynomial in some rational power of the generator e.g.:

x**(1/2) + 2*x**(3/2) = y + 2*y**3 where y = x**(1/2)

There should be a way to explicitly construct a Puiseux ring in which monomials can be raised to fractional and negative powers but the representation should internally use dense or sparse ordinary polynomials with natural exponents. If a Puiseax ring should include negative powers then my suggestion would be to implement Laurent polynomial rings on top of ordinary polynomial rings and then to implement Puiseux rings on top of Laurent rings.

Relevant parts of the SAGE docs:
https://doc.sagemath.org/html/en/reference/power_series/sage/rings/puiseux_series_ring.html
https://doc.sagemath.org/html/en/reference/power_series/sage/rings/puiseux_series_ring_element.html

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant