1 | initial version |

The appropriate object would be a "lazy power series".

One can define a `LazyPowerSeriesRing`

in Sage,
but it does not seem very capable so far, and in particular
cannot compute $1 / (1 - x)$.

From the list of tickets whose summary contains "lazy", the most relevant are:

- #27347: Lazy Laurent series
- #15673: major improvements to lazy power series
- #15249: In lazy power series rings, 0 + a and 0 - a return 0
- #15248: Calling a lazy power series ring twice summons demons from hell
- #14685: error in the computing of the approximate order in LazyPowerSeries
- #13433: Lazy power series: fix bad handling of base ring and categorification
- #10084: Lazy power series: fix bad handling of base ring and categorification
- #6800: formal/lazy/infinite powerseries

Many seem stalled but #27347 seems promising.

2 | No.2 Revision |

The appropriate object would be a "lazy power series".

One can define a `LazyPowerSeriesRing`

in Sage,
but it does not seem very capable so far, and in particular
cannot compute $1 / (1 - x)$.

From the list of tickets whose summary contains "lazy", the most relevant are:

- #27347: Lazy Laurent series
- #15673: major improvements to lazy power series
- #15249: In lazy power series rings, 0 + a and 0 - a return 0
- #15248: Calling a lazy power series ring twice summons demons from hell
- #14685: error in the computing of the approximate order in LazyPowerSeries
- #13433: Lazy power series: fix bad handling of base ring and categorification
- #10084: Lazy power series: fix bad handling of base ring and categorification
- #6800: formal/lazy/infinite powerseries

Many seem stalled but #27347 seems promising.

**Edit**: With #27347 (now closed and hopefully making it into Sage 8.8.beta3), one can now do:

```
sage: from sage.rings.lazy_laurent_series_ring import LazyLaurentSeriesRing
sage: L = LazyLaurentSeriesRing(ZZ, 'x')
sage: x = L.gen()
sage: f = ~(1 - x)
sage: f
1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + ...
sage: f[800]
1
```

3 | No.3 Revision |

The appropriate object would be a "lazy power series".

One can define a `LazyPowerSeriesRing`

in Sage,
but it does not seem very capable so far, and in particular
cannot compute $1 / (1 - x)$.

From the list of tickets whose summary contains "lazy", the most relevant are:

- #27347: Lazy Laurent series
- #15673: major improvements to lazy power series
- #15249: In lazy power series rings, 0 + a and 0 - a return 0
- #15248: Calling a lazy power series ring twice summons demons from hell
- #14685: error in the computing of the approximate order in LazyPowerSeries
- #13433: Lazy power series: fix bad handling of base ring and categorification
- #10084: Lazy power series: fix bad handling of base ring and categorification
- #6800: formal/lazy/infinite powerseries

Many seem stalled but #27347 seems promising.

**Edit**: With #27347 (now closed and hopefully making it into Sage 8.8.beta3), one can now do:

```
sage: from sage.rings.lazy_laurent_series_ring import LazyLaurentSeriesRing
sage: L = LazyLaurentSeriesRing(ZZ, 'x')
sage: x = L.gen()
sage: f = ~(1 - x)
sage: f
1 + x + x^2 + x^3 + x^4 + x^5 + x^6 + ...
sage: f[800]
1
```

A related interesting package is `ore_algebra`

, see

Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.