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]
`