Exponential representation of the Jacobi elliptic functions using the Jacobi amplitude function

The basic idea underlying the proposed approach is to introduce a complex-valued function, denoted by F(u, m), defined by

ClearAll[u, t, m, k, F];

(* Assumptions *)

$Assumptions =
  Element[{u, t, m, k}, Reals] &&
  0 < k < 1 && m == k^2;

(* Definition of F(u,m) *)

F[u_, m_] := JacobiCN[u, m] + I JacobiSN[u, m];

(* Differentiate F(u,m) w.r.t. u *)

dF = D[F[u, m], u]

(* Expected result:
-JacobiSN[u,m] JacobiDN[u,m]
+ I JacobiCN[u,m] JacobiDN[u,m]
*)

(* Factor the derivative *)

dFFactored = Factor[dF]

(* Verify the differential equation:
dF/du = I JacobiDN[u,m] F[u,m]
*)

deCheck = FullSimplify[
  D[F[u, m], u] == I JacobiDN[u, m] F[u, m]
]

(* Result: True *)

(* Divide by F(u,m) *)

dividedForm = FullSimplify[
  D[F[u, m], u]/F[u, m]
]

(* Expected result:
I JacobiDN[u,m]
*)

(* Integrate from 0 to u *)

leftIntegral = Integrate[
  D[F[t, m], t]/F[t, m],
  {t, 0, u}
]

rightIntegral = Integrate[
  I JacobiDN[t, m],
  {t, 0, u}
]

(* Derivative of the Jacobi amplitude *)

amDerivative = FullSimplify[
  D[JacobiAmplitude[t, m], t]
]

(* Expected:
JacobiDN[t,m]
*)

(* Initial values *)

cn0 = JacobiCN[0, m]
sn0 = JacobiSN[0, m]

(* Results:
cn0 = 1
sn0 = 0
*)

F0 = FullSimplify[F[0, m]]

(* Result:
1
*)

am0 = JacobiAmplitude[0, m]

(* Result:
0
*)

logF0 = Log[F0]

(* Result:
0
*)

(* Main exponential identity *)

jacobiEulerIdentity =
  Exp[I JacobiAmplitude[u, m]] ==
   JacobiCN[u, m] + I JacobiSN[u, m];

identityCheck = FullSimplify[
  jacobiEulerIdentity
]

(* Expected result:
True
*)

(* Complex conjugate identity *)

conjugateIdentity =
  Exp[-I JacobiAmplitude[u, m]] ==
   JacobiCN[u, m] - I JacobiSN[u, m];

conjugateCheck = FullSimplify[
  conjugateIdentity
]

(* Expected result:
True
*)

(* Exponential Forms of the Jacobi Elliptic Functions *)

(* cn(u,m) *)

cnExponential =
  JacobiCN[u, m] ==
   (Exp[I JacobiAmplitude[u, m]] +
    Exp[-I JacobiAmplitude[u, m]])/2;

cnCheck = FullSimplify[
  cnExponential
]

(* Expected: True *)

(* sn(u,m) *)

snExponential =
  JacobiSN[u, m] ==
   (Exp[I JacobiAmplitude[u, m]] -
    Exp[-I JacobiAmplitude[u, m]])/(2 I);

snCheck = FullSimplify[
  snExponential
]

(* Expected: True *)

(* Real and imaginary parts *)

cnRealPart =
  JacobiCN[u, m] ==
   Re[Exp[I JacobiAmplitude[u, m]]];

snImaginaryPart =
  JacobiSN[u, m] ==
   Im[Exp[I JacobiAmplitude[u, m]]];

realPartCheck = FullSimplify[
  cnRealPart
];

imaginaryPartCheck = FullSimplify[
  snImaginaryPart
];

{realPartCheck, imaginaryPartCheck}

(* Expected:
{True, True}
*)

(* Final identities *)

finalIdentities = {
  Exp[I JacobiAmplitude[u, m]] ==
   JacobiCN[u, m] + I JacobiSN[u, m],

  Exp[-I JacobiAmplitude[u, m]] ==
   JacobiCN[u, m] - I JacobiSN[u, m],

  JacobiCN[u, m] ==
   (Exp[I JacobiAmplitude[u, m]] +
    Exp[-I JacobiAmplitude[u, m]])/2,

  JacobiSN[u, m] ==
   (Exp[I JacobiAmplitude[u, m]] -
    Exp[-I JacobiAmplitude[u, m]])/(2 I)
};

TraditionalForm[finalIdentities]

The preceding identities establish a complete analogy between the classical Euler representation of the trigonometric functions and the proposed exponential representation of the Jacobi elliptic functions. In this formulations, the Jacobi amplitude function plays the role of the angular variable in Euler’s formula, while the Jacobi elliptic functions naturally emerge as the real and imaginary components of the corresponding complex exponential.

An Exponential Representation of the Jacobi Elliptic Functions.pdf (197 KB)