#11327: isogeny code uses deprecated(?) multi-variate gcd
-------------------------------+--------------------------------------------
   Reporter:  cjh              |          Owner:  cremona                  
       Type:  defect           |         Status:  new                      
   Priority:  major            |      Milestone:  sage-4.7.1               
  Component:  elliptic curves  |       Keywords:  isogeny multivariate dual
Work_issues:                   |       Upstream:  N/A                      
   Reviewer:                   |         Author:                           
     Merged:                   |   Dependencies:                           
-------------------------------+--------------------------------------------
 In sage.schemes.elliptic_curves.ell_curve_isogeny (of sage 4.6.2) the
 routine two_torsion_part() invokes a gcd on two polynomials.  When the
 polynomials belong to a multivariate ring, an error occurs.  Perhaps this
 is because the gcd routine in
 sage.rings.polynomial.multi_polynomial_element has been commented out
 (because it uses Singular?!).

 Converting psi (and perhaps psi2) to univariate polynomials within
 two_torsion_part() before taking the gcd seems to work, but there seems to
 be other code in the module which uses a multivariate ring when a
 univariate ring would suffice (e.g. in __init_from_kernel_polynomial).

 I discovered this error when trying to create a dual isogeny (for an
 elliptic curve over Q(t)).  The original isogeny was a cyclic 2-isogeny
 and thus the dual should also be a cyclic 2-isogeny.  Without giving more
 details on how I created the curve, let me simply report the error message
 which results when I call isogeny.dual():

 Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
   File "_sage_input_5.py", line 10, in <module>
     exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8
 -*-\\n" +
 
_support_.preparse_worksheet_cell(base64.b64decode("cHNpID0gcGhpLmR1YWwoKQ=="),globals())+"\\n");
 execfile(os.path.abspath("___code___.py"))
   File "", line 1, in <module>

   File
 
"/private/var/folders/4V/4VAOdForFpanThca5kJ5xE+++TI/-Tmp-/tmp8DXIBC/___code___.py",
 line 2, in <module>
     exec compile(u'psi = phi.dual()
   File "", line 1, in <module>

   File "/Applications/sage/local/lib/python2.6/site-
 packages/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 3248, in
 dual
     phi_hat = EllipticCurveIsogeny(E1, None, E2, d)
   File "/Applications/sage/local/lib/python2.6/site-
 packages/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 914, in
 __init__
     self.__init_from_kernel_polynomial(kernel, degree)
   File "/Applications/sage/local/lib/python2.6/site-
 packages/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 2038, in
 __init_from_kernel_polynomial
     psi_G = two_torsion_part(E, poly_ring, psi, degree);
   File "/Applications/sage/local/lib/python2.6/site-
 packages/sage/schemes/elliptic_curves/ell_curve_isogeny.py", line 453, in
 two_torsion_part
     psi_G = poly_ring(psi.gcd(psi_2))
   File "element.pyx", line 327, in
 sage.structure.element.Element.__getattr__ (sage/structure/element.c:2715)
   File "parent.pyx", line 277, in
 sage.structure.parent.getattr_from_other_class
 (sage/structure/parent.c:2841)
   File "parent.pyx", line 177, in
 sage.structure.parent.raise_attribute_error (sage/structure/parent.c:2663)
 AttributeError: 'MPolynomial_polydict' object has no attribute 'gcd'

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/11327>
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.

Reply via email to