From f13159c2eeb2d435025a5efa3215c976782ef4cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 18:15:32 +0100 Subject: [PATCH 01/13] Add method `map_coefficients` to Laurent series --- .../rings/laurent_series_ring_element.pyi | 4 ++ .../rings/laurent_series_ring_element.pyx | 56 +++++++++++++++++++ 2 files changed, 60 insertions(+) diff --git a/src/sage/rings/laurent_series_ring_element.pyi b/src/sage/rings/laurent_series_ring_element.pyi index 990f9399012..796476fbbb3 100644 --- a/src/sage/rings/laurent_series_ring_element.pyi +++ b/src/sage/rings/laurent_series_ring_element.pyi @@ -180,5 +180,9 @@ class LaurentSeriesRingElement: def __pari__(self) -> Any: ... + def map_coefficients(self, f: Any, new_base_ring: Any = None) -> 'LaurentSeriesRingElement': + ... + + def laurent_series_ring_element(parent: Any, f: Any, n: int = 0) -> LaurentSeriesRingElement: return LaurentSeriesRingElement(parent, f, n) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 22b52b002fa..e31f5b75a31 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1981,3 +1981,59 @@ cdef class LaurentSeries(AlgebraElement): f = self.__u x = f.parent().gen() return f.__pari__() * x.__pari__()**self.__n + + def map_coefficients(self, f, new_base_ring=None): + """ + Return the series obtained by applying ``f`` to the nonzero + coefficients of ``self``. + + If ``f`` is a :class:`sage.categories.map.Map`, then the resulting + series will be defined over the codomain of ``f``. Otherwise, the + resulting series will be over the same ring as ``self``. Set + ``new_base_ring`` to override this behaviour. + + INPUT: + + - ``f`` -- a callable that will be applied to the coefficients of + ``self`` + + - ``new_base_ring`` -- commutative ring (default: ``None``) if given, + the resulting series will be defined over this ring + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(SR) + sage: f = (1+I)*x^2 + 3*x - I + x^(-2) + sage: f.map_coefficients(lambda z: z.conjugate()) + x^-2 + I + 3*x + (-I + 1)*x^2 + sage: R. = LaurentSeriesRing(ZZ) + sage: f = x^2 - 2*x + 1 + 2 * x^(-1) + sage: f.map_coefficients(lambda t: t - 1) + x^-1 - 3*x + + Examples with a new base ring:: + + sage: R. = LaurentSeriesRing(ZZ) + sage: k = GF(5) + sage: residue = lambda x: k(x) + sage: f = 4*x^2 + x + 8 + 5*x^(-1) - 1*x^(-2) + sage: g = f.map_coefficients(residue); g + 4*x^-2 + 3 + x + 4*x^2 + sage: g.parent() + Laurent Series Ring in x over Integer Ring + sage: g = f.map_coefficients(residue, new_base_ring=k); g + 4*x^-2 + 3 + x + 4*x^2 + sage: g.parent() + Laurent Series Ring in x over Finite Field of size 5 + sage: residue = k.coerce_map_from(ZZ) + sage: g = f.map_coefficients(residue); g + 4*x^-2 + 3 + x + 4*x^2 + sage: g.parent() + Laurent Series Ring in x over Finite Field of size 5 + """ + unit = self.__u + res = unit.map_coefficients(f, new_base_ring) + if res.base_ring() != unit.base_ring(): + return self.parent().change_ring(res.base_ring())(res, self.__n) + else: + return self.parent()(res, self.__n) From 0339c14dd19d8d66f8600411f869e2631f30822c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 18:17:51 +0100 Subject: [PATCH 02/13] Remove deprecated `is_LaurentSeries` function --- src/sage/rings/laurent_series_ring_element.pyx | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index e31f5b75a31..ae9eb77018b 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -78,14 +78,6 @@ from sage.structure.richcmp cimport richcmp_not_equal, rich_to_bool from sage.misc.derivative import multi_derivative -def is_LaurentSeries(x): - from sage.misc.superseded import deprecation_cython - deprecation_cython(38266, - "The function is_LaurentSeries is deprecated; " - "use 'isinstance(..., LaurentSeries)' instead.") - return isinstance(x, LaurentSeries) - - cdef class LaurentSeries(AlgebraElement): r""" A Laurent Series. From 80d4734fde2d932b22af39c484f53a95b1cb1ea1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 18:19:53 +0100 Subject: [PATCH 03/13] Add missing docstrings for Laurent series --- .../rings/laurent_series_ring_element.pyx | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index ae9eb77018b..e460e9f096a 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -167,6 +167,18 @@ cdef class LaurentSeries(AlgebraElement): self.__u = parent._power_series_ring(f >> val) def __reduce__(self): + """ + For pickling. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(ZZ) + sage: p = R([1,2,3]) + sage: loads(dumps(p)) == p + True + sage: type(p) + + """ return self._parent, (self.__u, self.__n) def change_ring(self, R): @@ -496,6 +508,16 @@ cdef class LaurentSeries(AlgebraElement): return s[1:] def __hash__(self): + """ + Return the hash of ``self``. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(QQ) + sage: f = -5/t^(10) + t + t^2 - 10/3*t^3 + sage: hash(f) # random + -3700306575898560102 + """ return hash(self.__u) ^ self.__n def __getitem__(self, i): @@ -925,9 +947,29 @@ cdef class LaurentSeries(AlgebraElement): self.__n + right.__n) cpdef _rmul_(self, Element c): + """ + Multiply ``self`` on the right by a scalar ``c``. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(GF(7)) + sage: f = t^(-1) + 3*t^4 + O(t^11) + sage: f * GF(7)(3) + 3*t^-1 + 2*t^4 + O(t^11) + """ return type(self)(self._parent, self.__u._rmul_(c), self.__n) cpdef _lmul_(self, Element c): + """ + Multiply ``self`` on the left by a scalar ``c``. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(GF(11)) + sage: f = t^(-2) + 1 + 3*t^4 + O(t^120) + sage: 2 * f + 2*t^-2 + 2 + 6*t^4 + O(t^120) + """ return type(self)(self._parent, self.__u._lmul_(c), self.__n) def __pow__(_self, r, dummy): @@ -1013,9 +1055,31 @@ cdef class LaurentSeries(AlgebraElement): return type(self)(self._parent, self.__u, self.__n + k) def __lshift__(LaurentSeries self, k): + """ + Shift ``self`` to the left by ``k``, i.e. multiply by `x^k`. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(QQ) + sage: f = t^(-6) + 1 + t + t^4 + sage: f << 1 + t^-5 + t + t^2 + t^5 + """ return type(self)(self._parent, self.__u, self.__n + k) def __rshift__(LaurentSeries self, k): + """ + Shift ``self`` to the right by ``k``, i.e. multiply by `x^{-k}`. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(GF(2)) + sage: f = t + t^4 + O(t^7) + sage: f >> 1 + 1 + t^3 + O(t^6) + sage: f >> 10 + t^-9 + t^-6 + O(t^-3) + """ return type(self)(self._parent, self.__u, self.__n - k) def truncate(self, long n): @@ -1404,6 +1468,17 @@ cdef class LaurentSeries(AlgebraElement): return self.prec() - self.valuation() def __copy__(self): + """ + Return a copy of ``self``. + + EXAMPLES:: + + sage: R. = LaurentSeriesRing(ZZ) + sage: f = R.random_element() + sage: g = copy(f) + sage: g == f + True + """ return type(self)(self._parent, self.__u.__copy__(), self.__n) def reverse(self, precision=None): From d34931181cb2853f9b0ef64046c662f99f39abfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 18:27:05 +0100 Subject: [PATCH 04/13] Add missing method descriptions to docstrings of Laurent series --- src/sage/rings/laurent_series_ring_element.pyx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index e460e9f096a..69979c3cb40 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -226,6 +226,8 @@ cdef class LaurentSeries(AlgebraElement): def is_zero(self): """ + Return ``True`` is ``self`` is zero. + EXAMPLES:: sage: x = Frac(QQ[['x']]).0 @@ -590,6 +592,12 @@ cdef class LaurentSeries(AlgebraElement): def list(self): """ + Return the ``list`` method applied to `u`. + + .. SEEALSO:: + + :meth:`sage.rings.power_series_ring_element.PowerSeries.list` + EXAMPLES:: sage: R. = LaurentSeriesRing(QQ) @@ -1349,6 +1357,8 @@ cdef class LaurentSeries(AlgebraElement): def valuation_zero_part(self): """ + Return the "unit part" of ``self``, that is, `u`. + EXAMPLES:: sage: x = Frac(QQ[['x']]).0 @@ -1365,6 +1375,8 @@ cdef class LaurentSeries(AlgebraElement): def valuation(self): """ + Return the valuation of ``self``, that is, `n`. + EXAMPLES:: sage: R. = LaurentSeriesRing(QQ) @@ -1398,6 +1410,8 @@ cdef class LaurentSeries(AlgebraElement): def variable(self): """ + Return the variable name of the parent of ``self``. + EXAMPLES:: sage: x = Frac(QQ[['x']]).0 From 5c4b461d3c15209dafde327641b9a94389b1a4d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 18:27:49 +0100 Subject: [PATCH 05/13] Slight improvement of docstrings of Laurent series --- .../rings/laurent_series_ring_element.pyx | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 69979c3cb40..1e47d8488b5 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -388,9 +388,9 @@ cdef class LaurentSeries(AlgebraElement): sage: R. = LaurentSeriesRing(QQ) sage: f = -1/x + 1 + 2*x^2 + 5*x^5 - sage: f.V(2) + sage: f.verschiebung(2) -x^-2 + 1 + 2*x^4 + 5*x^10 - sage: f.V(-1) + sage: f.verschiebung(-1) 5*x^-5 + 2*x^-2 + 1 - x sage: h = f.add_bigoh(7) sage: h.V(2) @@ -1092,7 +1092,7 @@ cdef class LaurentSeries(AlgebraElement): def truncate(self, long n): r""" - Return the Laurent series of degree ` < n` which is + Return the Laurent series of degree `< n` which is equivalent to ``self`` modulo `x^n`. EXAMPLES:: @@ -1112,7 +1112,7 @@ cdef class LaurentSeries(AlgebraElement): def truncate_laurentseries(self, long n): r""" - Replace any terms of degree >= n by big oh. + Replace any terms of degree `\geq n` by big oh. EXAMPLES:: @@ -1423,10 +1423,10 @@ cdef class LaurentSeries(AlgebraElement): def prec(self): """ - This function returns the n so that the Laurent series is of the + This function returns the `n` so that the Laurent series is of the form (stuff) + `O(t^n)`. It doesn't matter how many - negative powers appear in the expansion. In particular, prec could - be negative. + negative powers appear in the expansion. In particular, the output + could be negative. EXAMPLES:: @@ -1497,15 +1497,16 @@ cdef class LaurentSeries(AlgebraElement): def reverse(self, precision=None): """ - Return the reverse of f, i.e., the series g such that g(f(x)) = x. - Given an optional argument ``precision``, return the reverse with given - precision (note that the reverse can have precision at most - ``f.prec()``). If ``f`` has infinite precision, and the argument - ``precision`` is not given, then the precision of the reverse defaults - to the default precision of ``f.parent()``. + Return the reverse of ``self``, i.e., the series ``g`` such that + ``g(self(x)) = x``. Given an optional argument ``precision``, return + the reverse with given precision (note that the reverse can have + precision at most ``self.prec()``). If ``self`` has infinite + precision, and the argument ``precision`` is not given, then the + precision of the reverse defaults to the default precision of + ``self.parent()``. Note that this is only possible if the valuation of ``self`` is exactly - 1. + `1`. The implementation depends on the underlying power series element implementing a reverse method. @@ -1955,7 +1956,7 @@ cdef class LaurentSeries(AlgebraElement): def inverse(self): """ - Return the inverse of self, i.e., self^(-1). + Return the inverse of ``self``, i.e., ``self``^(-1). EXAMPLES:: From 8c3d949062a0d4523b67e28bc3a29c8826667429 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 18:28:01 +0100 Subject: [PATCH 06/13] Linting --- src/sage/rings/laurent_series_ring_element.pyi | 1 + src/sage/rings/laurent_series_ring_element.pyx | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyi b/src/sage/rings/laurent_series_ring_element.pyi index 796476fbbb3..1f302bbca50 100644 --- a/src/sage/rings/laurent_series_ring_element.pyi +++ b/src/sage/rings/laurent_series_ring_element.pyi @@ -1,5 +1,6 @@ from typing import Any, Optional, Union + class LaurentSeriesRingElement: def __init__(self, parent: Any, f: Any, n: int = 0) -> None: ... diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 1e47d8488b5..0fc2fab0821 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1669,7 +1669,7 @@ cdef class LaurentSeries(AlgebraElement): # Case 3: The unit part must be a square unit_part = (self >> v).power_series() - + # We use a try-except block to handle inconsistent API in base rings try: # Check is_square without keyword args first (safest) @@ -1689,7 +1689,7 @@ cdef class LaurentSeries(AlgebraElement): sqrt_unit = unit_part.sqrt() except (ValueError, ArithmeticError): return False, None - + # Reconstruct: t^(v/2) * sqrt(unit) return True, self.parent()(sqrt_unit) << (v // 2) else: From 7597911ab512c8274a18e818eb984cdeefaca590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Thu, 5 Feb 2026 22:15:16 +0100 Subject: [PATCH 07/13] Minor fix in docstrings --- src/sage/rings/laurent_series_ring_element.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 0fc2fab0821..a1c09f1a2a4 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1956,7 +1956,7 @@ cdef class LaurentSeries(AlgebraElement): def inverse(self): """ - Return the inverse of ``self``, i.e., ``self``^(-1). + Return the inverse of ``self``, i.e., ``self`` ^(-1). EXAMPLES:: From 3b8b765851644a6537a32f9da0a4dc32a1de26ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Fri, 6 Feb 2026 08:52:33 +0100 Subject: [PATCH 08/13] Revert change for the display of 1 --- src/sage/rings/laurent_series_ring_element.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index a1c09f1a2a4..5098d3076f2 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1506,7 +1506,7 @@ cdef class LaurentSeries(AlgebraElement): ``self.parent()``. Note that this is only possible if the valuation of ``self`` is exactly - `1`. + 1. The implementation depends on the underlying power series element implementing a reverse method. From fa1dc7c54bb9783dd5fcf3996ab87b0084b5a4f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Fri, 6 Feb 2026 08:58:27 +0100 Subject: [PATCH 09/13] Apply suggestions from code review Co-authored-by: Travis Scrimshaw --- src/sage/rings/laurent_series_ring_element.pyx | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 5098d3076f2..b69bb4a06de 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1956,7 +1956,7 @@ cdef class LaurentSeries(AlgebraElement): def inverse(self): """ - Return the inverse of ``self``, i.e., ``self`` ^(-1). + Return the inverse of ``self``, i.e., ``self^(-1)``. EXAMPLES:: @@ -2076,10 +2076,9 @@ cdef class LaurentSeries(AlgebraElement): INPUT: - - ``f`` -- a callable that will be applied to the coefficients of - ``self`` - - - ``new_base_ring`` -- commutative ring (default: ``None``) if given, + - ``f`` -- a callable that will be applied to the coefficients + of``self`` + - ``new_base_ring`` -- commutative ring (optional) if given, the resulting series will be defined over this ring EXAMPLES:: @@ -2117,5 +2116,4 @@ cdef class LaurentSeries(AlgebraElement): res = unit.map_coefficients(f, new_base_ring) if res.base_ring() != unit.base_ring(): return self.parent().change_ring(res.base_ring())(res, self.__n) - else: - return self.parent()(res, self.__n) + return self.parent()(res, self.__n) From 01a3c1d6ed203ecbac04812a017645e537e25f0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Mon, 9 Feb 2026 06:42:21 +0100 Subject: [PATCH 10/13] Improve documentation of Laurent series Co-authored-by: Travis Scrimshaw --- src/sage/rings/laurent_series_ring_element.pyx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index b69bb4a06de..241eaf83fc6 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -592,7 +592,7 @@ cdef class LaurentSeries(AlgebraElement): def list(self): """ - Return the ``list`` method applied to `u`. + Return ``self`` as a ``list``. .. SEEALSO:: @@ -1357,7 +1357,13 @@ cdef class LaurentSeries(AlgebraElement): def valuation_zero_part(self): """ - Return the "unit part" of ``self``, that is, `u`. + Return the part of ``self`` that has valuation 0. + + We can write every nonzero Laurent series uniquely as + `l(x) = x^v u(x)`, where `u(x)` is a power series with a nonzero + constant (i.e., `u(0) \neq 0`). Thus `u(x)` has valuation zero + and could be called the "unit part" as it is invertible + (assuming the leading coefficient is a unit). EXAMPLES:: @@ -1375,7 +1381,9 @@ cdef class LaurentSeries(AlgebraElement): def valuation(self): """ - Return the valuation of ``self``, that is, `n`. + Return the valuation of ``self``, that is, the minimal `n` + such that the coefficient of `x^n` is nonzero (by convention + this is `\infty` if ``self`` is zero). EXAMPLES:: From 91db92147990c16952dfc0dacd4d03b8c4de2a0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Mon, 9 Feb 2026 15:29:52 +0100 Subject: [PATCH 11/13] Docstring is now a raw string --- src/sage/rings/laurent_series_ring_element.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 241eaf83fc6..27610eadb50 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1356,7 +1356,7 @@ cdef class LaurentSeries(AlgebraElement): return rich_to_bool(op, 0) def valuation_zero_part(self): - """ + r""" Return the part of ``self`` that has valuation 0. We can write every nonzero Laurent series uniquely as From 9b0306269d0f1ff5fdfb37846f1794f48ea32bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Tue, 10 Feb 2026 07:28:44 +0100 Subject: [PATCH 12/13] Raw docstring just in case --- src/sage/rings/laurent_series_ring_element.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 27610eadb50..29eb9a20430 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -1380,7 +1380,7 @@ cdef class LaurentSeries(AlgebraElement): return self.__u def valuation(self): - """ + r""" Return the valuation of ``self``, that is, the minimal `n` such that the coefficient of `x^n` is nonzero (by convention this is `\infty` if ``self`` is zero). From 85383bd83bf966cc0b1c1929431b76b89f159795 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rub=C3=A9n=20Mu=C3=B1oz--Bertrand?= Date: Tue, 10 Feb 2026 07:31:59 +0100 Subject: [PATCH 13/13] Update src/sage/rings/laurent_series_ring_element.pyx Co-authored-by: Travis Scrimshaw --- src/sage/rings/laurent_series_ring_element.pyx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sage/rings/laurent_series_ring_element.pyx b/src/sage/rings/laurent_series_ring_element.pyx index 29eb9a20430..0c5daeff6f2 100644 --- a/src/sage/rings/laurent_series_ring_element.pyx +++ b/src/sage/rings/laurent_series_ring_element.pyx @@ -2073,7 +2073,7 @@ cdef class LaurentSeries(AlgebraElement): return f.__pari__() * x.__pari__()**self.__n def map_coefficients(self, f, new_base_ring=None): - """ + r""" Return the series obtained by applying ``f`` to the nonzero coefficients of ``self``.