Karim Belabas on Thu, 25 Oct 2012 19:36:00 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: New ellinit interface |
* Henri.Cohen@math.u-bordeaux1.fr [2012-10-20 22:50]: > > >A question: computing eta1,et2 is currently done via E_2 (and Legendre > >relation). Even for tau in the standard fundamental domain, > >computing E_2(tau) > >in terms of \sum_{n>0} n q^n / (1-q^n) is expensive, in O~(prec^2), > >assuming quasi-linear multiplication. Can one do better ? > > Yes, I believe so, using the Weierstrass sigma function, which is also > a theta function: with > q=exp(2\pi i\tau) and u=exp(2\pi i z/\om_2) we have > > sigma(z;L)=(\om_2/2\pi i)exp(\eta_2 z^2/(2\om_2))eta^{-3}(\tau)* > \sum_{n\in\Z}(kronecker(-4,n)q^{n^2/8}u^{n/2} > > so by choosing any reasonable value of z (om_2/2 perhaps) > it should be faster. Thanks for the suggestion. As I understood it, one must compute sigma(z) for two different values of z and take the quotient, resulting in an O~(prec^(3/2)) algorithm for \eta_2. I chose to implement the simpler formula E2(tau) = - theta^(3)(q) / theta^(1)(q) [ where theta^(n)(q) denotes d/dz^n theta(q, z) | z = 0, for Jacobi sine theta function ]. This improves both elleta() and elleisnum(,2) N.B. Similarly, one can express E4 / E6 in terms of theta constants, and then elleisnum(, k) for small k [ expressing E_{2n} in terms of E4 / E6 ]. I didn't do it yet. Maybe E4 / E6 would be enough, I don't see applications for the others... For huge accuracies, Dupont's O~(prec) algorithm can be used to compute theta constants http://www.lix.polytechnique.fr/Labo/Regis.Dupont/preprints/Dupont_FastEvalMod.ps.gz and would provide quasi-linear algorithms for all this. [ The function f_tau(z) = I AGM(1,z) - tau AGM(1,sqrt(1-z^2)) vanishes at k'(tau), which is thus computed using a Newton iteration. Finally AGM(1, k'(tau)) = 1/theta_{00}^2, etc. ] Cheers, K.B. -- Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux1.fr/~belabas/ F-33405 Talence (France) http://pari.math.u-bordeaux1.fr/ [PARI/GP] `