Hi,

I have two questions about the paper “Constructing supersingular elliptic curves with a given endomorphism ring” (arXiv:1301.6875), published in 2014 (sorry! this paper does not appear in this forum’s database. I don’t know if I can change the configurations of this topic after its publication). There we can find two examples. In each example, the input is a maximal order in a quaternion algebra and the output is a supersingular elliptic curve. I have written code in Sage for those two examples.

I have one question for each example. This question is specific for example 1.

When I run my code for the first example, I receive an error message in the beginning: “given lattice must be a ring”. This error is critical, because it indicates that the input data is invalid. Is there anything wrong with my code?

My code is below:

from sage.all import QuaternionAlgebra

# Constructing the quaternion algebra

p = 61

q = 7

B = QuaternionAlgebra(-p, -q)

(i,j,k) = B.gens()

# Constructing the maximal order

m0 = 1

m1 = (i+j)/2

m2 = (-7-j+2*k)/14
m3 = (-7+7*i-3*j-k)/14

O = B.quaternion_order([m0, m1, m2, m3])

print(f"O = {O}")

I would appreciate hearing from you any help.