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

Forbid zero ring in polynomial ring/series constructions #1856

Open
thofma opened this issue Oct 10, 2024 · 0 comments · May be fixed by #1857
Open

Forbid zero ring in polynomial ring/series constructions #1856

thofma opened this issue Oct 10, 2024 · 0 comments · May be fixed by #1857

Comments

@thofma
Copy link
Member

thofma commented Oct 10, 2024

After looking at the code, we (@fingolfin and myself) came to the conclusion that it would be best to forbid zero rings in polynomial ring constructors (both univariate and multivariate) for now.

Why? Most of the code is wrong and it gives silently wrong results. This is because it heavily relies on is_zero(a), but this is not the right thing to check. In the presence of zero rings, one needs to replace this by is_zero(a) && !is_one(a).

  1. This is quite intrusive and we don't have the resources to change this consistently. One probably would need to check any is_zero call.
  2. We would need some optimized is_zero_and_not_one to not make this check twice as slow for most rings.

The next thing to do is to add an is_trivial(R) check to the various constructors and throw an "not implemented (yet)" error.

We can revisit this decision once the need for this construction arises.

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

Successfully merging a pull request may close this issue.

1 participant