Ticket #8814 (closed enhancement: fixed)
Remove redundant checks for elliptic curve group structure
| Reported by: | robertwb | Owned by: | cremona |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.4.2 |
| Component: | elliptic curves | Keywords: | |
| Cc: | cremona | Work issues: | |
| Report Upstream: | N/A | Reviewers: | John Cremona |
| Authors: | Robert Bradshaw | Merged in: | sage-4.4.2.alpha0 |
| Dependencies: | Stopgaps: |
Description
These were doing nothing but slowing things down.
Attachments
Change History
comment:1 Changed 3 years ago by robertwb
- Status changed from new to needs_review
Before:
sage: F.<a>=GF(101^3,'a')
sage: timeit("EllipticCurve([2*a^2 + 48*a + 27, 89*a^2 + 76*a + 24]).abelian_group()")
5 loops, best of 3: 1.37 s per loop
sage: timeit("EllipticCurve(GF(1009), [2, 1]).abelian_group()")
25 loops, best of 3: 21.1 ms per loop
After:
sage: F.<a>=GF(101^3,'a')
sage: timeit("EllipticCurve([2*a^2 + 48*a + 27, 89*a^2 + 76*a + 24]).abelian_group()")
5 loops, best of 3: 1.28 s per loop
sage: timeit("EllipticCurve(GF(1009), [2, 1]).abelian_group()")
5 loops, best of 3: 15.2 ms per loop
Of course, this is just low hanging fruit (I've gotten 40x or more speedup in EC point arithmetic alone via Cython) but every little bit helps.
Note: See
TracTickets for help on using
tickets.

