Skip to content

EllipticCurve_generic.lift_x() is not always deterministic #36189

@yyyyx4

Description

@yyyyx4

After #35644, the .lift_x() method is supposed to return deterministic results. However, the following code produces different outputs on 64-bit and 32-bit machines, per this comment:

sage: from sage.schemes.elliptic_curves.ell_field import point_of_order
sage: E = EllipticCurve(QQ, [7,7])
sage: point_of_order(E, 3)

The root cause is the incomparability of number-field elements, as pointed out in this comment:

sage: K.<Y> = NumberField(x^3 - x^2 + 7*x + 7)
sage: Y <= -Y
False
sage: -Y <= Y
False

It is not quite clear how to resolve this in general; see also this comment.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions