#10912: add order setters and Tate and ate pairings
-------------------------------+--------------------------------------------
Reporter: mariah | Owner: cremona
Type: enhancement | Status: needs_work
Priority: major | Milestone: sage-4.7
Component: elliptic curves | Keywords:
Author: Mariah Lenox | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-------------------------------+--------------------------------------------
Changes (by aly.deines):
* status: new => needs_work
Comment:
When I tried timing the first example in the tate_pairing, I got the
following error:
{{{
p = 103; A = 1; B = 18; E = EllipticCurve(GF(p), [A, B])
P = E(33, 91); n = P.order()
k = GF(n)(p).multiplicative_order()
timeit('P.tate_pairing(P, n, k)')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_3.py", line 10, in <module>
exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8
-*-\\n" +
_support_.preparse_worksheet_cell(base64.b64decode("cCA9IDEwMzsgQSA9IDE7IEIgPSAxODsgRSA9IEVsbGlwdGljQ3VydmUoR0YocCksIFtBLCBCXSkKUCA9IEUoMzMsIDkxKTsgbiA9IFAub3JkZXIoKQprID0gR0YobikocCkubXVsdGlwbGljYXRpdmVfb3JkZXIoKQp0aW1laXQoJ1AudGF0ZV9wYWlyaW5nKFAsIG4sIGspJyk="),globals())+"\\n");
execfile(os.path.abspath("___code___.py"))
File "", line 1, in <module>
File
"/private/var/folders/l5/l55HHC6uExG+F0kEqsPAgU+++TM/-Tmp-/tmp45b1A1/___code___.py",
line 6, in <module>
exec compile(u"timeit('P.tate_pairing(P, n, k)')" + '\n', '',
'single')
File "", line 1, in <module>
File "sage_timeit_class.pyx", line 82, in
sage.misc.sage_timeit_class.SageTimeit.__call__
(sage/misc/sage_timeit_class.c:744)
File "sage_timeit_class.pyx", line 59, in
sage.misc.sage_timeit_class.SageTimeit.eval
(sage/misc/sage_timeit_class.c:605)
File "/Users/aly/Desktop/sage-4.7.alpha2/local/lib/python2.6/site-
packages/sage/misc/sage_timeit.py", line 181, in sage_timeit
if timer.timeit(number) >= 0.2:
File "/Users/aly/Desktop/sage-4.7.alpha2/local/lib/python/timeit.py",
line 193, in timeit
timing = self.inner(it, self.timer)
File "<magic-timeit>", line 6, in inner
File "/Users/aly/Desktop/sage-4.7.alpha2/local/lib/python2.6/site-
packages/sage/schemes/elliptic_curves/ell_point.py", line 1751, in
tate_pairing
ret = self.tate_pairing(Q + R, n, k)/self.tate_pairing(R, n, k)
File "/Users/aly/Desktop/sage-4.7.alpha2/local/lib/python2.6/site-
packages/sage/schemes/elliptic_curves/ell_point.py", line 1746, in
tate_pairing
ret = self._miller_(Q, n)
File "/Users/aly/Desktop/sage-4.7.alpha2/local/lib/python2.6/site-
packages/sage/schemes/elliptic_curves/ell_point.py", line 1446, in
_miller_
raise ValueError, "Q must be nonzero."
ValueError: Q must be nonzero.
}}}
Whereas without the timing everthing is fine:
{{{
p = 103; A = 1; B = 18; E = EllipticCurve(GF(p), [A, B])
P = E(33, 91); n = P.order()
k = GF(n)(p).multiplicative_order()
P.tate_pairing(P, n, k)
1
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10912#comment:3>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.