Loïc Grenié on Wed, 23 Oct 2013 23:45:18 +0200


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

Re: parallel pari: parfirst


    Sorry, that was obviously meant to be personal.

             Loïc, who forgot how to reply.

2013/10/23 Loïc Grenié <loic.grenie@gmail.com>:
> 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.