Bill Allombert on Wed, 01 Mar 2017 21:31:24 +0100


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

Re: your mail


On Fri, Feb 17, 2017 at 11:40:35PM +0330, Benyamin Gholami wrote:
> Hi
>  i wanted to compute mestre- nagao sum with pari as sieving method for
> finding high rank fibrations from an elliptic surface and asked my question
> and get this codes:
> 
 S(E, N) =
 { my (s = 0.0);
   forprime(p = 2, N, my(a = ellap(E,p)); s += (2-a)/(p+1-a));
   return (s);
 }
> 
> for(t=-10,10, E=ellinit([0,t,0,t,1]); if(E==[],,print(t,": ",S(E,100))))
> 
> (for example in interval integers between -10 and 10 for y^2=x^3+t*x^2+t*x+1
> )
> it is completely working but i have two questions:
> first: when i enlarge the interval pari although compute and print all
> cases but ater that i cant see all of them . how can fix this problem?

Write the output to a file using write ?
Or use
\l somefile

Or put it in a list:
{
  my(L=List());
  for(t=-10,10, E=ellinit([0,t,0,t,1]); 
    if(E==[],,
      listput(L,[t,S(E,100)])));
  L
}

> second:  i really need to use rational intervals because integer numbers
> induce large coefficients and mwrank will be useless. i need this
> computations for$ t \in a/b$ witch where a and b are restricted and then
> print only curves that have large summations , for example in t=a/b witch
> 1<a,b,<1000 and just print curves with S(E_t,100)>3 with associated t
> value. can any body tell me the codes?

do a double loop.
{
  for(a=1, 1000,
    for(b=1, 1000, if(gcd(a,b)==1,
      my(t=a/b);
      my(Et=ellinit([0,t,0,t,1]));
      if(Et!=[],
        my(E=ellminimalmodel(Et));
        my(s=S(E,100));
        if(s>3, print(t,": ",s);
  )))))
}

Cheers,
Bill.