#9646: Incorrect calculation of elliptic curve formal group law
-------------------------------+--------------------------------------------
Reporter: hlaw | Owner: cremona
Type: defect | Status: new
Priority: major | Milestone: sage-5.0
Component: elliptic curves | Keywords: elliptic curve formal group law
Author: hlaw | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
-------------------------------+--------------------------------------------
Comment(by hlaw):
The bug appears to be related to the precision in a regular way:
{{{
sage: for prec in srange(4, 7):
....: E = EllipticCurve(list(P.gens()))
....: F = E.formal_group()
....: fg = F.group_law(prec)
....: print prec, fg(0, fg.parent().gen())
....:
4 t2 - a1^2*t2^3
5 t2 + (-a1^3 - a1*a2)*t2^4
6 t2 + (-a1^4 - 2*a1^2*a2 - a1*a3)*t2^5
}}}
Note that the error is always of degree one less than the precision. This
might be related to the following issue, whereby the calculation dies when
the precision is set to 2 or 3:
{{{
sage: E = EllipticCurve(list(P.gens()))
sage: F = E.formal_group()
sage: fg = F.group_law(2)
---------------------------------------------------------------------------
TypeError Traceback (most recent call
last)
/Users/hlaw/Dropbox/phd/thesis/<ipython console> in <module>()
/Users/hlaw/src/sage-src/local/lib/python2.6/site-
packages/sage/schemes/elliptic_curves/formal_group.pyc in group_law(self,
prec)
524 t3 = -t1 - t2 - \
525 (a1*lam + a3*lam2 + a2*nu + 2*a4*lam*nu +
3*a6*lam2*nu)/ \
--> 526 (1 + a2*lam + a4*lam2 + a6*lam3)
527 inv = self.inverse(prec)
528
/Users/hlaw/src/sage-src/local/lib/python2.6/site-
packages/sage/structure/element.so in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:11073)()
/Users/hlaw/src/sage-src/local/lib/python2.6/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:6966)()
TypeError: unsupported operand parent(s) for '-': 'Power Series Ring in t2
over Power Series Ring in t1 over Multivariate Polynomial Ring in a1, a2,
a3, a4, a6 over Integer Ring' and 'Power Series Ring in t1 over Fraction
Field of Multivariate Polynomial Ring in a1, a2, a3, a4, a6 over Integer
Ring'
sage: fg = F.group_law(3)
---------------------------------------------------------------------------
TypeError Traceback (most recent call
last)
/Users/hlaw/Dropbox/phd/thesis/<ipython console> in <module>()
/Users/hlaw/src/sage-src/local/lib/python2.6/site-
packages/sage/schemes/elliptic_curves/formal_group.pyc in group_law(self,
prec)
524 t3 = -t1 - t2 - \
525 (a1*lam + a3*lam2 + a2*nu + 2*a4*lam*nu +
3*a6*lam2*nu)/ \
--> 526 (1 + a2*lam + a4*lam2 + a6*lam3)
527 inv = self.inverse(prec)
528
/Users/hlaw/src/sage-src/local/lib/python2.6/site-
packages/sage/structure/element.so in
sage.structure.element.RingElement.__sub__
(sage/structure/element.c:11073)()
/Users/hlaw/src/sage-src/local/lib/python2.6/site-
packages/sage/structure/coerce.so in
sage.structure.coerce.CoercionModel_cache_maps.bin_op
(sage/structure/coerce.c:6966)()
TypeError: unsupported operand parent(s) for '-': 'Power Series Ring in t2
over Power Series Ring in t1 over Multivariate Polynomial Ring in a1, a2,
a3, a4, a6 over Integer Ring' and 'Power Series Ring in t1 over Fraction
Field of Multivariate Polynomial Ring in a1, a2, a3, a4, a6 over Integer
Ring'
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9646#comment:2>
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.