Skip to content

JacobiSD ​

The Jacobi elliptic function sd⁡(u,m)=sn⁡(u,m)/dn⁡(u,m)\operatorname{sd}(u,m) = \operatorname{sn}(u,m)/\operatorname{dn}(u,m) (Glaisher's notation), in Wolfram/mpmath's m=k2m=k^2 convention.

✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram LanguageJacobiSD!
JacobiSD(u, m)the Jacobi elliptic function sd, argument u, parameter m.
SageMathjacobi_sd(u, m)mpmathellipfun('sd', u, m=m)Juliaenumeratio_jacobi(:sd, u, m)
Typed signatures
TypePackageApplies
(number, number) -> numberanalyticalways

Domain: Special functions

Details
  • m=k2m = k^2, the same convention EllipticK / EllipticF use.
  • sd⁡(u,m)=sn⁡(u,m)/dn⁡(u,m)\operatorname{sd}(u,m) = \operatorname{sn}(u,m)/\operatorname{dn}(u,m) — JacobiSN and JacobiDN share this head's numeric kernel and exact-value coverage (m outside [0,1] via the reciprocal- and imaginary-modulus transformations, complex u, a genuinely complex m declined).
  • sd(0,m) = 0, for any m.
  • Numeric only — a symbolic argument stays unevaluated; a floating-point argument (or N()) evaluates directly.
  • N(x, d) past a double's digits runs the same AGM in BigDecimal for real uu and 0<m<10 < m < 1; complex uu and other mm stay unevaluated there rather than print a double's digits as more.
  • Derivatives of every order in uu and in mm are closed forms in sn, cn, dn and the Jacobi epsilon E(u,m)=Z(u,m)+u E(m)/K(m)\mathcal{E}(u,m)=Z(u,m)+u\,E(m)/K(m) (DLMF 22.13): D, Series in uu at 00 or at a symbolic point, and Series in mm at m=0m=0 all give concrete coefficients. The mm-derivatives evaluate numerically for real uu and mm between 0 and 1.

Plot

Examples

1 more kept as data, checked against the oracles
Basic #

A floating-point argument evaluates directly to a decimal

live ↗
InN(JacobiSD(0.3,−2))N(\mathrm{JacobiSD}(0.3, -2))Out0.279 301 577 474 694 60.279\,301\,577\,474\,694\,6

Known value · mpmath 1.3.0 ellipfun

Scope #

m close to its m = 1 boundary

live ↗
InN(JacobiSD(1.1,0.9))N(\mathrm{JacobiSD}(1.1, 0.9))Out1.267 821 766 920 661 51.267\,821\,766\,920\,661\,5

The derivative in the parameter m, in closed form through the Jacobi zeta

live ↗
IndJacobiSD(u,m)dm\frac{\mathrm{d}\mathrm{JacobiSD}(u, m)}{\mathrm{d}m}Out−(uEllipticE(m)EllipticK(m)+JacobiZN(u,m))JacobiCN(u,m)2m×(1−m)+uJacobiCN(u,m)2m−(uEllipticE(m)EllipticK(m)+JacobiZN(u,m))JacobiCN(u,m)JacobiSN(u,m)22(1−m)JacobiDN(u,m)2+uJacobiCN(u,m)JacobiSN(u,m)22JacobiDN(u,m)2+JacobiSN(u,m)32(1−m)JacobiDN(u,m)+JacobiSN(u,m)JacobiCN(u,m)22(1−m)JacobiDN(u,m)-\frac{(\frac{u\mathrm{EllipticE}(m)}{\mathrm{EllipticK}(m)}+\mathrm{JacobiZN}(u, m))\mathrm{JacobiCN}(u, m)}{2m×(1-m)}+\frac{u\mathrm{JacobiCN}(u, m)}{2m}-\frac{(\frac{u\mathrm{EllipticE}(m)}{\mathrm{EllipticK}(m)}+\mathrm{JacobiZN}(u, m))\mathrm{JacobiCN}(u, m)\mathrm{JacobiSN}(u, m)^2}{2(1-m)\mathrm{JacobiDN}(u, m)^2}+\frac{u\mathrm{JacobiCN}(u, m)\mathrm{JacobiSN}(u, m)^2}{2\mathrm{JacobiDN}(u, m)^2}+\frac{\mathrm{JacobiSN}(u, m)^3}{2(1-m)\mathrm{JacobiDN}(u, m)}+\frac{\mathrm{JacobiSN}(u, m)\mathrm{JacobiCN}(u, m)^2}{2(1-m)\mathrm{JacobiDN}(u, m)}

The Taylor series at u = 0, its coefficients polynomials in m

live ↗
InSeries⁡(JacobiSD(u,m),u,0,5)\operatorname{Series}(\mathrm{JacobiSD}(u, m), u, 0, 5)Outu+16(2m−1)u3+1120(16m2−16m+1)u5+O(u7)u+\frac{1}{6}(2m-1)u^3+\frac{1}{120}(16m^2-16m+1)u^5+O\left(u^7\right)

The series in the parameter m at m = 0, its coefficients trigonometric in z

live ↗
InSeries⁡(JacobiSD(z,m),m,0,2)\operatorname{Series}(\mathrm{JacobiSD}(z, m), m, 0, 2)Outsin⁡(z)+m×(−zcos⁡(z)4−sin⁡(3z)16+7sin⁡(z)16)+(−132sin⁡(z)z2−3zcos⁡(z)16+164×3zcos⁡(3z)−sin⁡(3z)16+sin⁡(5z)256+79sin⁡(z)256)m2+O(m3)\sin(z)+m×(-\frac{z\cos(z)}{4}-\frac{\sin(3z)}{16}+\frac{7\sin(z)}{16})+(-\frac{1}{32}\sin(z)z^2-\frac{3z\cos(z)}{16}+\frac{1}{64}×3z\cos(3z)-\frac{\sin(3z)}{16}+\frac{\sin(5z)}{256}+\frac{79\sin(z)}{256})m^2+O\left(m^3\right)
Properties #

u = 0 is 0, for any m

live ↗
InJacobiSD(0,m)\mathrm{JacobiSD}(0, m)Out00
live ↗
InN(JacobiSD(21/24i,−1))N(\mathrm{JacobiSD}(\frac{2^{1/2}}{4}i, -1))Out0.377 290 639 308 585i0.377\,290\,639\,308\,585i

Known value · Wolfram MathematicalFunctionData, JacobiSD, Landen's transformation

live ↗
InN(JacobiSD(12(1+21/22),(1−21/2/2)2(1+21/2/2)2))N(\mathrm{JacobiSD}(\frac{1}{2}(1+\frac{2^{1/2}}{2}), \frac{(1-2^{1/2}/2)^2}{(1+2^{1/2}/2)^2}))Out0.758 221 922 298 758 80.758\,221\,922\,298\,758\,8

Known value · Wolfram MathematicalFunctionData, JacobiSD, Gauss' transformation

live ↗
InN(JacobiSD(2i,−1))N(\mathrm{JacobiSD}(\sqrt{2}i, -1))Out−6.816 319 351 226 808i-6.816\,319\,351\,226\,808i

Known value · Wolfram MathematicalFunctionData, JacobiSD, Landen's transformation

live ↗
InN(JacobiSD(2(1+22),(1−21/2/2)2(1+21/2/2)2))N(\mathrm{JacobiSD}(2(1+\frac{\sqrt{2}}{2}), \frac{(1-2^{1/2}/2)^2}{(1+2^{1/2}/2)^2}))Out−0.246 689 710 708 594 86-0.246\,689\,710\,708\,594\,86

Known value · Wolfram MathematicalFunctionData, JacobiSD, Gauss' transformation

Possible issues #

Symbolic arguments are left unevaluated rather than guessed at

live ↗
InJacobiSD(u,m)\mathrm{JacobiSD}(u, m)OutJacobiSD(u,m)\mathrm{JacobiSD}(u, m)

u = iπ/2 is a pole of sn AND cn individually (both ~oo at m = 1), but their ratio is finite — sharing one denominator in the m = 1 exact table (see jacobi-elliptic.ts) keeps this from an unresolved ComplexInfinity/ComplexInfinity.

live ↗
InN(JacobiSD(iπ2,1))N(\mathrm{JacobiSD}(\frac{i π}{2}, 1))Out1.0i1.0i

Known value · mpmath 1.3.0 ellipfun

Same gap as JacobiCD (the true value is tracked there, not repeated per head): u this far out has no argument reduction against its real period, so the guard in exceedsDoublePrecision's sibling (periodsExceedDouble, ce-patches/support/precise.ts) declines rather than return a wrong value.

live ↗
InN(JacobiSD(1016,15))N(\mathrm{JacobiSD}(10^{16}, \frac{1}{5}))OutJacobiSD(10 000 000 000 000 000.0,0.2)\mathrm{JacobiSD}(10\,000\,000\,000\,000\,000.0, 0.2)
About
Examples14
Checked againstWolfram Language 12 agree1 differSageMath 10 agree1 differ1 unevaluated1 errormpmath 7 agree1 unevaluated1 errorJulia 6 agree1 unevaluated2 error
CrosswalkWolfram LanguageSageMathmpmathJulia

Implementation

mappedmpmathpackages/oracle/src/mappings.ts
mappedsagepackages/oracle/src/mappings.ts
mappedjuliapackages/oracle/src/mappings.ts

See also: JacobiSN, JacobiDN, JacobiDS