1 | initial version |
Ok it looks like this is the current (March 2021) behavior.
In the source code for Ideal_nc
, which is the type of I
, there is no implementation of a .reduce()
method. Since Ideal_nc
is a subclass of Ideal_generic
it defaults to the Ideal_generic.reduce()
method. But when Ideal_generic.reduce()
is called it defaults to the identity:
def reduce(self, f):
r"""
Return the reduction of the element of `f` modulo ``self``.
This is an element of `R` that is equivalent modulo `I` to `f` where
`I` is ``self``.
EXAMPLES::
sage: ZZ.ideal(5).reduce(17)
2
sage: parent(ZZ.ideal(5).reduce(17))
Integer Ring
"""
return f # default
So this is asking if xbar
and ybar
are literally the same, which they are not.
Thanks to Travis Scrimshaw for pointing this out to me in private communication.
2 | No.2 Revision |
Ok it looks like this is the current (March 2021) (Sage 9.3beta8) behavior.
In the source code for Ideal_nc
, which is the type of I
, there is no implementation of a .reduce()
method. Since Ideal_nc
is a subclass of Ideal_generic
it defaults to the Ideal_generic.reduce()
method. But when Ideal_generic.reduce()
is called it defaults to the identity:
def reduce(self, f):
r"""
Return the reduction of the element of `f` modulo ``self``.
This is an element of `R` that is equivalent modulo `I` to `f` where
`I` is ``self``.
EXAMPLES::
sage: ZZ.ideal(5).reduce(17)
2
sage: parent(ZZ.ideal(5).reduce(17))
Integer Ring
"""
return f # default
So this is asking if xbar
and ybar
are literally the same, which they are not.
Thanks to Travis Scrimshaw for pointing this out to me in private communication.