1
$\begingroup$

I have pseudo-elliptic functions defined on a parallelogram within $\mathbb{C}$ and I would like to clearly highlight the path within this parallelogram which satisfies the real part of my pseudo-elliptic function vanishing.

I have a code which partially does the trick but it goes a little bit wild, probably thanks to the singular nature of these Jacobi Theta functions. I am hoping for tips on how to improve the following plot. Or if there is a better, cleaner way to go about this all together, that would also be appreciated. My code, so far is:

z[x_, y_, t_] = -(1/2)*
   EllipticThetaPrime[1, (Pi/2)*(x + t*y), Exp[I*Pi*t]]/
    EllipticTheta[1, (Pi/2)*(x + t*y), Exp[I*Pi*t]];
t1 = 1/2 + (3)*I;
Plot3D[{N[Re[z[x, y, t1]], 50], 0}, {x, -1, 1}, {y, -1, 1}, 
 MeshFunctions -> {Function[{x, y, f}, Re[z[x, y, t1]]]}, 
 MeshStyle -> {{Thick, Blue}}, Mesh -> {{0}}, 
 ContourStyle -> 
  Directive[Orange, Opacity[0.5], Specularity[White, 30]]]

Notice I have already tried using N[...,50] when plotting the real part of the Jacobi Theta, and still there is extraneous behavior near the singularities. I've heard that this sort of singular behavior is terrible for numerics, but I'm hoping there are some ways to improve it, perhaps.

$\endgroup$

1 Answer 1

3
$\begingroup$
z[x_, y_, t_] = -(1/2)*
   EllipticThetaPrime[1, (Pi/2)*(x + t*y), Exp[I*Pi*t]]/
    EllipticTheta[1, (Pi/2)*(x + t*y), Exp[I*Pi*t]];
t1 = 1/2 + 3 I;

In Plot3D use PlotStyle rather than ContourStyle. Instead of using N[_, 50] on argument of the plot, use the option WorkingPrecision. Increase the resolution with the option PlotPoints and set ClippingStyle->None. Simplify your MeshFunctions.

Plot3D[{Re[z[x, y, t1]], 0},
 {x, -1, 1}, {y, -1, 1},
 MeshFunctions -> {#3 &},
 MeshStyle -> {{Thick, Blue}},
 Mesh -> {{0}}, PlotStyle ->
  Directive[Orange, Opacity[0.5], Specularity[White, 30]],
 PlotPoints -> 75,
 WorkingPrecision -> 50,
 ClippingStyle -> None]

enter image description here

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.