InverseWeierstrassP[p,{g2,g3}]
gives a value of u for which the Weierstrass function
is equal to p.
InverseWeierstrassP
InverseWeierstrassP[p,{g2,g3}]
gives a value of u for which the Weierstrass function
is equal to p.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
- The value of u returned always lies in the fundamental period parallelogram defined by the complex half‐periods
and
. - InverseWeierstrassP[{p,q},{g2,g3}] finds the unique value of u for which
and
. For such a value to exist, p and q must be related by
. - InverseWeierstrassP can be evaluated to arbitrary numerical precision.
Examples
open all close allBasic Examples (4)
InverseWeierstrassP[2., {1, 2}]//ChopWeierstrassP[%, {1, 2}]Plot over a subset of the reals:
Plot[InverseWeierstrassP[x, {1, 2}], {x, 2, 6}]Plot over a subset of the complexes:
ComplexPlot3D[InverseWeierstrassP[z, {1, 2}], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansion at the origin:
Series[InverseWeierstrassP[x, {1, 2}], {x, 0, 5}]Scope (20)
Numerical Evaluation (4)
InverseWeierstrassP[7., {1, 2}]InverseWeierstrassP[11., {3, 2}]N[InverseWeierstrassP[1 / 3, {1, 2}], 50]The precision of the output tracks the precision of the input:
InverseWeierstrassP[3.222222222222222222222, {1, 2}]InverseWeierstrassP[3. + I, {I, I + 2}]Evaluate efficiently at high precision:
InverseWeierstrassP[16`100, {3, 2}]//TimingInverseWeierstrassP[15`10000, {4, 2}];//Timing//QuietSpecific Values (4)
Table[InverseWeierstrassP[x, {0, 0}], {x, {-1, 2}}]InverseWeierstrassP[0, {0, 0}]Find a value of x for which InverseWeierstrassP[x,{1,2}]=2:
xval = x /. FindRoot[InverseWeierstrassP[x, {1, 2} ] == 2, {x, 3}]//ChopPlot[InverseWeierstrassP[x, {1, 2} ], {x, 1, 5}, Epilog -> Style[Point[{xval, InverseWeierstrassP[xval, {1, 2} ]}], PointSize[Large], Red]]TraditionalForm formatting:
InverseWeierstrassP[z, {Subscript[g, 2], Subscript[g, 3]}]//TraditionalFormVisualization (2)
Plot the InverseWeierstrassP function for various parameters:
Plot[{InverseWeierstrassP[u, {2, 3}], InverseWeierstrassP[u, {4, 3}], InverseWeierstrassP[u, {4, 5}]}, {u, 1, 4}]ComplexContourPlot[Re[InverseWeierstrassP[z, {7, 1}]], {z, -3 - 3 I, 3 + 3I}, Contours -> 20]ComplexContourPlot[Im[InverseWeierstrassP[z, {7, 1}]], {z, -3 - 3 I, 3 + 3I}, Contours -> 20]Function Properties (4)
InverseWeierstrassP has both singularities and discontinuities:
FunctionSingularities[InverseWeierstrassP[x, {1, 2}], x]//QuietFunctionDiscontinuities[InverseWeierstrassP[x, {1, 2}], x]//QuietFunctionInjective[InverseWeierstrassP[x, {2, 1}], x]Plot[{InverseWeierstrassP[x, {2, 1}], 2}, {x, 0, 6}]
is neither non-negative nor non-positive:
FunctionSign[InverseWeierstrassP[x, {1, 2}], x]It is complex-valued over part of the real axis
InverseWeierstrassP[0, {1, 2}]//N
is neither convex nor concave:
FunctionConvexity[InverseWeierstrassP[x, {1 / 2, 1 / 2}], x]It is complex-valued over part of the real axis:
InverseWeierstrassP[0, {1 / 2, 1 / 2}]//NDifferentiation (2)
First derivative with respect to
:
D[InverseWeierstrassP[p, {Subscript[g, 2], Subscript[g, 3]}], p]Higher derivatives with respect to
:
Table[D[InverseWeierstrassP[p, {Subscript[``g``, 2], Subscript[``g``, 3]}], {p, k}], {k, 1, 4}]//FullSimplifyPlot the higher derivatives with respect to
when
and
:
Plot[Evaluate[% /. {Subscript[``g``, 2] -> 1, Subscript[``g``, 3] -> 2}], {p, 1, 5}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative", "Fourth Derivative"}]Integration (2)
Compute the indefinite integral using Integrate:
Integrate[InverseWeierstrassP[x, {g2, g3}], x]FullSimplify[D[%, x]]Integrate[InverseWeierstrassP[x, {2, 3}], {x, 0, 5}]Series Expansions (2)
Find the Taylor expansion using Series:
Series[InverseWeierstrassP[x, {g1, g2}], {x, 0, 2}]//NormalPlots of the first three approximations around
:
terms = Abs@Normal@Table[Series[InverseWeierstrassP[x, {1, 2}], {x, 0, m}], {m, 1, 5, 2}];
Plot[{InverseWeierstrassP[x, {1, 2}], terms}, {x, 0, 7}]Taylor expansion at a generic point:
Series[InverseWeierstrassP[x, {g1, g2}], {x, x0, 2}]//Normal// FullSimplifyGeneralizations & Extensions (1)
Evaluate the generalized form numerically:
{p, pp} = {2., 2Sqrt[7]};z = InverseWeierstrassP[{p, pp}, {1, 2}]These are the inverse relationships with WeierstrassP and WeierstrassPPrime:
p == WeierstrassP[z, {1, 2}]pp == WeierstrassPPrime[z, {1, 2}]Applications (2)
Plot the real and imaginary part of InverseWeierstrassP:
Plot[{Re[InverseWeierstrassP[x, {1, I}]], Im[InverseWeierstrassP[x, {1, I}]]}, {x, -2, 2}]D[InverseWeierstrassP[z, {Subscript[g, 2], Subscript[g, 3]}], {z, 6}]//TraditionalFormProperties & Relations (1)
InverseWeierstrassP is closely related to EllipticLog function:
ellipticLog[{x_, y_}, {a_, b_}] := (1/2)InverseWeierstrassP[{(1/4)(x + (a/3)), (y/4)}, {(1/4)((a^2/3) - b), (1/8)(a/3)((b/2) - ((a/3))^2)}]a = 3;b = 2;
{x, y} = EllipticExp[1.2, {a, b}];ellipticLog[{x, y}, {a, b}]Compare with the value of the built-in function:
EllipticLog[{x, y}, {a, b}]Possible Issues (2)
If the first argument does not represent a pair of values of Weierstrass
functions, InverseWeierstrassP stays unevaluated:
InverseWeierstrassP[{RandomReal[], RandomReal[]}, {1, 2}]InverseWeierstrassP evaluates to a vector‐valued first argument:
InverseWeierstrassP[WeierstrassP[2, {1, 2}], {1, 2}]Tech Notes
Related Guides
Related Links
History
Introduced in 1996 (3.0)
Text
Wolfram Research (1996), InverseWeierstrassP, Wolfram Language function, https://reference.wolfram.com/language/ref/InverseWeierstrassP.html.
CMS
Wolfram Language. 1996. "InverseWeierstrassP." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/InverseWeierstrassP.html.
APA
Wolfram Language. (1996). InverseWeierstrassP. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/InverseWeierstrassP.html
BibTeX
@misc{reference.wolfram_2026_inverseweierstrassp, author="Wolfram Research", title="{InverseWeierstrassP}", year="1996", howpublished="\url{https://reference.wolfram.com/language/ref/InverseWeierstrassP.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_inverseweierstrassp, organization={Wolfram Research}, title={InverseWeierstrassP}, year={1996}, url={https://reference.wolfram.com/language/ref/InverseWeierstrassP.html}, note=[Accessed: 13-June-2026]}