The conversion equation between BesselI
and BesselJ
is as follows:
$$
I_v(x)=J_v(i x)/i^v
$$
$$ I_{-v}(x)=i^{-v} J_{-v}(i x) $$
Where $J_v(x)$ and $J_{-v}(i x)$ are the Bessel function of the first kind (BesselJ
) of order $v$ and $-v$ evaluated at $x, I_v(x)$ and $I_{-v}(x)$ are the modified Bessel function of the first kind (BesselI
) of order $v$ and $-v$ evaluated at $x$, and $i$ is the imaginary unit.
I attempted to verify these two equations using the following MMA (Mathematica) code, but was unsuccessful.
Clear["Global`*"];
BesselI[v, x] == BesselJ[v, I x]/I^v // FullSimplify
BesselI[-v, x] == BesselJ[-v, I x]*I^v // FullSimplify
(* Failed *)
However, when I multiplied both the numerator and denominator of the right-hand side of the first equation by $x^v$, the verification was successful. What could be the reason for this?
BesselI[v, x] == x^v BesselJ[v, I x]/(I x)^v // FullSimplify
(* True *)
EDIT 1
Thank you for Nasser's answer. Additionally, it appears that the two results have different number fields? One is in the field of real numbers, while the other is in the field of complex numbers.
Clear["Global`*"];
e1 = BesselI[v, x]
e2 = BesselJ[v, I x]/I^v
e1 /. v -> 2 /. x -> -4 // N
e2 /. v -> 2 /. x -> -4 // N
(* 6.42219 *)
(* 6.42219 + 0. I *)
Note: Nasser's response to the comment below his answer explained that the 0.I is simply a result of numerical round-off.
EDIT 2
Does this have to do with the domain of BesselI
? The domain of BesselI
is somewhat confusing.
FunctionDomain[BesselI[v, x], x]
(* Element[v,Integers] || (x >= 0 && v >= 0) || x > 0 *)
FunctionDomain[BesselI[v, x], x, Complexes]
(* Element[v,Integers] || v == 0 || x != 0 || Re[v] > 0 *)
Clear["Global`*"];
BesselI[v, x] == x^v BesselJ[v, I x]/(I x)^v // FullSimplify
(* True *)
BesselI[v, x] == BesselJ[v, I x]/I ^v // FullSimplify
(* Failed *)
Assuming[x > 0, BesselI[v, x] == BesselJ[v, I x]/I^v // FullSimplify]
(* True *)
Assuming[Element[v, Integers], BesselI[v, x] == BesselJ[v, I x]/I^v // FullSimplify]
(* True *)
Assuming[x >= 0 && v >= 0, BesselI[v, x] == BesselJ[v, I x]/I^v // FullSimplify]
(* True *)