Note: In this question I am concerned only with real-valued variables and functions.
DLMF, ยง9.8 Airy Functions, Modulus and Phase, formula 9.8.4 defines the phase of Airy functions: ฮธ(x)=arctanAixBix.
ฮธ[x_] := ArcTan[AiryAi[x]/AiryBi[x]]
Apparently, in this form the phase has a countable infinite number of jump discontinuities for negative values of x. I need to construct a Mathematica expression that represents a continuous monotonic version of the phase ฮธ(x) (let's name it ฯ), where all pieces between discontinuities are properly shifted and stitched, as shown on the following graph:
One approach would be to get the derivative of ฮธ(x): ฮธโฒ(x)=โ1ฯ1Ai2x+Bi2x,
1/ฯ Integrate[1/(AiryAi[z]^2 + AiryBi[z]^2), {z, x, โ}]
Unfortunately, Mathematica leaves this integral unevaluated, even if an explicit value for the boundary x is provided.
Is it possible to write a closed-form Mathematica expression, possibly containing special functions, that represents the continuous monotonic phase ฯ(x)?
Answer
Short story
ฯ(x)=arg[(Bix+iAix)eโ23i(โx)3/2]+23Re[(โx)3/2]
Update: I see that you want use only real functions, so you can expand this as
ฯ(x)={arctancos(23(โx)3/2)Aixโsin(23(โx)3/2)Bixsin(23(โx)3/2)Aix+cos(23(โx)3/2)Bix+23(โx)3/2x<0arctanAi(x)Bi(x)xโฅ0
Update 2: You can replace โx by (|x|โx)/2 to get rid of the piecewise.
Long story
ฮธ(x)=arctanAixBix=arg(Bix+iAix)
In the complex plane
ParametricPlot[Through@{Re, Im}[I AiryAi[x] + AiryBi[x]], {x, -100, 0}, PlotRange -> All]
There are a lot of turns arond the point (0,0).
We know asymptotics of Aix and Bix at xโโโ
Ai(x)โผsin(23(โx)32+ฯ4)โฯ(โx)14,Bi(x)โผcos(23(โx)32+ฯ4)โฯ(โx)14
Therefore, let us multiply Bix+iAix by exp(โ23i(โx)3/2)
ParametricPlot[
Through@{Re, Im}[(I AiryAi[x] + AiryBi[x]) Exp[-I 2/3 (-x)^(3/2)]], {x, -100, 0},
PlotRange -> All]
Less then one turn!
After this we need to add the phase
argexp[23i(โx)3/2]=23Re[(โx)3/2]
Finally,
ฮธ[x_] := ArcTan[AiryAi[x]/AiryBi[x]]
phase[x_] := Arg[(I AiryAi[x] + AiryBi[x]) Exp[-I 2/3 (-x)^(3/2)]] + Re[2/3 (-x)^(3/2)]
Plot[{ฮธ[x], phase[x]}, {x, -5, 5}, PlotRange -> All]
Real version of phase
:
phaseRe[x_] :=
Piecewise[{{ArcTan[
AiryBi[x] Cos[2/3 (-x)^(3/2)] + AiryAi[x] Sin[2/3 (-x)^(3/2)],
AiryAi[x] Cos[2/3 (-x)^(3/2)] - AiryBi[x] Sin[2/3 (-x)^(3/2)]] + 2/3 (-x)^(3/2),
x < 0}, {ArcTan[AiryBi[x] , AiryAi[x]], x >= 0}}]
Comments
Post a Comment