I have an elliptic curve defined over $\mathbb{C}$ by the equation $y^2 = x^3 + 1$ and a point $P = (0, \frac{1+I}{\sqrt{2}})$ on this curve, however when I translate it into code I get an error.
First of all, let's define the elliptic curve:
E = EllipticCurve(CC,[0,I])
print(E)
Obtainting:
Elliptic Curve defined by y^2 = x^3 + 1.00000000000000*I over Complex Field with 53 bits of precision
So, up to now everything looks fine, but then if I insert:
P = E([0, (1+I)/math.sqrt(2)])
Here is what I obtain:
KeyError Traceback (most recent call last) /usr/lib/python3/dist-packages/sage/structure/category_object.pyx in sage.structure.category_object.CategoryObject.getattr_from_category (build/cythonized/sage/structure/category_object.c:6958)() 837 try: --> 838 return self.__cached_methods[name] 839 except KeyError:
KeyError: 'point_homset'
During handling of the above exception, another exception occurred:
AttributeError Traceback (most recent call last) /usr/lib/python3/dist-packages/sage/schemes/projective/projective_subscheme.py in point(self, v, check) 117 try: --> 118 return self._point(self.point_homset(), v, check=check) 119 except AttributeError: # legacy code without point_homset
/usr/lib/python3/dist-packages/sage/schemes/elliptic_curves/ell_point.py in __init__(self, curve, v, check) 259 """ --> 260 point_homset = curve.point_homset() 261 if is_SchemeMorphism(v) or isinstance(v, EllipticCurvePoint_field):
/usr/lib/python3/dist-packages/sage/structure/category_object.pyx in sage.structure.category_object.CategoryObject.__getattr__ (build/cythonized/sage/structure/category_object.c:6880)() 831 """ --> 832 return self.getattr_from_category(name) 833
/usr/lib/python3/dist-packages/sage/structure/category_object.pyx in sage.structure.category_object.CategoryObject.getattr_from_category (build/cythonized/sage/structure/category_object.c:7043)() 846 --> 847 attr = getattr_from_other_class(self, cls, name) 848 self.__cached_methods[name] = attr
/usr/lib/python3/dist-packages/sage/cpython/getattr.pyx in sage.cpython.getattr.getattr_from_other_class (build/cythonized/sage/cpython/getattr.c:2547)() 388 dummy_error_message.name = name --> 389 raise AttributeError(dummy_error_message) 390 cdef PyObject* attr = instance_getattr(cls, name)
AttributeError: 'ComplexField_class_with_category' object has no attribute '__custom_name'
During handling of the above exception, another exception occurred:
TypeError Traceback (most recent call last) <ipython-input-1-06cb782d02c0> in <module> 1 E = EllipticCurve(CC,[Integer(0),I]) 2 print(E) ----> 3 P = E([Integer(0), (Integer(1)+I)/math.sqrt(Integer(2))]) 4 print(P)
/usr/lib/python3/dist-packages/sage/schemes/elliptic_curves/ell_generic.py in __call__(self, args, *kwds) 547 args = tuple(args[0]) 548 --> 549 return plane_curve.ProjectivePlaneCurve.__call__(self, args, *kwds) 550 551 def _reduce_point(self, R, p):
/usr/lib/python3/dist-packages/sage/schemes/generic/scheme.py in __call__(self, *args) 264 return S 265 args = S --> 266 return self.point(args) 267 268 @cached_method
/usr/lib/python3/dist-packages/sage/schemes/projective/projective_subscheme.py in point(self, v, check) 118 return self._point(self.point_homset(), v, check=check) 119 except AttributeError: # legacy code without point_homset --> 120 return self._point(self, v, check=check) 121 122 return self.point_homset()(v, check=check)
/usr/lib/python3/dist-packages/sage/schemes/elliptic_curves/ell_point.py in __init__(self, curve, v, check) 300 test = y*2 + (a1x+a3)y - (((x+a2)x+a4)*x+a6) 301 if not test == 0: --> 302 raise TypeError("Coordinates %s do not define a point on %s" % (list(v), curve)) 303 304 SchemeMorphism_point_abelian_variety_field.__init__(self, point_homset, v, check=False)
TypeError: Coordinates [0.000000000000000, 0.707106781186547 + 0.707106781186547I, 1.00000000000000] do not define a point on Elliptic Curve defined by y^2 = x^3 + 1.00000000000000I over Complex Field with 53 bits of precision