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
Morphism.is_identity() ignores base ring endomorphisms #15478
Comments
comment:4
Practically a one line fix. |
Author: Travis Scrimshaw |
Commit: |
comment:6
Aren't there many other cases where the current default implementation would fail? If that's doable, I would be more confortable with making it more robust or moving to some subclass where the morphism is guaranteed to be the identity if it maps the elements of |
comment:7
I don't think that's an issue since this class is about a morphism induced from a base ring morphism. Any derived class should implement its own additional checks that reflects its structure/properties (say on the generators). Do you have a more specific example? |
comment:8
Replying to @tscrim:
To prevent any misunderstanding: I agree that your change is safe, but I have the feeling that it only hides the problem instead of fixing it at the source.
Here is one, directly adapted from the docstring of
|
comment:9
Replying to @mezzarobba:
I agree that there are issues with morphisms (not) believing they are the identity because of the generic implementation in However I feel like that is out of the scope of this ticket. To me, this change is not really hiding the problem as this is essentially a wrapper class, but instead fixes one part of the problem, in that it wasn't passing data along as it should.
For that example, there isn't an induced base ring morphism, so IMO it's a separate issue from this ticket.
However, that is not to say it isn't a bug deserving its own ticket. As I mentioned above, the problem (for this example) is that we are not considering Q as field, but as a set. So I think the generic code should be moved to some |
comment:10
Replying to @tscrim:
Ok, I opened #17768 for that issue. |
Reviewer: Marc Mezzarobba |
comment:11
Thank you for doing the review. |
Changed branch from public/rings/morphism_base_ring_identity-15478 to |
Changed commit from |
Ticket #13214 introduced the
.is_identity()
method. The implementation only treats parents with finite number ofgens
, but it assumes that the base has no non-trivial automorphisms.This gives unexpected results:
CC: @xcaruso
Component: algebra
Keywords: morphisms rings
Author: Travis Scrimshaw
Branch:
835bbb1
Reviewer: Marc Mezzarobba
Issue created by migration from https://trac.sagemath.org/ticket/15478
The text was updated successfully, but these errors were encountered: