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

Fast function field arithmetic #7585

Closed
robertwb opened this issue Dec 2, 2009 · 28 comments
Closed

Fast function field arithmetic #7585

robertwb opened this issue Dec 2, 2009 · 28 comments

Comments

@robertwb
Copy link
Contributor

robertwb commented Dec 2, 2009

Wrapping flint directly should be much faster than the current implementation of Frac(GF(p)['t'])

CC: @roed314

Component: algebra

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

@robertwb robertwb added this to the sage-4.6 milestone Dec 2, 2009
@robertwb
Copy link
Contributor Author

robertwb commented Dec 2, 2009

Attachment: 7585_FpT.patch.gz

@robertwb
Copy link
Contributor Author

robertwb commented Dec 2, 2009

comment:1

First pass, 4-40x faster.

@robertwb
Copy link
Contributor Author

robertwb commented Dec 2, 2009

comment:2

Still has a lot of work (better integration, doctests, testing...)

@robertwb
Copy link
Contributor Author

robertwb commented Dec 5, 2009

Attachment: 7585_FpT.2.patch.gz

@robertwb
Copy link
Contributor Author

robertwb commented Dec 8, 2009

Attachment: 7585_FpT-more.patch.gz

apply on top of previous

@roed314
Copy link
Contributor

roed314 commented Dec 11, 2009

comment:4

I've added some doctests. I'll try to split the work on FpT off from the rest of the things I've been doing on residue fields and post a patch tomorrow.

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_1_FpT-orig.patch.gz

Rebased against 4.3.rc0

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_2_FpT-more.patch.gz

Rebased against 4.3.rc0

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_3_FpT-update.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_4_sets_with_partial_maps.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_6_gcd.patch.gz

Attachment: 7585_7_ideal.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_8_parent_init.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_9_frac_and_coerce_updates.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_10_residue_field.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_11_tate_ff.patch.gz

Attachment: 7585_12_fixes.patch.gz

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

Attachment: 7585_ALL.patch.gz

This combines all of the above into one patch, for easy application. Based against 4.3.rc0

@roed314
Copy link
Contributor

roed314 commented Dec 15, 2009

comment:5

A bit later than I said, but here are some patches. I'm not sure if this is the right place to put all of them, but they're all related to GF(p)(t)... somehow (if only getting doctests that I broke fixed again)

I've subsumed Robert's patches into 7585_1_FpT-orig.patch and 7585_2_FpT-more.patch. The third patch is mostly focused on fraction_field_FpT.pyx. The rest are mostly consequences of the changes I made to residue_field.pyx, but they're pretty wide ranging.

7585_ALL.patch includes everything, but isn't viewable on trac since it's too big.

@aghitza
Copy link

aghitza commented Jan 1, 2010

comment:6

Robert and David, is this ready for review yet?

@aghitza aghitza changed the title Fast function field arithmatic Fast function field arithmetic Jan 1, 2010
@roed314
Copy link
Contributor

roed314 commented Jan 1, 2010

comment:7

I think Robert wanted to factor out some of the stuff I'd written and do some more work on the actual FpT stuff. Robert, what all do you want to happen to this ticket before review?

@robertwb
Copy link
Contributor Author

robertwb commented Jan 3, 2010

comment:8

Yes, that is correct. I've been busy out of town, but should get a chance to take a look at this sometime next week. Nothing stopping you from starting to read the code though :).

@robertwb
Copy link
Contributor Author

robertwb commented Jan 9, 2010

comment:9

I've split this up as follows:

#7880
7585_4_sets_with_partial_maps.patch

#7881
7585_6_gcd.patch

#7883
7585_7_ideal.patch

#7884
7585_5_finite_fields_to_new_coercion.patch
7585_8_parent_init.patch
7585_9_frac_and_coerce_updates.patch

#7885
7585_10_residue_field.patch
7585_11_tate_ff.patch
7585_12_fixes.patch

@robertwb
Copy link
Contributor Author

robertwb commented Jan 9, 2010

comment:10

I'm wary of the changes in 7585_8_parent_init.patch -- could you explain?

@roed314
Copy link
Contributor

roed314 commented Jan 12, 2010

comment:11

I was a bit wary of them too, and wanted to ask a second opinion.

The goal is to make switching to the new coercion system as easy as possible. Defining an _element_constructor_ method on a parent inheriting from parent_old.Parent currently has no effect, since the __init__ method on parent_old.Parent doesn't call the __init__ method on parent.Parent, nor does it set _element_constructor to be equal to element_constructor. Ideally, parent_old.Parent's __init__ would call parent.Parent.init, but that change caused a ton of failures. The change in parent_init.patch is more minor, just insuring that IF an _element_constructor_ method is defined, then self._element_constructor is appropriately set (and the coercion system thus believes that this parent uses the new coercion model)

@robertwb
Copy link
Contributor Author

robertwb commented Feb 5, 2010

comment:12

FYI, I looked at this a bit during Sage days, but there were a lot of changes to the fraction field code in the alphas, so some rebasing needs to be done (and I didn't have a stable build to rebase on at the time).

@robertwb
Copy link
Contributor Author

comment:13

I've split off the arithmatic into #9051.

@loefflerd
Copy link
Mannequin

loefflerd mannequin commented Sep 23, 2010

comment:14

David, Robert: what's the status of this ticket? Now that #9051 is in, and patches 4-12 have been split off into separate tickets, can we close this ticket as a duplicate? If this is true, please set it to "positive review" so the release manager can close it.

@loefflerd loefflerd mannequin added s: needs review and removed s: needs work labels Sep 23, 2010
@loefflerd loefflerd mannequin removed this from the sage-4.6 milestone Sep 23, 2010
@loefflerd loefflerd mannequin changed the title Fast function field arithmetic [duplicate??] Fast function field arithmetic Sep 23, 2010
@roed314
Copy link
Contributor

roed314 commented Sep 23, 2010

comment:15

All of the patches here have found other homes. I'm happy to make it duplicate.

@qed777 qed777 mannequin removed the s: positive review label Sep 28, 2010
@qed777 qed777 mannequin closed this as completed Sep 28, 2010
@qed777 qed777 mannequin added r: duplicate and removed p: major / 3 labels Sep 28, 2010
@sagetrac-mvngu sagetrac-mvngu mannequin changed the title [duplicate??] Fast function field arithmetic Fast function field arithmetic Sep 30, 2010
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

3 participants