Ticket #10272: trac_10272_laurent_series_truncate.patch

File trac_10272_laurent_series_truncate.patch, 2.0 KB (added by tkluck, 10 years ago)
  • sage/rings/laurent_series_ring_element.pyx

    # HG changeset patch
    # User Timo Kluck <tkluck@infty.nl>
    # Date 1300377533 -3600
    # Node ID ed12a27d452047988f18aa9a1f71272105efce92
    # Parent  361a4ad7d52c69b64ae2e658ffd0820af0d87e93
    Trac 10272: fix LaurentSeries.truncate()
    
    diff -r 361a4ad7d52c -r ed12a27d4520 sage/rings/laurent_series_ring_element.pyx
    a b  
    726726        r"""
    727727        Returns the laurent series of degree ` < n` which is
    728728        equivalent to self modulo `x^n`.
     729       
     730        EXAMPLES::
     731
     732            sage: A.<x> = LaurentSeriesRing(ZZ)
     733            sage: f = 1/(1-x)
     734            sage: f
     735            1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + x^7 + x^8 + x^9 + x^10 + x^11 + x^12 + x^13 + x^14 + x^15 + x^16 + x^17 + x^18 + x^19 + O(x^20)
     736            sage: f.truncate(10)
     737            1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + x^7 + x^8 + x^9
    729738        """
    730739        if n <= self.__n:
    731740            return LaurentSeries(self._parent, 0)
    732741        else:
    733             return LaurentSeries(self._parent, self.__u.truncate_powerseries(n - self.__n), self.__n)
     742            return LaurentSeries(self._parent, self.__u.truncate(n - self.__n), self.__n)
     743   
     744    def truncate_laurentseries(self, long n):
     745        r"""
     746        Replaces any terms of degree >= n by big oh
     747       
     748        EXAMPLES::
     749
     750            sage: A.<x> = LaurentSeriesRing(ZZ)
     751            sage: f = 1/(1-x)
     752            sage: f
     753            1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + x^7 + x^8 + x^9 + x^10 + x^11 + x^12 + x^13 + x^14 + x^15 + x^16 + x^17 + x^18 + x^19 + O(x^20)
     754            sage: f.truncate_laurentseries(10)
     755            1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + x^7 + x^8 + x^9 + O(x^10)
     756
     757        """
     758        if n <= self.__n:
     759            return LaurentSeries(self._parent, 0)
     760        else:            return LaurentSeries(self._parent, self.__u.truncate_powerseries(n - self.__n), self.__n)
    734761           
    735762    def truncate_neg(self, long n):
    736763        r"""