JacobiNS[u,m]
gives the Jacobi elliptic function
.
JacobiNS
JacobiNS[u,m]
gives the Jacobi elliptic function
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
, where
.
is a doubly periodic function in u with periods
and
, where
is the elliptic integral EllipticK.- JacobiNS is a meromorphic function in both arguments.
- For certain special arguments, JacobiNS automatically evaluates to exact values.
- JacobiNS can be evaluated to arbitrary numerical precision.
- JacobiNS automatically threads over lists.
Examples
open all close allBasic Examples (4)
JacobiNS[2.5, 0.5]Plot the function over a subset of the reals:
Plot[JacobiNS[x, 1 / 3], {x, -10, 10}]Plot over a subset of the complexes:
ComplexPlot3D[JacobiNS[z, 3], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansions about the origin:
Series[JacobiNS[z, m], {z, 0, 5}]Series[JacobiNS[z, m], {m, 0, 1}]Scope (34)
Numerical Evaluation (5)
Evaluate numerically to high precision:
N[JacobiNS[2, 1 / 3], 50]The precision of the output tracks the precision of the input:
JacobiNS[2, 0.333333333333333333333333333333333333333333]Evaluate for complex arguments:
JacobiNS[2.5 + I, 1 - I]Evaluate JacobiNS efficiently at high precision:
JacobiNS[3, 0.3`500]//TimingJacobiNS[3, 0.3`10000];//TimingCompute average-case statistical intervals using Around:
JacobiNS[2, Around[1 / 2, 0.01]]Compute the elementwise values of an array:
JacobiNS[-(I π/3), {{1, 0}, {0, 1}}]Or compute the matrix JacobiNS function using MatrixFunction:
MatrixFunction[JacobiNS[-(I π/3), #]&, {{1, 0}, {0, 1}}]Specific Values (3)
Simple exact values are generated automatically:
{JacobiNS[z, 0], JacobiNS[z, 1]}{JacobiNS[I EllipticK[1 - m], m], JacobiNS[EllipticK[m] / 2, m], JacobiNS[EllipticK[m], m]}Some poles of JacobiNS:
{JacobiNS[0, m], JacobiNS[2EllipticK[m], m], JacobiNS[2I EllipticK[1 - m], m]}Find a local minimum of JacobiNS as a root of
:
xmin = Solve[D[JacobiNS[x, 1 / 3], x] == 0 && 1.0 < x < 3.0, x][[1, 1, 2]]//QuietPlot[JacobiNS[x, 1 / 3], {x, -1, 5}, Epilog -> Style[Point[{xmin, JacobiNS[xmin, 1 / 3]}], PointSize[Large], Red]]Visualization (3)
Plot the JacobiNS functions for various parameter values:
Plot[{JacobiNS[x, 0], JacobiNS[x, 0.8], JacobiNS[x, 1], JacobiNS[x, 3]}, {x, -5, 5}]Plot JacobiNS as a function of its parameter
:
Plot[{JacobiNS[1, m], JacobiNS[2, m], JacobiNS[3, m]}, {m, -4, 4}]ComplexContourPlot[Re[JacobiNS[z, 1 / 2]], {z, -4 - 4 I, 4 + 4 I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[JacobiNS[z, 1 / 2]], {z, -4 - 4 I, 4 + 4 I}, IconizedObject[«PlotOptions»]]Function Properties (8)
JacobiNS is
-periodic along the real axis:
JacobiNS[x, m] == JacobiNS[x + 4EllipticK[m], m]JacobiNS is
-periodic along the imaginary axis:
JacobiNS[x, m] == JacobiNS[x + 2I EllipticK[1 - m], m]JacobiNS is an odd function in its first argument:
JacobiNS[-x, m] == -JacobiNS[x, m]JacobiNS is not an analytic function:
FunctionAnalytic[JacobiNS[x, m], {x, m}]It has both singularities and discontinuities:
FunctionSingularities[JacobiNS[x, m], {x, m}]FunctionDiscontinuities[JacobiNS[x, m], {x, m}]
is neither nondecreasing nor nonincreasing:
FunctionMonotonicity[JacobiNS[x, 3], x]
is not injective for any fixed
:
FunctionInjective[JacobiNS[x, m], x, Assumptions -> m > 1]FunctionInjective[JacobiNS[x, m], x, Assumptions -> m < 1]Plot[{JacobiNS[x, 3], 5}, {x, -5, 5}]FunctionInjective[JacobiNS[x, 1], x]Plot[{JacobiNS[x, 1], 5}, {x, -5, 5}]JacobiNS is not surjective for any fixed
:
FunctionSurjective[JacobiNS[x, m], x, Assumptions -> m∈Reals]Plot[{JacobiNS[x, 1 / 3], 0.2}, {x, -5, 5}]JacobiNS is neither non-negative nor non-positive:
FunctionSign[JacobiNS[x, m], {x, m}]JacobiNS is neither convex nor concave:
FunctionConvexity[JacobiNS[x, m], {x, m}]Differentiation (3)
D[JacobiNS[x, m], x]derivs = Table[D[JacobiNS[x, m], {x, n}], {n, 1, 4}]Plot[Evaluate[derivs /. m -> 1 / 3], {x, -5, 5}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative", "Fourth Derivative"}]D[JacobiNS[x, m], m]Integration (3)
Indefinite integral of JacobiNS:
Integrate[JacobiNS[z, m], z]Definite integral of an odd function over the interval centered at the origin is 0:
Integrate[JacobiNS[z, 2 / 3], {z, -1, 1}, PrincipalValue -> True]Integrate[JacobiNS[z, m]JacobiDS[z, m], z]Integrate[JacobiNS[z, m]^2, z]Series Expansions (3)
Series[JacobiNS[x, 1 / 3], {x, 0, 7}]Plot the first three approximations for
around
:
terms = Normal@{Series[JacobiNS[x, 1 / 3], {x, 0, 0}], Series[JacobiNS[x, 1 / 3], {x, 0, 2}], Series[JacobiNS[x, 1 / 3], {x, 0, 3}]};
Plot[{JacobiNS[x, 1 / 3], terms}, {x, 0, 2.5}]Series[JacobiNS[1, m], {m, 0, 3}]//FullSimplifyPlot the first three approximations for
around
:
terms = Normal@Table[Series[JacobiNS[1, m], {m, 0, n}], {n, 1, 3}];
Plot[{JacobiNS[1, m], terms}, {m, -4, 4}]JacobiNS can be applied to power series:
JacobiNS[ArcSin[x] + O[x]^7, m]Function Identities and Simplifications (3)
Parity transformation and periodicity relations are automatically applied:
JacobiNS[-u, m]JacobiNS[u + 4EllipticK[m] + 2 I EllipticK[1 - m], m]Identity involving JacobiCS:
JacobiNS[z, m]^2 - JacobiCS[z, m]^2//FullSimplifyJacobiNS[z + EllipticK[m], m]JacobiNS[z + EllipticK[m] + I EllipticK[1 - m], m]Function Representations (3)
Representation in terms of Csc of JacobiAmplitude:
Csc[JacobiAmplitude[z, m]]//FullSimplifyRelation to other Jacobi elliptic functions:
JacobiNS[z, m] == (1/JacobiSN[z, m])//FullSimplifyJacobiNS[z, m] == (JacobiCS[z, m]/JacobiCN[z, m])//FullSimplifyTraditionalForm formatting:
JacobiNS[z, m]//TraditionalFormApplications (5)
Map a rectangle conformally onto the lower half‐plane:
n = 24;m = 0.3;p = Flatten[Table[(2j / n - 1)EllipticK[m] + k / n I EllipticK[1 - m], {j, 0, n}, {k, 1, n}]];Row[{Graphics[Point[{Re[#], Im[#]}]& /@ p, Frame -> True, ImageSize -> Small], Graphics[Point[{Re[#], Im[#]}]& /@ JacobiNS[p, m], Frame -> True, ImageSize -> Small]}, Spacer[20]]Solution of the pendulum equation:
α[t_, ϕ_] = 2 ArcSin[Sin[ϕ / 2] / JacobiNS[t, Sin[ϕ / 2] ^ 2]];D[α[t, 2], t, t] + Sin[α[t, 2]] /. t -> N[2, 100]Plot[{α[t, Pi / 3], α[t, Pi / 2], α[t, 99 / 100 Pi]}, {t, 0, 10}]Closed form of iterates of the Katsura–Fukuda map:
xn[n_, x0_, λ_] := JacobiNS[2^nInverseJacobiSN[-Sqrt[x0], λ], λ]^-2Compare the closed form with explicit iterations:
Table[xn[n, 2 / 3, 3 / 7], {n, 0, 6}] //NWith[{x0 = 2 / 3, λ = 3 / 7}, NestList[(4 #(1 - #)(1 - λ#)/(1 - λ #^2)^2)&, x0, 6]]//NListPlot[Table[xn[n, N[1 / 5, 100], 2 / 3], {n, 0, 250}]]Solution of the sinh‐Gordon equation
:
u[x_, t_] := 2ArcCosh[JacobiNS[x - t, m]]FunctionExpand[D[u[x, t], x, t] + Sinh[u[x, t]]]//Simplify//FullSimplifyPlot3D[Evaluate[Abs[u[x, t] /. m -> 2.5I]], {x, 3, 6}, {t, 0, 2.2}, MaxRecursion -> 1]Hierarchy of solutions of the nonlinear diffusion equation
:
φ[0, y_] := JacobiDS[y, 1 / 2];
φ[n_, y_] := D[Log[φ[n - 1, y]], y];u[n_, {t_, x_}] := 2 x φ[n, y] /. y -> x^2 + 6 tTable[u[k, {t, x}], {k, 0, 2}]//Simplify(D[u[t, x], t] - D[u[t, x], x, x] + 2u[t, x] ^ 3 /. u -> Function[{t, x}, Evaluate[%]])//FullSimplifyProperties & Relations (2)
Compose with inverse functions:
{JacobiNS[InverseJacobiNS[z, m], m], InverseJacobiNS[JacobiNS[z, m], m]}Use PowerExpand to disregard multivaluedness of the inverse function:
PowerExpand[%]Solve a transcendental equation:
Solve[JacobiNS[x, m]^2 + 2JacobiNS[x, m] == a, x]//QuietPossible Issues (2)
Machine-precision input may be insufficient to give the correct answer:
JacobiNS[10. ^ 16, 2 / 3]N[JacobiNS[10 ^ 16, 2 / 3], 20]Currently only simple simplification rules are built in for Jacobi functions:
1 + JacobiCS[z, m] ^ 2 - JacobiNS[z, m] ^ 2//FullSimplifyJacobiSN[u, m]JacobiND[u, m]JacobiDS[u, m]//FullSimplifySee Also
Tech Notes
Related Guides
Related Links
History
Introduced in 1988 (1.0)
Text
Wolfram Research (1988), JacobiNS, Wolfram Language function, https://reference.wolfram.com/language/ref/JacobiNS.html.
CMS
Wolfram Language. 1988. "JacobiNS." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/JacobiNS.html.
APA
Wolfram Language. (1988). JacobiNS. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/JacobiNS.html
BibTeX
@misc{reference.wolfram_2026_jacobins, author="Wolfram Research", title="{JacobiNS}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/JacobiNS.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_jacobins, organization={Wolfram Research}, title={JacobiNS}, year={1988}, url={https://reference.wolfram.com/language/ref/JacobiNS.html}, note=[Accessed: 13-June-2026]}