Problema se poate reformula:
Constructia de puncte (?noi?) din puncte P,Q de pe curba este "simpla".
Fie P, Q "pe" E. (I.e. coordonatele lor verifica ecuatia lui E.)
Dreapta prin P,Q mai taie E in exact inca un punct (eliminare si Bezout). Trebuie sa tinem cont de multiplicitati. (Daca de exemplu P = Q sau daca PQ este tangenta in P sau Q la E.) sa notam acest punct cu R'.
Fie O punctul de la infinit, de fapt geometria algebrica se face pe curba cu ecuatia homogenizata,
2 xxx + 9 zzz = yy z .
si desigur ca punctul [ 0 : 1 : 0 ] = [ x0 : y0 : z0 ] este pe aceasta curba.
Asociem R = punctul de taiere al dreptei OR' cu E.
Atunci se poate arata ca multimea punctelor rationale cu operatia
P (+) Q = R
definita mai sus formeaza un grup abelian.
Exista o teroie a "inaltimii" (heights) care spune cat de complicat este un punct pe E...
Iata cum stau lucrurile la noi.
Folosesc pari/gp.
E bine sa aducem mai intai curba data la forma canonica
Y² = X³ + aX + B .
Pentru aceasta inmultesc ecuatia data cu 2^2 = 4, grupam X = 2x, Y = 2Y, dam de
YY = XXX + 36 .
Am descoperit cu ochiul liber relatia 100 = 64 + 36 . Deci ne asteptam ca punctul (X,Y) = (4,10) sa fie pe curba. sa vedem inca cateva puncte obtinute adunand...
(20:41) gp > E = ellinit( [ 0, 0, 0, 0, 36 ] );
(20:41) gp > elltors( E )
%14 = [3, [3], [[0, 6]]]
(20:41) gp > P = [4,10]
%15 = [4, 10]
(20:42) gp > Q = P;
(20:42) gp > for( k=1, 5, print( k, " * P = ", Q); Q = elladd( E, P, Q ) )
1 * P = [4, 10]
2 * P = [-56/25, 622/125]
3 * P = [-1691/1521, -349055/59319]
4 * P = [16364656/2418025, -69938890946/3760028875]
5 * P = [176709507004/1840495801, 74284585633987550/78959110358701]
M-am mai uitat putin si am descoperit si punctul care vine din 9 = -27 + 36.
(20:49) gp > P = [-3,3]
%22 = [-3, 3]
(20:49) gp > ellisoncurve( E, P )
%23 = 1
(20:49) gp > Q = P
%24 = [-3, 3]
(20:49) gp > for( k=1, 5, print( k, " * P = ", Q); Q = elladd( E, P, Q ) )
1 * P = [-3, 3]
2 * P = [105/4, -1077/8]
3 * P = [-1691/1521, 349055/59319]
4 * P = [13290585/2062096, -51607279011/2961169856]
5 * P = [34155073437/27711927961, 28389693607666563/4613176935739709]
Am plecat mai bine cu P = [-3,3] ...
De fapt, tabela din primul link mi-l da pe acesta a fi generatorul...
Mai sus, n * P = ( P + P + ... + P ) unde adunam de n ori pe partea dreapta.
Am cerut grupul de torsiune undeva mai sus. elltors...
Mi s-a spus ca are trei elemente, este deci
ZZ / 3ZZ
si este generat de [0,6] .
Desigur ca putem sa ne legam de [-3,3] (+) [0,6] .
Care este acest punct? (Rog a se face calculul...)
A se vedea si:
http://www.lmfdb.org/EllipticCurve/Q/972.a2 -- exact curba noastra
http://en.wikipedia.org/wiki/Elliptic_curvehttp://www.math.brown.edu/~jhs/Presentations/WyomingEllipticCurve.pdfhttp://www.jmilne.org/math/Books/ectext5.pdf -- cel mai bun loc de invatat despre curbe eliptice.
http://ivanych.net/doc/TheArithmeticOfEllipticCurves.pdf -- celalat cel mai bun loc de invatat...