Question: quick JacobiTheta1 ?

I'd like to be able to get a quicker low accuracy computation of the argument of the complex-valued JacobiTheta1 function.

I only need as much accuracy as to get a decent plot, which means... I don't know... about 1e-3 relative accuracy?

If I can get a formula or approach that is "evalhf'able" then I can construct a procedure which does this action and writes results inplace to a float[8] Matrix.

The naive approach in the code below takes about 6min to compute on a fast Intel i7. I'm hoping for something closer to 5sec.

I confess that I haven't yet studied the topic in any depth. I was wondering if anyone had any suggestions, before I waste time on the wrong tracks.

restart:

nome:=evalhf(0.1*exp(0.1*Pi*I));

z:=evalf[15](expand(Pi*I*(a+b*I)));

Digits:=5: # Not a big speedup, and maybe not wise.

CodeTools:-Usage(
   plot3d(argument(JacobiTheta1(z,nome)),
          b=-4..4,a=-4..4,
          grid=[300,300],shading=zhue,style=surface,
          axes=box,orientation=[-90,0,0])
                 );

acer

Please Wait...