Let us walk on the 3-isogeny graph
Loading...
Searching...
No Matches
to_model.m
Go to the documentation of this file.
2Pt<t> := PolynomialRing(Rationals());
3Ri<i> := ext<Rationals() | t^2 + 1>;
4Ra<A> := PolynomialRing(Ri);
5RxPyP<xP, yP> := PolynomialRing(Ra, 2);
6Rxy<x, y> := PolynomialRing(RxPyP, 2);
7
8print "\nBaseline curve model, F: y² = x³ + Ax² + x";
9
10h := y^2 - x^3 - A*x^2 - x;
11f := Evaluate(h, [x + xP, y + yP]);
13g := Evaluate(f, [x, y - (Numerator(a) * x) / Denominator(a)]);
14
15a1 := MonomialCoefficient(Numerator(g), x*y) / Denominator(g);
16a3 := MonomialCoefficient(Numerator(g), y) / Denominator(g);
17
18print "\n3-isogeny curve model, E: y² + a₁xy + a₃y = x³\nwhere";
19printf "a1:\t %o\n", a1;
20printf "a3:\t %o\n\n", a3;
21
22function j_invariant(a1, a3, a2, a4, a6)
23 b2 := a1^2 + 4 * a2;
24 b4 := a1 * a3 + 2 * a4;
25 b6 := a3^2 + 4 * a6;
26 b8 := a1^2 * a6 - a1 * a3 * a4 + a2 * a3^2 + 4 * a2 * a6 - (a4^2);
27 Disc := -(b2^2) * b8 + 9 * b2 * b4 * b6 - 8 * b4^3 - 27 * b6^2;
28
29 c4 := b2^2 - 24 * b4;
30 c6 := -(b2^3) + 36 * b2 *b4 - 216 * b6;
31
32 var1 := c4^3 / Disc;
33 var2 := c4^3 / ((c4^3 - c6^2) / 1728);
34
35 assert(var1 eq var2);
36 return c4^3, (c4^3 - c6^2) / 1728;
37end function;
38
39// test isomorphic curve
40_num, _den := j_invariant(a1, a3, 0, 0, 0);
41num_, den_ := j_invariant(a1 * yP, a3 * (yP^3), 0, 0, 0);
42
43print "\nIsomorphic 3-isogeny curve, Ẽ: y² + ã₁xy + ã₃y = x³\nwhere";
44printf "\nã1:\t %o\n", a1 * yP;
45printf "ã3:\t %o\n\n", a3 * (yP^3);
46
48printf "Do we have j(E) = j(Ẽ)? %o\n", _num/_den eq num_/den_;
49
50exit;
id c6()
function j_invariant(a1, a3, a2, a4, a6) b2 b4
Definition j-invariants.m:2
den a3
return c4
clear
Definition prime_search.m:1
_den den_
Definition to_model.m:41
RxPyP< xP, yP > Rxy< x, y >
Definition to_model.m:6
f x MonomialCoefficient(f, y)
_den a3 * yP
Definition to_model.m:41
_num
Definition to_model.m:40
g a1
Definition to_model.m:15
assert(var1 eq var2)
g x *y Denominator(g)
_den num_
Definition to_model.m:41
f a
Definition to_model.m:12