I'm considering solving elliptic functions over a fundamental domain of the torus with half-periods $\omega_{1}=\pi/2$ and $\omega_{2} = \pi \tau /2$, where $\tau$ is the modular parameter of the torus. The equation I want solutions of is: $$\wp(u \, | \, \omega_{1}, \omega_{2})= -\frac{1}{3}E_{2}(\tau)$$
which definitely must have two solutions $u$ in the parallelogram for all $\tau$. Or perhaps one solution or order 2.
My main issues are not knowing how to effectively parameterize the fundamental parallelogram in Mathematica, as well as my NSolve routine not working properly. My idea was to fix $\omega_{1}$ and $\omega_{2}$ and then have mathematica consider the domain: $$\{x\omega_{2} + y \omega_{2} \, | \, 0 \leq x \leq 2, -1 \leq y \leq 1\} \subseteq \mathbb{C}.$$
I think this is OK, but I'm also worried it might be a bad parameterization causing my NSolve issues. The code I have is:
tau = 0 + (3/2)*I;
w1 = Pi/2;
w2 = Pi*tau/2;
inv = WeierstrassInvariants[{w1, w2}];
E2[t_] = 1 -
24*Sum[(n*Exp[2*Pi*I*(t)*n])/(1 - Exp[2*Pi*I*(t)*n]), {n, 1, 300}];
WP[x_, y_] = WeierstrassP[w1*x + w2*y, inv];
L = -(1/3)*N[E2[tau], 50];
NSolve[{WP[x, y] == L && 0 <= x <= 2 && -1 <= y <= 1}, {x, y},
WorkingPrecision -> 50]
The problem is that NSolve is just spitting my expression back out immediately without computing anything. I've tried a number of things including telling Mathematica to do it over the Reals, using a single complex variable $u$ instead of the $x,y$, as well as dropping the domain restrictions, and nothing seems to work.
My function E2[t_]
for the Eisenstein series isn't the problem; it spits out a number incredibly quickly.
I'd really like to avoid using FindRoot if at all possible because I don't want to have to estimate where these two special points are in the parallelogram.
Thanks a lot for any advice!
Re[WP[x, y] - L] == 0
andIm[WP[x, y] - L] == 0
as simultaneous equations that you could feed into any of the answers to the linked question. $\endgroup$