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

Implement inverse of unit polynomials modulo prime power #39401

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

user202729
Copy link
Contributor

@user202729 user202729 commented Jan 28, 2025

Just one easy-to-implement case here.

Flint has functions https://flintlib.org/doc/fmpz_mod_poly.html#c.fmpz_mod_poly_invmod https://flintlib.org/doc/nmod_poly.html#c.nmod_poly_invmod but that assumes the modulus is prime, which is not the case here.

Note that the result is unique because if f ⋅ g = 1 and f ⋅ g' = 1 then f ⋅ (g-g') = 0, so g ⋅ f ⋅ (g-g') = 0, but g ⋅ f = 1, so g=g'.

📝 Checklist

  • The title is concise and informative.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation and checked the documentation preview.

⌛ Dependencies

Copy link

github-actions bot commented Jan 28, 2025

Documentation preview for this PR (built with commit a844b02; changes) is ready! 🎉
This preview will update shortly after each push to this PR.

@user202729
Copy link
Contributor Author

user202729 commented Jan 29, 2025

Maybe in the future we can implement something like https://math.stackexchange.com/questions/300170/ideals-of-mathbbzx or https://dl.acm.org/doi/10.1145/800205.806353 instead, which would be fully general (note that (ℤ/nℤ)[x] = ℤ[x] / (n)`

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

Successfully merging this pull request may close these issues.

1 participant