# Homomorphisms lifted from base ring in PowerSeriesRing do not preserve precision

Hi all,

Homomorphisms which are lifted from the base ring seem to be unaware that precision exists in power/Laurent series rings. For example:

sage: R.<x> = PowerSeriesRing(ZZ)
sage: f = Hom(ZZ, ZZ)()
sage: Rf = Hom(R, R)(f); Rf
Ring endomorphism of Power Series Ring in x over Integer Ring
Defn: Induced from base ring by
Ring endomorphism of Integer Ring
Defn: 1 |--> 1
sage: Rf(1 + x + O(x^2))
1 + x


Can someone confirm that the expected output should be 1 + x + O(x^2), and that this is a bug?

Thanks,

Henry

edit retag close merge delete

Sort by » oldest newest most voted

Indeed, this is broken. Note that it works fine with the identity morphism

sage: fR = Hom(R, R).one()
sage: fR
Identity endomorphism of Power Series Ring in x over Integer Ring
sage: fR(1 + x + O(x^2))
1 + x + O(x^2)


But not for the lifted identity

sage: fZZ = Hom(ZZ, ZZ).one()
sage: fR2 = Hom(R, R)(fZZ)
sage: fR2(1 + x + O(x^2))
1 + x

more