Loïc Grenié on Wed, 23 Oct 2013 23:44:04 +0200


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

Re: parallel pari: parfirst


2013/10/23 Bill Allombert <Bill.Allombert@math.u-bordeaux1.fr>:
> Hello PARI developers,
>
> I am experimenting with a new parallel primitive which is a kind of
> parapply with early return:
>
> ?? parfirst(f, x, {&b}):
>
>    Return the smallest index i such that f(x[i]) is non zero, or 0 if none.  If
> present, b is to f(x[i]).
>
> One example program:
>
> inline(chkell);
> chkell(p)=a->my(E=ellinit([1,a],p));isprime(ellcard(E));
> ellp(p)=parfirst(chkell(p),[1..10000]);
>
> ellp(p) returns the smallest a>=1 such that the curve y^2=x^3+x+a has prime
> order over F_p.
>
> Suggestions for the name and/or the interface ?
>
> The requirement of an explicit vector for x is a bit burdensome, since
> we might like x to be unbounded (i.e. infinite).

    C'est là que mes itérateurs reprennent du poil de la bête:

I = iterlinearinit(1); [iterlinearinit(a,b,s) itèrerait de a à b par pas de s]
inline(chkell);
chkell(p)=a->my(E=ellinit([1,a],p));isprime(ellcard(E));
ellp(p)=parfirst(chkell(p),I);

          Loïc, qui ne renonce pas facilement à ses idées géniales.