Opened 13 years ago

Closed 9 years ago

# tate pairings on elliptic curves -- add to sage

Reported by: Owned by: was major sage-duplicate/invalid/wontfix elliptic curves cremona, mariah, aly.deines, jdemeyer David Roe N/A

### Description

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

http://maths.straylight.co.uk/archives/104
```

### comment:1 Changed 13 years ago by was

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

http://trac.sagemath.org/sage_trac/ticket/1236

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

William
```

### 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 <ondrej@certik.cz> 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),
t)')
'.1540327068e-2'

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?

Paul

### 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.