JacobiSD[u,m]
gives the Jacobi elliptic function
.
JacobiSD
JacobiSD[u,m]
gives the Jacobi elliptic function
.
Details
- Mathematical function, suitable for both symbolic and numerical manipulation.
, where
.
is a doubly periodic function in
with periods
and
, where
is the elliptic integral EllipticK.- JacobiSD is a meromorphic function in both arguments.
- For certain special arguments, JacobiSD automatically evaluates to exact values.
- JacobiSD can be evaluated to arbitrary numerical precision.
- JacobiSD automatically threads over lists.
Examples
open all close allBasic Examples (4)
JacobiSD[2.5, 0.5]Plot the function over a subset of the reals:
Plot[JacobiSD[u, 1 / 3], {u, -6, 6}]Plot over a subset of the complexes:
ComplexPlot3D[JacobiSD[z, 1 / 3], {z, -2 - 2I, 2 + 2I}, PlotLegends -> Automatic]Series expansions at the origin:
Series[JacobiSD[z, m], {z, 0, 7}]Series[JacobiSD[z, m], {m, 0, 1}]Scope (34)
Numerical Evaluation (5)
Evaluate numerically to high precision:
N[JacobiSD[2, 1 / 3], 50]The precision of the output tracks the precision of the input:
JacobiSD[2, 0.33333333333333333333333333333333333333]Evaluate for complex arguments:
JacobiSD[1.5 + 0.5I, 1 - I]Evaluate JacobiSD efficiently at high precision:
JacobiSD[3, 0.3`500]//TimingJacobiSD[3, 0.3`10000];//TimingCompute average-case statistical intervals using Around:
JacobiSD[2, Around[1 / 2, 0.01]]Compute the elementwise values of an array:
JacobiSD[-(I π/3), {{1, 0}, {0, 1}}]Or compute the matrix JacobiSD function using MatrixFunction:
MatrixFunction[JacobiSD[-(I π/3), #]&, {{1, 0}, {0, 1}}]Specific Values (3)
Simple exact values are generated automatically:
{JacobiSD[z, 0], JacobiSD[z, 1]}{JacobiSD[0, m], JacobiSD[EllipticK[m] / 2, m], JacobiSD[EllipticK[m], m]}Some poles of JacobiSD:
{JacobiSD[EllipticK[m] + I EllipticK[1 - m], m], JacobiSD[EllipticK[m] + 3I EllipticK[1 - m], m], JacobiSD[3 EllipticK[m] + 3I EllipticK[1 - m], m]}Find a local maximum of JacobiSD as a root of
:
xmax = Solve[D[JacobiSD[x, 1 / 3], x] == 0 && 1.0 < x < 2.0, x][[1, 1, 2]]//QuietPlot[JacobiSD[x, 1 / 3], {x, -2, 6}, Epilog -> {PointSize[Large], Red, Point[{xmax, JacobiSD[xmax, 1 / 3]}]}]Visualization (3)
Plot the JacobiSD functions for various values of parameter:
Plot[{JacobiSD[x, 0], JacobiSD[x, 4 / 5], JacobiSD[x, 1], JacobiSD[x, 3]}, {x, -7, 7}]Plot JacobiSD as a function of its parameter
:
Plot[{JacobiSD[1, m], JacobiSD[2, m], JacobiSD[3, m]}, {m, -5, 5}]ComplexContourPlot[Re[JacobiSD[z, 1 / 2]], {z, -8 - 8 I, 8 + 8 I}, IconizedObject[«PlotOptions»]]ComplexContourPlot[Im[JacobiSD[z, 1 / 2]], {z, -8 - 8 I, 8 + 8 I}, IconizedObject[«PlotOptions»]]Function Properties (8)
JacobiSD is
-periodic along the real axis:
JacobiSD[x, m] == JacobiSD[x + 4EllipticK[m], m]JacobiSD is
-periodic along the imaginary axis:
JacobiSD[x, m] == JacobiSD[x + 4I EllipticK[1 - m], m]JacobiSD is an odd function in its first argument:
JacobiSD[-x, m] == -JacobiSD[x, m]FunctionAnalytic[JacobiSD[x, m], x, Assumptions -> m <= 1]It is not in general analytic:
FunctionAnalytic[JacobiSD[x, m], {x, m}]//QuietIt has both singularities and discontinuities for
:
FunctionSingularities[JacobiSD[x, m], {x, m}]FunctionDiscontinuities[JacobiSD[x, m], {x, m}]
is neither nondecreasing nor nonincreasing:
FunctionMonotonicity[JacobiSD[x, 1 / 3], x]JacobiSD is not injective for any fixed
:
FunctionInjective[JacobiSD[x, m], x, Assumptions -> m < 1]FunctionInjective[JacobiSD[x, m], x, Assumptions -> m > 1]Plot[{JacobiSD[x, 3], .5}, {x, -5, 5}]FunctionInjective[JacobiSD[x, 1], x]Plot[{JacobiSD[x, 1], 5}, {x, -5, 5}]FunctionSurjective[JacobiSD[x, m], x, Assumptions -> m < 1]Plot[{JacobiSD[x, 1 / 3], 1.5}, {x, -10, 10}]FunctionSurjective[JacobiSD[x, m], x, Assumptions -> m >= 1]JacobiSD is neither non-negative nor non-positive:
FunctionSign[JacobiSD[x, m], {x, m}]JacobiSD is neither convex nor concave:
FunctionConvexity[JacobiSD[x, 3], {x, m}]Differentiation (3)
D[JacobiSD[x, m], x]derivs = Table[D[JacobiSD[x, m], {x, n}], {n, 1, 4}]//FullSimplifyPlot[Evaluate[derivs /. m -> 1 / 3], {x, -5, 5}, PlotLegends -> {"First Derivative", "Second Derivative", "Third Derivative", "Fourth Derivative"}]D[JacobiSD[x, m], m]Integration (3)
Indefinite integral of JacobiSD:
Integrate[JacobiSD[z, m], z]Definite integral of an odd function over an interval centered at the origin:
Integrate[JacobiSD[z, 1 / 3], {z, -1, 1}]Integrate[JacobiSD[z, m]JacobiND[z, m], z]Integrate[1 / JacobiSD[z, m], z]Series Expansions (3)
Series[JacobiSD[x, 1 / 3], {x, 0, 7}]Plot the first three approximations for
around
:
terms = Normal@Table[Series[JacobiSD[x, 1 / 3], {x, 0, n}], {n, 1, 5, 2}];
Plot[{JacobiSD[x, 1 / 3], terms}, {x, -2, 2}]Series[JacobiSD[1, m], {m, 0, 3}]//FullSimplifyPlot the first three approximations for
around
:
terms = Normal@Table[Series[JacobiSD[1, m], {m, 0, n}], {n, 1, 3}];
Plot[{JacobiSD[1, m], terms}, {m, -2, 2}]JacobiSD can be applied to a power series:
JacobiSD[ArcSin[z] + O[z] ^ 10, m]Function Identities and Simplifications (3)
Parity transformation and periodicity relations are automatically applied:
JacobiSD[-u, m]JacobiSD[u + 4EllipticK[m] + 4I EllipticK[1 - m], m]Identity involving JacobiCD:
(1 - m)JacobiSD[z, m]^2 + JacobiCD[z, m]^2//FullSimplifyAutomatic argument simplifications:
JacobiSD[z + EllipticK[m], m]JacobiSD[z + I EllipticK[1 - m], m]Function Representations (3)
Representation in terms of Csc and JacobiAmplitude:
JacobiSD[z, m]^2 == (1/-m + Csc[JacobiAmplitude[z, m]]^2)//FullSimplifyRelation to other Jacobi elliptic functions:
JacobiSD[z, m] == (1/JacobiDS[z, m])//FullSimplifyJacobiSD[z, m] == (JacobiCD[z, m]/JacobiCS[z, m])//FullSimplifyTraditionalForm formatting:
JacobiSD[u, m]//TraditionalFormApplications (5)
Conformal map from a rectangle to the unit disk:
w[z_, {a_, b_}] := With[{m = InverseEllipticNomeQ[Exp[-Pi 2 b / a]]}, (I - JacobiSD[(z EllipticK[m]/a), m]JacobiDN[(z EllipticK[m]/a), m] /I + JacobiSD[(z EllipticK[m]/a), m]JacobiDN[(z EllipticK[m]/a), m] )]points = With[{pp = 25, a = 1., b = 2.},
Flatten[Table[x + I y, {x, -a, a, 2a / pp}, {y, 0, 2 b, 2b / pp}], 1]];Row[Table[Graphics[Point[{Re[#], Im[#]}]& /@ f[points], PlotRange -> All, AspectRatio -> 1, Frame -> True, ImageSize -> Small], {f, {Identity, w[#, {1, 2}]&}}], Spacer[20]]Generator for the hierarchy of solutions of the nonlinear diffusion equation
:
φ[0, y_] := 1 / JacobiSD[y, 1 / 2];
φ[n_, y_] := D[φ[n - 1, y], y] / φ[n - 1, y]
u[n_, {t_, x_}] := 2 x φ[n, y] /. y -> x^2 + 6 tTable[u[k, {t, x}], {k, 0, 2}]//SimplifyNumerical check of the solutions:
D[%, t] - D[%, x, x] + 2% ^ 3 /. {x -> 2, t -> N[3, 100]}Conformal map from an ellipse to the unit disk:
w[z_, {a_, b_}] := Block[{m = InverseEllipticNomeQ[(a - b) ^ 2 / (a + b) ^ 2], u}, u = 2 EllipticK[m] / Pi ArcSin[z / Sqrt[a ^ 2 - b ^ 2]];m^1 / 2JacobiSD[u, m]JacobiDN[u, m]]points = With[{a = 2}, Flatten[Table[r / 8. (a Cos[φ] + I Sin[φ]), {r, 8}, {φ, 0, 2Pi, 2Pi / 36}], 1]];Row[Table[Graphics[Point[{Re[#], Im[#]}]& /@ f[points], PlotRange -> All, Frame -> True, ImageSize -> Small], {f, {Identity, w[#, {2., 1}]&}}], Spacer[20]]Cartesian coordinates of a pendulum:
With[{ω = Sqrt[(g/ℓ)], m = Sin[φ0 / 2]^2}, x[t_] = 2ℓ Sin[φ0 / 2]JacobiSD[ω t, m]JacobiDN[ω t, m] ^ 2;y[t_] = -ℓ(2 JacobiDN[ω t, m] ^ 2 - 1)];Plot the time dependence of the coordinates:
Plot[Evaluate[{x[t], y[t]} /. {ℓ -> 1, g -> 9.81, φ0 -> Pi / 4}], {t, 0.1, 12}]ParametricPlot[Evaluate[{x[t], y[t]} /. {ℓ -> 1, g -> 9.81, φ0 -> Pi / 2}], {t, 0.1, 12}]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:
{JacobiSD[InverseJacobiSD[z, m], m], InverseJacobiSD[JacobiSD[z, m], m]}Use PowerExpand to disregard multivaluedness of the inverse function:
PowerExpand[%]Solve a transcendental equation:
Solve[JacobiSD[x, m]^2 + 3JacobiSD[x, m] == a, x]Possible Issues (2)
Machine-precision input is insufficient to give the correct answer:
JacobiSD[10. ^ 16, 1 / 5]N[JacobiSD[10 ^ 16, 1 / 5], 20]Currently only simple simplification rules are built in for Jacobi functions:
JacobiSD[u, m]^2 - (JacobiCD[u, m]^2 + JacobiSD[u, m]^2) JacobiSN[u, m]^2// FullSimplifySee Also
Tech Notes
Related Guides
Related Links
History
Introduced in 1988 (1.0)
Text
Wolfram Research (1988), JacobiSD, Wolfram Language function, https://reference.wolfram.com/language/ref/JacobiSD.html.
CMS
Wolfram Language. 1988. "JacobiSD." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/JacobiSD.html.
APA
Wolfram Language. (1988). JacobiSD. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/JacobiSD.html
BibTeX
@misc{reference.wolfram_2026_jacobisd, author="Wolfram Research", title="{JacobiSD}", year="1988", howpublished="\url{https://reference.wolfram.com/language/ref/JacobiSD.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_jacobisd, organization={Wolfram Research}, title={JacobiSD}, year={1988}, url={https://reference.wolfram.com/language/ref/JacobiSD.html}, note=[Accessed: 13-June-2026]}