JacobiNC[u,m]
gives the Jacobi elliptic function
.
JacobiNC
JacobiNC[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.- JacobiNC is a meromorphic function in both arguments.
- For certain special arguments, JacobiNC automatically evaluates to exact values.
- JacobiNC can be evaluated to arbitrary numerical precision.
- JacobiNC automatically threads over lists.
Examples
open all close allBasic Examples (4)
JacobiNC[2.5, 0.3]Plot the function over a subset of the reals:
Plot[JacobiNC[x, 1 / 3], {x, -10, 10}]Plot over a subset of the complexes:
ComplexPlot3D[JacobiNC[z, 1 / 3], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansions about the origin:
Series[JacobiNC[z, m], {z, 0, 7}]Series[JacobiNC[z, m], {m, 0, 1}]Scope (34)
Numerical Evaluation (5)
Evaluate numerically to high precision:
N[JacobiNC[2, 1 / 3], 50]The precision of the output tracks the precision of the input:
JacobiNC[2, 0.333333333333333333333333333333333333333333]Evaluate for complex arguments:
JacobiNC[2.5 + I, 1 - I]Evaluate JacobiNC efficiently at high precision:
JacobiNC[3, 0.3`500]//TimingJacobiNC[3, 0.3`10000];//TimingCompute average-case statistical intervals using Around:
JacobiNC[2, Around[1 / 2, 0.01]]Compute the elementwise values of an array:
JacobiNC[-(I π/3), {{1, 0}, {0, 1}}]Or compute the matrix JacobiNC function using MatrixFunction:
MatrixFunction[JacobiNC[-(I π/3), #]&, {{1, 0}, {0, 1}}]Specific Values (3)
Simple exact values are generated automatically:
{JacobiNC[z, 0], JacobiNC[z, 1]}{JacobiNC[0, m], JacobiNC[EllipticK[m] / 2, m], JacobiNC[I EllipticK[1 - m], m]}Some poles of JacobiNC:
{JacobiNC[EllipticK[m], m], JacobiNC[3EllipticK[m], m], JacobiNC[EllipticK[m] + 2I EllipticK[1 - m], m]}Find a local maximum of JacobiNC as a root of
:
xmax = Solve[D[JacobiNC[x, 1 / 3], x] == 0 && 1 < x < 4.5, x][[1, 1, 2]]//QuietPlot[JacobiNC[x, 1 / 3], {x, -1, 5}, Epilog -> Style[Point[{xmax, JacobiNC[xmax, 1 / 3]}], PointSize[Large], Red]]Visualization (3)
Plot the JacobiNC functions for various parameter values:
Plot[{JacobiNC[x, 0], JacobiNC[x, 0.8], JacobiNC[x, 1], JacobiNC[x, 2]}, {x, -2π, 2π}]Plot JacobiNC as a function of its parameter
:
Plot[{JacobiNC[1, m], JacobiNC[2, m], JacobiNC[3, m]}, {m, -6, 6}]ComplexContourPlot[Re[JacobiNC[z, 1 / 2]], {z, -4 - 4 I, 4 + 4 I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[JacobiNC[z, 1 / 2]], {z, -4 - 4 I, 4 + 4 I}, IconizedObject[«PlotOptions»]]Function Properties (8)
JacobiNC is
-periodic along the real axis:
JacobiNC[x, m] == JacobiNC[x + 4EllipticK[m], m]JacobiNC is
-periodic along the imaginary axis:
JacobiNC[x, m] == JacobiNC[x + 4I EllipticK[1 - m], m]JacobiNC is an even function in its first argument:
JacobiNC[-x, m] == JacobiNC[x, m]
is an analytic function of
for
:
FunctionAnalytic[JacobiNC[x, m], x, Assumptions -> m >= 1]FunctionAnalytic[JacobiNC[x, m], {x, m}]//QuietIt has both singularities and discontinuities for
:
FunctionSingularities[JacobiNC[x, m], {x, m}]FunctionDiscontinuities[JacobiNC[x, m], {x, m}]
is neither nondecreasing nor nonincreasing:
FunctionMonotonicity[JacobiNC[x, 3], x]
is not injective for any fixed
:
FunctionInjective[JacobiNC[x, m], x, Assumptions -> m > 1]FunctionInjective[JacobiNC[x, m], x, Assumptions -> m < 1]FunctionInjective[JacobiNC[x, 1], x]Plot[{JacobiNC[x, 3], 1.1}, {x, -5, 5}]
is not surjective for any fixed
:
FunctionSurjective[JacobiNC[x, m], x, Assumptions -> m∈Reals]Plot[{JacobiNC[x, 1 / 3], 0.2}, {x, -5, 5}]JacobiNC is non-negative nor for
:
FunctionSign[JacobiNC[x, m], x, Assumptions -> m >= 1]In general, it has indeterminate sign:
FunctionSign[JacobiNC[x, m], {x, m}]JacobiNC is neither convex nor concave:
FunctionConvexity[JacobiNC[x, m], {x, m}]Differentiation (3)
D[JacobiNC[x, m], x]derivs = Table[D[JacobiNC[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[JacobiNC[x, m], m]Integration (3)
Indefinite integral of JacobiNC:
Integrate[JacobiNC[z, m], z]Definite integral of JacobiNC:
Integrate[JacobiNC[z, 1 / 3], {z, 1 / 2, 3 / 2}]//FullSimplifyIntegrate[JacobiNC[z, m]JacobiDC[z, m], z]Integrate[1 / JacobiNC[z, m] ^ 2, z]//FullSimplifySeries Expansions (3)
Series[JacobiNC[x, 1 / 3], {x, 0, 7}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[JacobiNC[x, 1 / 3], {x, 0, n}], {n, 2, 6, 2}];
Plot[{JacobiNC[x, 1 / 3], terms}, {x, -2, 2}]Series[JacobiNC[1, m], {m, 0, 3}]//FullSimplifyPlot the first three approximations for
around
:
terms = Normal@Table[Series[JacobiNC[1, m], {m, 0, n}], {n, 1, 3}];
Plot[{JacobiNC[1, m], terms}, {m, -3, 3}]JacobiNC can be applied to power series:
JacobiNC[ArcSin[x] + O[x] ^ 8, m]Function Identities and Simplifications (3)
Parity transformations and periodicity relations are automatically applied:
JacobiNC[-u, m]JacobiNC[u + 4 EllipticK[m] + 4I EllipticK[1 - m], m]Identity involving JacobiSC:
JacobiNC[z, m]^2 - JacobiSC[z, m]^2//FullSimplifyJacobiNC[z + EllipticK[m], m]JacobiNC[z + EllipticK[m] + I EllipticK[1 - m], m]Function Representations (3)
Representation in terms of Sec of JacobiAmplitude:
Sec[JacobiAmplitude[z, m]]//FullSimplifyRelation to other Jacobi elliptic functions:
JacobiNC[z, m] == (1/JacobiCN[z, m])//FullSimplifyJacobiNC[z, m] == (JacobiND[z, m]/JacobiCD[z, m])//FullSimplifyTraditionalForm formatting:
JacobiNC[z, m]//TraditionalFormApplications (5)
Conformal map from a unit triangle to the unit disk:
w[z_] := With[{ζ = (z Gamma[1 / 3] ^ 3/2^1 / 33^1 / 4π), m = Sin[π / 12] ^ 2}, 2^11 / 6Cos[π / 12](JacobiNC[ζ, m] - 1)(1 + Tan[π / 12]JacobiCN[ζ, m]) /
(2 3^1 / 4JacobiSC[ζ, m]JacobiDN[ζ, m] + JacobiNC[ζ, m](1 - JacobiCN[ζ, m]) ^ 2)]Show points before and after the map:
trianglePoints = With[{t = E ^ (2Pi I / 3)}, Flatten[Table[s / 8. Table[#1 + j / 16(#2 - #1), {j, 0, 16}]&@@@({{1, t}, {t, 1 / t}, {1 / t, 1}} / Sqrt[3]), {s, 8}]]];Row[{Graphics[Point[{Re[#], Im[#]}]& /@ trianglePoints, Frame -> True, ImageSize -> Small],
Graphics[Point[{Re[#], Im[#]}]& /@ w[trianglePoints], Frame -> True, ImageSize -> Small]}, Spacer[20]]Parametrize a lemniscate by arc length:
lemniscate[s_] := {JacobiDN[Sqrt[2]s, 1 / 2] / JacobiNC[Sqrt[2]s, 1 / 2], JacobiSN[Sqrt[2]s, 1 / 2] / JacobiNC[Sqrt[2]s, 1 / 2] / Sqrt[2]}Show arc length parametrization and classical parametrization:
r[θ_] := If[Cos[2θ] > 0, Sqrt[Cos[2θ]], 0];Row[{ParametricPlot[{r[θ]Cos[θ], r[θ]Sin[θ]}, {θ, -Pi, Pi}, ImageSize -> Small],
ParametricPlot[Evaluate[lemniscate[s]], {s, 0, Gamma[1 / 4] ^ 2 / Sqrt[2Pi]}, ImageSize -> Small]}, Spacer[20]]Solution of an anharmonic oscillator
:
ϕ[k_, φ_] = Sqrt[(2k/1 - 2k)]JacobiNC[Sqrt[1 + (2k/1 - 2k)]φ, k]^-1;Plot[Evaluate[Table[ϕ[k, φ], {k, 0.1, 0.4, 0.1}]], {φ, 0, 12Pi}]Solution of the
field theory wave equation
:
ϕ[x_, t_] := Sqrt[(2m/2m - 1)]a JacobiNC[Sqrt[-(λ a^2/(1 - v^2)(2m - 1))](x - v t), m]^-1Plot3D[Evaluate[Abs[ϕ[x, t]] /. {m -> 0.8, λ -> -0.3, m -> 0.7, v -> 0.8, a -> 1}], {x, -4, 4}, {t, 0, 2}]Parameterization of Costa's minimal surface [MathWorld]:
x[w_, m_] := With[{c = 2EllipticK[m]}, Re[((π/2) + (c^2/4))w - (c/2)(JacobiEpsilon[c w, m] + JacobiCN[c w, m] JacobiDS[c w, m]) - (π/4c)JacobiSD[c w, m](JacobiNC[c w, m] + JacobiCN[c w, m])]];y[w_, m_] := With[{c = 2EllipticK[m]}, Im[((π/2) - (c^2/4))w + (c/2)(JacobiEpsilon[c w, m] + JacobiCN[c w, m] JacobiDS[c w, m]) - (π/4c)JacobiSD[c w, m](JacobiNC[c w, m] + JacobiCN[c w, m])]];z[w_, m_] := With[{c = 2EllipticK[m]}, Sqrt[(π/8)]Log[Abs[JacobiCN[c w, m]^2]]];ParametricPlot3D[With[{w = u + I v}, {x[w, 1 / 2], y[w, 1 / 2], z[w, 1 / 2]}], {u, 0, 1}, {v, 0, 1}, Mesh -> False]Properties & Relations (2)
Compose with inverse functions:
{JacobiNC[InverseJacobiNC[z, m], m], InverseJacobiNC[JacobiNC[z, m], m]}Use PowerExpand to disregard multivaluedness of the inverse function:
PowerExpand[%]Solve a transcendental equation:
Solve[JacobiNC[x, m]^2 + 2JacobiNC[x, m] == a, x]//QuietPossible Issues (2)
Machine-precision input is insufficient to give the correct answer:
JacobiNC[10. ^ 15, 2 / 5]N[JacobiNC[10 ^ 15, 2 / 5], 20]Currently only simple simplification rules are built in for Jacobi functions:
JacobiSC[z, m] ^ 2 + 1 - JacobiNC[z, m] ^ 2//FullSimplifyJacobiNC[u, m]JacobiDN[u, m]JacobiCD[u, m]//FullSimplifySee Also
Tech Notes
Related Guides
Related Links
History
Introduced in 1988 (1.0)
Text
Wolfram Research (1988), JacobiNC, Wolfram Language function, https://reference.wolfram.com/language/ref/JacobiNC.html.
CMS
Wolfram Language. 1988. "JacobiNC." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/JacobiNC.html.
APA
Wolfram Language. (1988). JacobiNC. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/JacobiNC.html
BibTeX
@misc{reference.wolfram_2026_jacobinc, author="Wolfram Research", title="{JacobiNC}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/JacobiNC.html}", note=[Accessed: 12-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_jacobinc, organization={Wolfram Research}, title={JacobiNC}, year={1988}, url={https://reference.wolfram.com/language/ref/JacobiNC.html}, note=[Accessed: 12-June-2026]}