Ticket #8814 (closed enhancement: fixed)

Opened 3 years ago

Last modified 3 years ago

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

8814-ec-group-speedup.patch Download (3.4 KB) - added by robertwb 3 years ago.

Change History

Changed 3 years ago by robertwb

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.

comment:2 Changed 3 years ago by cremona

Looks good, will test properly shortly...

comment:3 Changed 3 years ago by cremona

  • Status changed from needs_review to positive_review
  • Reviewers set to John Cremona
  • Authors set to Robert Bradshaw

Applies to 4.4 and tests pass -- positive review!

comment:4 Changed 3 years ago by mvngu

  • Status changed from positive_review to closed
  • Resolution set to fixed
  • Merged in set to sage-4.4.2.alpha0
Note: See TracTickets for help on using tickets.