Closed pjbruin closed 4 years ago
Should we test for is R
or == R
, as I think we could have equal-but-not-identical rings in Sage:
sage: S5 = SymmetricGroup(5)
sage: S5p = SymmetricGroup(6).subgroup(['(1,2)','(1,2,3,4,5)'])
sage: S5 == S5p
True
sage: S5 is S5p
False
sage: G5 = S5.algebra(ZZ)
sage: G5p = S5p.algebra(ZZ)
sage: G5 is G5p
False
sage: G5 == G5p
False
Now I know this is not a demonstration, but it would be quite reasonable for this to someday return True
. I probably am on the side of actually is
because the ==
could have base rings that are subtly different, but I wanted to get your thoughts.
Replying to @tscrim:
Should we test for
is R
or== R
, as I think we could have equal-but-not-identical rings in Sage:
It is possible to implement classes for rings that have this behaviour, although I could not find them in the Sage library. I think it is safer not to choose one of these equal-but-not-identical rings as the base ring of the product. Working with modules over equal-but-not-identical rings sounds like something that will hardly ever occur in practice, and that will be unnecessarily slow and sensitive to bugs because of coercion between the different copies. In short, I propose sticking with is
.
Reviewer: Travis Scrimshaw
Sounds like we are in agreement. Thank you.
Changed branch from u/pbruin/29225-cartesian_product_base_ring to b766a52
In SageMath 9.1.beta4:
Component: commutative algebra
Keywords: module, base ring
Author: Peter Bruin
Branch/Commit:
b766a52
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/29225