Bill Allombert on Sun, 29 Mar 2020 13:17:08 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: aide pour optimiser un bout de code |
On Sun, Mar 29, 2020 at 10:04:43AM +0200, Frédéric Chapoton wrote: > Bonjour, > > j'aimerais bien un coup de main pour optimiser le petit bout de code > ci-joint. Ca calcule des sortes de "MZV de type impair" en evaluant des > "polylog de type impair" en sqrt(2) - 1. > > La reference mathematique est le preprint > https://arxiv.org/pdf/1903.03747.pdf par Kaneko et Tsumura. C'est Kaneko qui > m'a envoyé le bout de code que je cherche à optimiser. Did you look at the PARI function zetamultconvert() ? Some advices: - Replace local() by my(). - Avoid using multiple concat: instead of idtowd(ls)= {local(r,res); r=length(ls);res=[];for(j=1,r,res=concat(res,concat([1],vector(ls[j]-1))));res} do idtowd(ls)=concat(vector(#ls,j,vector(ls[j],i,i==1))) - leftpart can be written as leftpart(v,r)=v[1..r] > est-ce que j'ai plutot interet à definir x = 2.*k ou bien x = 2*k dans > la fonction Tmpl ? Use x = 2*k. As long as k has less digits than the current precision, there is nothing to gain to use floating points. > j'ai uniquement besoin de la fonction Tmpl en son argument z = sqrt(2)-1. > Est-ce que ca serait pertinent de precalculer une table des puissances > de sqrt(2) - 1 ? Yes. You can use powers() for that. > Par ailleurs, je n'arrive pas à me servir du script compilé en sage. > Comment faire ? Did you try pari.read('T_values.gp.run') (You might want to use gp2c -p gp2c_ to avoid symbol clash with sage) Cheers, Bill.