Opened 13 years ago

Closed 9 years ago

#1236 closed enhancement (duplicate)

tate pairings on elliptic curves -- add to sage

Reported by: was Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: elliptic curves Keywords:
Cc: cremona, mariah, aly.deines, jdemeyer Merged in:
Authors: Reviewers: David Roe
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges


Hi, I needed some calculation period benchmark for pairings. I could
not find anything build in, but the following implementation solved my

Change History (10)

comment:1 Changed 13 years ago by was

Thanks!  I've made adding this to Sage proper ticket

Can you make some sort of GPL-compatible license statement about your code,
if you haven't already?


comment:2 Changed 13 years ago by was

William Stein to sage-support
show details 8:35 AM (1 minute ago)
On Nov 21, 2007 8:24 AM, Ondrej Certik <> wrote:
> > I think in the long-run Sage will have to completely implement its own solve
> > function, which is better than Maxima's.  Thoughts from Ondrej-sympy would be
> > appreciated here.
> Isn't solve supposed to return an analylic solution only? Is there an
> analytic solution to this equation? It doesn't seem so to me.

I don't like that meaning for solve, since it is misleading to me, and
is inconsistent. e.g., what about:

sage: solve(x^5 + x^3 + 1, x)
[0 == x^5 + x^3 + 1]

When there is no explicit solution, maxima usually returns something
to explicitly indicate this.

Also, as a data point, Maple returns an approximate solution if
it doesn't find an exact one:

sage: maple.eval('solve(38.40000000*exp(1)^(-1200*t)-9.600000000*exp(1)^(-300*t),

Likewise with Mathematica:

sage: mathematica.eval('Solve[0.004*(9600/E^(1200*t) - 2400/E^(300*t))
== 0, t]')

Solve::ifun: Inverse functions are being used by Solve, so some solutions may
    not be found; use Reduce for complete solution information.

        {{t -> 0.00154033}}

sage: mathematica('x^5 + x^3 + 1 == 0').Solve(x)

{{x -> Root[1 + #1^3 + #1^5 & , 1, 0]},
 {x -> Root[1 + #1^3 + #1^5 & , 2, 0]},
 {x -> Root[1 + #1^3 + #1^5 & , 3, 0]},
 {x -> Root[1 + #1^3 + #1^5 & , 4, 0]}, {x -> Root[1 + #1^3 + #1^5 & , 5, 0]}}

> My thoughts on these issues are still the same - slowly replacing
> Maxima with our own things in Python, that are easy to fix and easy to
> extend. But they need to do the same things as Maxima first (and be as
> fast as Maxima).

Shouldn't we be able to write something that is way faster than Maxima?
What do people even benchmark in the context of calculus?

comment:3 Changed 13 years ago by was

disregard above comment

comment:4 Changed 12 years ago by davidloeffler

  • Component changed from number theory to elliptic curves
  • Owner changed from was to davidloeffler

Assigned to new "elliptic curves" component.

comment:5 Changed 12 years ago by davidloeffler

  • Owner changed from davidloeffler to (none)

comment:6 Changed 10 years ago by zimmerma

  • Cc cremona mariah aly.deines jdemeyer added
  • Report Upstream set to N/A
  • Status changed from new to needs_info

should this ticket be closed now that #10912 is fixed?


comment:7 Changed 10 years ago by nestibal

  • Status changed from needs_info to needs_review

Weil, Tate and ate pairings are know implemented in sage. I think this ticket may be closed.

The reference

shows implementation using elliptic net. This is not in sage now but this is not needed for the Tate pairing.

comment:8 Changed 10 years ago by jdemeyer

  • Milestone changed from sage-4.7.2 to sage-duplicate/invalid/wontfix

comment:9 Changed 9 years ago by roed

  • Status changed from needs_review to positive_review

comment:10 Changed 9 years ago by jdemeyer

  • Resolution set to duplicate
  • Reviewers set to David Roe
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.