1 | initial version |
It seems my question didn't raise enough attention. I would answer my own question, though.
To embed a curve into a larger field, simply use change_ring
with specified morphisms. For my particular case
p, degree = 2538055698343985819, 8
q = p^2
Fq = GF(q)
E = EllipticCurve(Fq,[1,0])
irr = PolynomialRing(GF(p),'x').irreducible_element(2*degree)
extFq = GF(q^degree,'x',irr)
# we could obtain embedding by
rel = RelativeFiniteFieldExtension(extFq,Fq)
E.change_ring(rel.embedding()) # error: no coersion
E.random_element()
2 | No.2 Revision |
It seems my question didn't raise enough attention. I would answer my own question, though.
To embed a curve into a larger field, simply use change_ring
with specified morphisms. For my particular case
p, degree = 2538055698343985819, 8
q = p^2
Fq = GF(q)
E = EllipticCurve(Fq,[1,0])
irr = PolynomialRing(GF(p),'x').irreducible_element(2*degree)
extFq = GF(q^degree,'x',irr)
# we could obtain embedding by
rel = RelativeFiniteFieldExtension(extFq,Fq)
E.change_ring(rel.embedding()) # error: no coersion
E.change_ring(rel.embedding())
E.random_element()