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
Type inconsistencies in polynomial factorization #20214
Comments
Author: Benjamin Hackl |
Commit: |
comment:2
... the doctest failures show that fixing this does require more effort than that. ;-) |
comment:3
Factorization is aimed to be a generic class, not only polynomials. I am a little bit worried about your one line change (and patchbot as well). For example the free group has no base ring and matrix groups ( Note that some of the patchbot issue is just because |
Changed commit from |
Changed branch from u/behackl/polynomial/unit-parent-inconsistent to u/vdelecroix/20214 |
Commit: |
comment:6
The biggest issue seems to be that the matrix group code was relying on the current behavior for its factorization. Although I am somewhat more inclined to think the current behavior is the correct way to go because the units do not have to live in the base ring in general. Also from looking at the code, I don't see this fixing things if you work over BTW, you should use |
Changed branch from u/vdelecroix/20214 to u/behackl/polynomial/unit-parent-inconsistent |
comment:7
With the changes to the representation string and by fixing a silly error I made earlier (pushed one commit), there's just one failure remaining. It seems that the action from a finite field onto the general linear group is not implemented; I think that should be possible. E.g.:
Should this be handled on this ticket as well or should we open a separate ticket? (Personally, I'm for a separate ticket...) New commits:
|
comment:8
I think that is a separate bug that does need to be fixed. +1 to a separate ticket (but it might be needed as a dependency). |
comment:9
It is not that trivial to fix. The thing is that you can not multiply by |
comment:10
And still the free group has no base ring... you would better do
And as Travis mentionned in comment:6 it is not clear to me either if this is the way to go. |
comment:11
Replying to @videlec:
I'd propose to implement Regarding the |
comment:12
My two cents: factoring makes sense in rings (more precisely, in UFD's), so the factors and the unit should be in the corresponding ring. So, I think that the correct behaviour should be the opposite of what you propose. That is, we should have:
There might be rings (e.g. Laurent polynomials) with units that are not in the rings base ring. So the only possible consistent behaviour is to have the units in the ring (and not in its base ring). |
comment:13
Of course. But in some cases, the units live in a well identified subgring. And it makes sense to keep them here. For me it would still be acceptable if the parent of the unit only had a coercion to the main ring. But of course this should be done consistently for a given ring. Hence the creation of this ticket. I agree that it is much simpler to enforce the unit to belong in the same ring (or more generally multiplicative semigroup). |
Changed branch from u/behackl/polynomial/unit-parent-inconsistent to u/vdelecroix/20214 |
comment:39
Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually) |
comment:40
Tickets still needing working or clarification should be moved to the next release milestone at the soonest (please feel free to revert if you think the ticket is close to being resolved). |
comment:41
Ticket retargeted after milestone closed |
comment:42
Possibly related: #29076 |
comment:44
Moving tickets to milestone sage-9.2 based on a review of last modification date, branch status, and severity. |
comment:46
Setting new milestone based on a cursory review of ticket status, priority, and last modification date. |
comment:47
Setting a new milestone for this ticket based on a cursory review. |
This ticket fixes a lot of inconsistencies with factorization (
structure/factorization.py
). For example the unit was not forced to belong to the universe of the factorizationAlso fixes #20607
CC: @slel
Component: algebra
Keywords: factor, polynomial, Laurent polynomial
Author: Vincent Delecroix
Branch/Commit: u/vdelecroix/20214 @
4dde5ce
Reviewer: Miguel Marco
Issue created by migration from https://trac.sagemath.org/ticket/20214
The text was updated successfully, but these errors were encountered: