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

Confusions in left and right division for Ore polynomials #35531

Closed
kwankyu opened this issue Apr 18, 2023 · 5 comments · Fixed by #35562
Closed

Confusions in left and right division for Ore polynomials #35531

kwankyu opened this issue Apr 18, 2023 · 5 comments · Fixed by #35562

Comments

@kwankyu
Copy link
Collaborator

kwankyu commented Apr 18, 2023

sage: k.<a> = GF(5^3)
....: Frob = k.frobenius_endomorphism()
....: S = OrePolynomialRing(k, Frob, 'x')
....: S
Ore Polynomial Ring in x over Finite Field in a of size 5^3 twisted by a |--> a^5
sage: x = S.gen()
sage: f = x*a + a*x^2+a*x^4
sage: g = (a^7+a)*x^2*(a+1)+ (a^3+1)*x + 1
sage: f
a*x^4 + a*x^2 + (2*a^2 + 4*a + 4)*x
sage: g
(3*a^2 + 2*a + 4)*x^2 + (2*a + 3)*x + 1
sage: q = f // g
sage: r = f % g
sage: f == g*q+r
False
sage: f == q*g+r
True

According to the documentation (1)

The operators // and % give respectively the quotient and the remainder of the right euclidean division

But the definition of the right euclidean division is (2)

Screen Shot 2023-04-18 at 1 34 25 PM

Apparently the two docs are inconsistent. What is the correct definition of the right euclidean division? @xcaruso

According to Ore himself, the right-hand division of $F$ by $G$ is $F=QG+R$. So (2) is wrong.

@xcaruso
Copy link
Contributor

xcaruso commented Apr 18, 2023

You're right. The documentation (2) is wrong. Thanks for catching this!

@kwankyu
Copy link
Collaborator Author

kwankyu commented Apr 18, 2023

Is this correct "Right(-hand) gcd is computed by right(-hand) euclidean algorithm that does right(-hand) divisions"?

This "right" and "left" confusion seems not uncommon in papers on Ore polynomials. The wrong documentation (2) in sage makes the situation worse.

@xcaruso
Copy link
Contributor

xcaruso commented Apr 21, 2023

Is this correct "Right(-hand) gcd is computed by right(-hand) euclidean algorithm that does right(-hand) divisions"?

I think it's correct, yes! But all of these correspond to left lcm and left modules...

@kwankyu
Copy link
Collaborator Author

kwankyu commented Apr 21, 2023

Thanks.

By left modules, you mean left ideals in the form Re for an element e of the ring R.

I will prepare a PR later.

@xcaruso
Copy link
Contributor

xcaruso commented Apr 21, 2023

By left modules, you mean left ideals in the form Re for an element e of the ring R.

Yes.

I will prepare a PR later.

Thanks!

vbraun pushed a commit that referenced this issue Jun 3, 2023
    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes #12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

Fix #35531. While we are at it, I made other minor edits.

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes #12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: #35562
Reported by: Kwankyu Lee
Reviewer(s): Xavier Caruso
@mkoeppe mkoeppe added this to the sage-10.1 milestone Jun 3, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants