JacobiSN
The Jacobi elliptic function , one of the three primary Jacobi elliptic functions, in Wolfram/mpmath's parameter convention.
JacobiSN!JacobiSN(u, m)the Jacobi elliptic sine, argument u, parameter m.Typed signatures
| Type | Package | Applies |
|---|---|---|
(number, number) -> number | analytic | always |
Details
- , the same convention EllipticK / EllipticF use — not the elliptic modulus k itself.
- Numeric evaluation is the descending Landen/arithmetic-geometric-mean method (Abramowitz & Stegun 16.4) for real u, real m between 0 and 1, extended to m outside that range by the reciprocal-modulus (m > 1) and imaginary-modulus (m < 0) transformations, and to complex u via DLMF 22.8's real addition formulas (real-u/real-(1−m) evaluations combined algebraically — verified against mpmath to ~1e-13 relative across all four quadrants, large Im(u), and close to sn's poles).
- A genuinely complex m stays unevaluated — neither the AGM recursion nor either parameter transform has been verified there.
- Exact at u = 0 (sn = 0, for any m), m = 0 (sn = Sin(u)), m = 1 (sn = Tanh(u)), and the quarter period u = EllipticK(m) (sn = 1).
- and , checked at complex u as part of this head's tests.
- Numeric only — a symbolic argument (outside the exact table above) 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 and ; complex and other stay unevaluated there rather than print a double's digits as more.- Derivatives of every order in and in are closed forms in sn, cn, dn and the Jacobi epsilon (DLMF 22.13):
D,Seriesin at or at a symbolic point, andSeriesin at all give concrete coefficients. The -derivatives evaluate numerically for real and between 0 and 1.
Examples
23 more kept as data, checked against the oraclesBasic #
A floating-point argument evaluates directly to a decimal
live ↗Known value · mpmath 1.3.0 ellipfun
Scope #
m greater than 1, via the reciprocal-modulus transformation
live ↗Known value · mpmath 1.3.0 ellipfun
m less than 0, via the imaginary-modulus transformation
live ↗Known value · mpmath 1.3.0 ellipfun
Properties #
Possible issues #
A genuinely complex m is declined — neither the AGM recursion nor its parameter transforms are verified there
live ↗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 ↗About
| Examples | 41 |
|---|---|
| Checked against | Wolfram Language 39 agree2 differ |
| Crosswalk | Wolfram Language |
See also: JacobiCN, JacobiDN, JacobiAmplitude, EllipticK