sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.44k stars 481 forks source link

Implementation of streams as backend for LazyLaurentSeries #31897

Closed tejasvicsr1 closed 3 years ago

tejasvicsr1 commented 3 years ago

We rewrite the input data for LazyLaurentSeries to use a Stream that has both a dense version similar to a lazy_list and a sparse version using a dict. We use various subclasses to build an evaluation tree for expressions involving lazy Laurent series elements.

We provide additional features not previously implemented for lazy Laurent series, such as functional definitions and composition. This provides enhancements for features such as exact arithmetic, equality, and performance. This is supplemented by an extensive suite of tests and examples.

This ticket is part of the meta ticket #31651. It provides the underlying data structures for lazy series, which later tickets include lazy, e.g., Taylor (usual power series) and Dirichlet series. This will eventually serve as a replacement for LazyPowerSeries (#32367; see also #15673).

CC: @mantepse @tscrim

Component: combinatorics

Keywords: LazyPowerSeries, FormalSeries, gsoc2021

Author: Tejasvi Chebrolu, Travis Scrimshaw

Branch/Commit: 1ff0cac

Reviewer: Travis Scrimshaw, Martin Rubey, Samuel Lelièvre

Issue created by migration from https://trac.sagemath.org/ticket/31897

tscrim commented 3 years ago

Changed branch from u/gh-tejasvicsr1/dense_lls-31897 to u/tscrim/dense_lls-31897

tejasvicsr1 commented 3 years ago

Changed branch from u/tscrim/dense_lls-31897 to u/gh-tejasvicsr1/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 4b7efa3 to 799e22c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

799e22cCS_eventually_geometric is now CS_exact
mantepse commented 3 years ago

Changed branch from u/gh-tejasvicsr1/dense_lls-31897 to u/mantepse/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

12e127cbackport code factorization from #32309
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 799e22c to 12e127c

tejasvicsr1 commented 3 years ago

Changed branch from u/mantepse/dense_lls-31897 to u/gh-tejasvicsr1/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

a8837cainital_values -> initial_coefficients.
3594c69Documentation done for lazy_laurent_series_ring.py
3b3e0cdCompleted the second iteration of the documentation.
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 12e127c to 3b3e0cd

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 3b3e0cd to ee9d593

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

ee9d593Fixed tiny bug in composition code
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from ee9d593 to 2be305d

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

2be305dSmall error fixed, typos fixed.
tscrim commented 3 years ago

Changed branch from u/gh-tejasvicsr1/dense_lls-31897 to u/tscrim/dense_lls-31897

tscrim commented 3 years ago

New commits:

0726785Merge branch 'u/gh-tejasvicsr1/dense_lls-31897' of git://trac.sagemath.org/sage into u/tscrim/dense_lls-31897
e31b75eFixing bug in CS_apply_coeff.
d75d44cRefactoring out the CS_exact polynomial creation and doc fixes.
e0328c8Changing `_an_element_`, printing O(z^k), and added global option.
180d223Improving documentation and partially resurrecting series().
tscrim commented 3 years ago

Changed commit from 2be305d to 180d223

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

3db49f1Improving documentation and partially resurrecting series().
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 180d223 to 3db49f1

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 3db49f1 to bbc1668

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

bbc1668Removing CS_recursion.
mantepse commented 3 years ago

Changed branch from u/tscrim/dense_lls-31897 to u/mantepse/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from bbc1668 to d4a7e1e

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

d4a7e1ebackport LazyCauchyProductSeries
tejasvicsr1 commented 3 years ago

Changed branch from u/mantepse/dense_lls-31897 to u/gh-tejasvicsr1/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from d4a7e1e to 4cbe05e

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

4cbe05eRemoved the special functions, and added missing documentation.
tscrim commented 3 years ago

Changed commit from 4cbe05e to b26750e

tscrim commented 3 years ago

Changed branch from u/gh-tejasvicsr1/dense_lls-31897 to u/tscrim/dense_lls-31897

tscrim commented 3 years ago

Reviewer: Travis Scrimshaw, Martin Rubey

tscrim commented 3 years ago

New commits:

b26750eOne additional round of changes and backport CS_l/rmul.
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from b26750e to f00a4c2

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

f00a4c2Backport `_mul_` for eventually constant.
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from f00a4c2 to b3c0267

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

b3c0267More backporting from lazy Taylor.
mantepse commented 3 years ago

Changed branch from u/tscrim/dense_lls-31897 to u/mantepse/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from b3c0267 to 9579532

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

9579532slight polishing of doc
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

67780c5fix categories
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 9579532 to 67780c5

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 67780c5 to c2eb347

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

c2eb347yet another dyslexia in _lmul_
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

e971982add a testcase for series reversion
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from c2eb347 to e971982

tscrim commented 3 years ago

Changed commit from e971982 to 29e139d

tscrim commented 3 years ago

New commits:

772d53fFixing small bug in UnitalAlgebras.ParentMethods._coerce_map_from_base_ring().
d976524Fixing bug with add/sub with 0. Better some_elements() and constant. Other misc tweaks.
7b72c93Allowing tuple as input for integer dense polynomials.
7715cb4Allowing tuple input for other polynomials.
ba46701Optimizing CS_exact.polynomial_part() and other cleanup.
29e139dRemove revert() so it can go on a followup ticket.
tscrim commented 3 years ago

Changed branch from u/mantepse/dense_lls-31897 to u/tscrim/dense_lls-31897

mantepse commented 3 years ago

Changed branch from u/tscrim/dense_lls-31897 to u/mantepse/dense_lls-31897

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Changed commit from 29e139d to 21b260c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 3 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

21b260cremove superfluous assignment