SpecialFuncs::EllipJacoby Function

Overload List

#SignatureDescription
1void EllipJacoby(double u, double m, double Epsilon, double &sn, double &cn, double &dn);Jacobi elliptic functions sn, cn and dn.
2void EllipJacoby(float u, float m, float Epsilon, float &sn, float &cn, float &dn);

Overload 1: void EllipJacoby(double u, double m, double Epsilon, double &sn, double &cn, double &dn);

Jacobi elliptic functions sn, cn and dn.

#NameTypeDescription
1udoubleDefines value at which the functions will be evaluated (any real).
2mdoubleDefines the parameter m = k^2, a real value on the closed interval [0,1].
3EpsilondoubleDefines the accuracy for the AGM/Landen iteration.
4sndouble &Returns Jacobi elliptic function sn(u,m).
5cndouble &Returns Jacobi elliptic function cn(u,m).
6dndouble &Returns Jacobi elliptic function dn(u,m).
Remarks:

Computes the three Jacobi elliptic functions sn(u,m), cn(u,m) and dn(u,m) at argument u with parameter m = k^2 (modulus squared), using the descending Landen / AGM transformation to accuracy Epsilon. They are the inverse of the incomplete elliptic integral of the first kind: if u=\int_0^{\varphi} d\theta/\sqrt{1-m\sin^2\theta} then

sn(u,m)=sinvarphi, cn(u,m)=cosvarphi, dn(u,m)=sqrt(1-m sn^2(u,m)).

They satisfy the identities sn^2+cn^2=1 and dn^2+m\,sn^2=1. Degenerate limits handled exactly: at m=0, (sn,cn,dn)=(\sin u,\cos u,1); at m=1, (sn,cn,dn)=(\tanh u,\operatorname{sech} u,\operatorname{sech} u). Domain: u any real value; the parameter m on the closed interval [0,1]. For m<0 or m>1 an exception is raised.

See Also: SpecialFuncs::EllipComplete
Declared in Dew::Math::Units::SpecialFuncs · Dew.Math/Units.SpecialFuncs.h · Cross-compiler

Overload 2: void EllipJacoby(float u, float m, float Epsilon, float &sn, float &cn, float &dn);

#NameTypeDescription
1ufloat
2mfloat
3Epsilonfloat
4snfloat &
5cnfloat &
6dnfloat &
Declared in Dew::Math::Units::SpecialFuncs · Dew.Math/Units.SpecialFuncs.h · Cross-compiler