\\ Package to compute the "derived period integrals" attached to a \\ (modular) elliptic curve E/Q and a real quadratic field K of narrow \\ class number one for which E has sign (-1,-1). \\ \\ The function period(gammapsi) returns the derived BD period \\ attached to gammapsi, correspoding to a fundamental unit of \\ the corresponding real quadratic field. \\ period(E,gammapsi,\ a,b,c,d, xpsi,ypsi, res, \ M, \ k, fc, trc) =\ a = gammapsi[1,1]; b = gammapsi[1,2];\ c = gammapsi[2,1]; d=gammapsi[2,2];\ trc = a+d;\ print([a,b,c,d]);\ epsilon = (trc+sqrt(trc^2-4))/2;\ print("unit = ", epsilon);\ xpsi = (epsilon-d)/c;\ ypsi = (1/epsilon -d)/c;\ M = floor(digits*abs(c)*log(10)/(2*Pi)) + 1;\ print("M = ", M);\ fc = ellan(E,M);\ res=0;\ q=exp(-2*Pi/abs(c));\ print( "Computing sum with ", M, " terms");\ for(n=1,M, \ res = res - fc[n]/n*q^n*intnum(x=-d/c,a/c, exp(2*Pi*I*n*x)*\ ( 1/(x-xpsi+I/abs(c)) - 1/(x-ypsi+I/abs(c)) ));\ print1([n]); );\ return(res); /* Computation with X_0(37)+ E = ellinit([0,0,-1,-1,0]); ellglobalred(E); Calculation for Q(sqrt(53)) gammapsi = [-90,-49; 259, 141 ]; per = period(E,gammapsi) print(gammapsi) */ /* 43A over Q(sqrt(13)) */ allocatemem(); allocatemem(); lg = log( 4+ 3*(1+sqrt(13))/2); E = ellinit([0,1,1,0,0]) ellglobalred(E) gammapsi = [40,-9; 129,-29] digits =15 \p 9 per= period(E,gammapsi)