Bill Allombert on Tue, 09 Oct 2018 11:44:46 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Introduction, Curve Algorithm


On Mon, Oct 08, 2018 at 10:44:22PM -0500, Brad Klee wrote:
> Hi Bill Allombert and Pari Users,
> 
> 2b. EllipticCurves.gp
> The easiest examples are elliptic curves. Each torus S_z has a real and
> complex period, which are related by a second order differential equation.
> Vector A has three components. In two special cases vector A determines
> a hypergeometric differential equation, solved by T(z) = 2F1(a,b;c;k*z).
 
Let see if I understand the example (Examples/EllipticCurves.gp)

\\ Hypergeometric Quartic
\\ We define
T(z)=hypergeom([1/4,3/4],[1],z);
\\ (hypergeom is available in the GIT master branch)
PFData = HyperellipticPicardFuchs((1/2)*(x^2-(1/4)*x^4));
Eqn=PFData[3]
\\ [3,32*z-16,16*z^2-16*z]~
\\ So we set
h(z)=[T(z),T'(z),T''(z)]*subst(Eqn,'z,z);
\\ which should be identically 0 and indeed
sum(i=1,100,abs(h(i/1000)))
\\ 8.717140089686723290E-37
\\ OK!

\\ Hypergeometric Cubics
\\ We define
T(z)=hypergeom([1/6,5/6],[1],z);
PFData = HyperellipticPicardFuchs((1/2)*(x^2-c*x^3));
Eqn=-vector(3,j,9/4*(polcoef(PFData[3][j],2,c)*(4/27)+polcoef(PFData[3][j],0,c)))~;
h(z)=[T(z),T'(z),T''(z)]*subst(Eqn,'z,z);
sum(i=1,100,abs(h(i/1000)))
\\ 1.5733945968008239299E-36
\\ OK too!

Cheers,
Bill.