Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implementation of power series using PARI #15601

Closed
pjbruin opened this issue Dec 28, 2013 · 110 comments
Closed

Implementation of power series using PARI #15601

pjbruin opened this issue Dec 28, 2013 · 110 comments

Comments

@pjbruin
Copy link
Contributor

pjbruin commented Dec 28, 2013

Add a class PowerSeries_pari for power series based on PARI's t_SER type. At least if the base ring is a finite field, this is much faster than the existing implementation based on NTL polynomials.

Depends on #20062
Depends on #21755
Depends on #22210
Depends on #22212

Component: algebra

Keywords: pari series performance

Author: Peter Bruin

Branch/Commit: 2c9cb8a

Reviewer: Travis Scrimshaw

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

@pjbruin pjbruin added this to the sage-6.1 milestone Dec 28, 2013
@pjbruin
Copy link
Contributor Author

pjbruin commented Dec 28, 2013

Branch: u/pbruin/15601-power_series_pari

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 28, 2013

Commit: ad5bd7c

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 28, 2013

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

ad5bd7ctwo small fixes for PARI power series

@pjbruin
Copy link
Contributor Author

pjbruin commented Dec 28, 2013

comment:3

The current branch enables the new power series class if the base field is of type FiniteField_pari_ffelt, since it yields a noticeable improvement at least in that case.

Here is a more or less random example with power series over a PARI finite field.

Setup:

sage: F.<a> = FiniteField(29^10)
sage: v = [F.random_element() for i in range(100)]
sage: w = [F.random_element() for i in range(100)]
sage: R.<x> = PowerSeriesRing(F, implementation=....)
sage: f = R(v, 100); g = R(w, 100)

Timings (with -c -r 1, in milliseconds):

           pari     poly
R(v, 100)  0.252    23.6
f.list()   0.460    6.28
f + g      0.0328   0.204
f * g      6.24     6.64
~f         6.84     29.6
f^2        3.2      6.44

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 28, 2013

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

07f5508fix infinite recursion in PowerSeries_pari.change_ring()

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 28, 2013

Changed commit from ad5bd7c to 07f5508

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 30, 2013

Changed commit from 07f5508 to a709d12

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 30, 2013

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

a709d12speed improvements for PARI power series

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 13, 2014

Changed commit from a709d12 to 7fc9291

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 13, 2014

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

2b1e6dfMerge branch 'develop' into ticket/15599-pari_series
7fc9291Merge branch 'ticket/15599-pari_series' into ticket/15601

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2014

Changed commit from 7fc9291 to b796e06

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 17, 2014

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

b796e06Merge branch 'develop' into ticket/15601

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 25, 2014

Changed commit from b796e06 to f287c7f

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Mar 25, 2014

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

f287c7fMerge branch 'develop' into ticket/15601

@rwst
Copy link
Contributor

rwst commented Apr 22, 2014

comment:10

I'm confused. If I click on the branch here the file power_series_poly.pyx containing class PowerSeries_poly is shown as deleted. Is this intended?

@pjbruin
Copy link
Contributor Author

pjbruin commented Apr 22, 2014

comment:11

Replying to @rwst:

I'm confused. If I click on the branch here the file power_series_poly.pyx containing class PowerSeries_poly is shown as deleted. Is this intended?

No, this is a Trac bug. If you check out this branch you can see the real changes with git diff develop...ticket/15601 (substitute your local branch name).

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 25, 2014

Changed commit from f287c7f to b9130ca

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented May 25, 2014

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

b9130caMerge branch 'develop' into ticket/15601

@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 18, 2016

Changed commit from 968451d to 4c73d59

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Nov 18, 2016

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

af0d584Merge branch 'develop' into ticket/15601-power_series_pari
4c73d59Trac 15601: fix imports from sage.libs.pari (moved to sage.libs.cypari2)

@dimpase dimpase modified the milestones: sage-7.1, sage-7.5 Nov 18, 2016
@pjbruin
Copy link
Contributor Author

pjbruin commented Jan 23, 2017

Changed dependencies from #20062, #21755 to #20062, #21755, #22210, #22212

@pjbruin
Copy link
Contributor Author

pjbruin commented Jan 23, 2017

Changed commit from 4c73d59 to 251a93b

@pjbruin
Copy link
Contributor Author

pjbruin commented Jan 23, 2017

@pjbruin
Copy link
Contributor Author

pjbruin commented Jan 23, 2017

comment:65

Split off some parts as separate tickets, updated and squashed the branch.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 25, 2017

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

ccfa224Trac 15601: `__nonzero__` -> `__bool__` and xrange -> range (Python 3)

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 25, 2017

Changed commit from 251a93b to ccfa224

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 26, 2017

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

73e7364Trac 15601: gen has been renamed to Gen

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 26, 2017

Changed commit from ccfa224 to 73e7364

@tscrim
Copy link
Collaborator

tscrim commented Jan 28, 2017

Reviewer: Travis Scrimshaw

@tscrim
Copy link
Collaborator

tscrim commented Jan 28, 2017

@tscrim
Copy link
Collaborator

tscrim commented Jan 28, 2017

Changed commit from 73e7364 to 2c9cb8a

@tscrim
Copy link
Collaborator

tscrim commented Jan 28, 2017

comment:68

I made some minor revisions and python3 compatibility. I also removed the deprecation and the corresponding one in the PARI polynomials. If my changes are good, then you can set a positive review.


New commits:

08b08deMerge branch 'u/pbruin/15601-PowerSeries_pari' of git://trac.sagemath.org/sage into u/tscrim/pari_power_series-15601
2c9cb8aSome reviewer changes.

@tscrim tscrim modified the milestones: sage-7.5, sage-7.6 Jan 28, 2017
@pjbruin
Copy link
Contributor Author

pjbruin commented Jan 30, 2017

comment:69

Replying to @tscrim:

I made some minor revisions and python3 compatibility. I also removed the deprecation and the corresponding one in the PARI polynomials. If my changes are good, then you can set a positive review.

Thanks. I see that the deprecated function alias is almost 2 years old, so removing it is fine.

Just out of curiosity: did you have a particular reason for changing """ to r""" in some docstrings? As far as I know this is only needed if the docstring contains backslashes that should be left alone.

@tscrim
Copy link
Collaborator

tscrim commented Jan 30, 2017

comment:70

Replying to @pjbruin:

Just out of curiosity: did you have a particular reason for changing """ to r""" in some docstrings? As far as I know this is only needed if the docstring contains backslashes that should be left alone.

Either it was more of a habit (i.e., I didn't notice I did it) or I was being paranoid about things.

@vbraun
Copy link
Member

vbraun commented Feb 2, 2017

Changed branch from u/tscrim/pari_power_series-15601 to 2c9cb8a

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants