ODE Change of Vars: Techniques for Bessel Function Transformation

  • Thread starter Thread starter robousy
  • Start date Start date
  • Tags Tags
    Change Ode
robousy
Messages
332
Reaction score
1
Hey,

I'm reading the paper:

http://arxiv.org/abs/hep-ph/9907218

They have an ODE (eqn 7):

-\frac{1}{r^2}\frac{d}{d\phi}e^{-4kr\phi}\frac{dy_n}{d\phi}+m^2e^{-4kr\phi}y_n=m^2_ne^{-2kr\phi}y_n

They then make a change of variables:
z_n=\frac{m_n}{k}e^{kr\phi}
f_n=e^{-2kr\phi}y_n

Then the ODE becomes:

z_n^2\frac{d^2f_n}{dz_n^2}+z_n\frac{df_n}{dz_n}+(z_n^2-[4+\frac{m^2}{k^2}])f_n=0

My question is regarding this change of variables:

How do you 'know' how to change the variables so that the ODE comes out as this tiday Bessel function. Is this an art almost, or is there some kind of technique??

Looking foward to gaining some insight here.

Richard
 
Physics news on Phys.org
I use the following "cheating" technique in my research:
Solve the equation in Mathematica. Look at the arguments of Bessel function etc that is gives and make the necessary substitutions :)
This method works for your equation, Mathematica 6 gives the solution (f_n) in terms of BesselJ functions of the argument (z_n).
 
Nice. I like it. I like it a lot. Thanks avalonme. I'll try it first thing tomorrow. Its been bugging me for about a week now.

Rich
 
say, did you try this avalonme? Also do you use DSolve? I plugged in the above formula and get exponential solutions, not the bessel function soltn I was expecting.
 
That's what I did: you can directly copy this to Mathematica 6.

Cell[CellGroupData[{Cell[BoxData[
RowBox[{
RowBox[{"DSolve", "[",
RowBox[{
RowBox[{
RowBox[{
RowBox[{
RowBox[{"-",
FractionBox["1",
SuperscriptBox["r", "2"]]}],
RowBox[{"D", "[",
RowBox[{
RowBox[{
RowBox[{"Exp", "[",
RowBox[{
RowBox[{"-", "4"}], "k", " ", "r", " ", "\[Phi]"}], "]"}],

RowBox[{
RowBox[{"y", "'"}], "[", "\[Phi]", "]"}]}], ",",
"\[Phi]"}], "]"}]}], "+",
RowBox[{
SuperscriptBox["m", "2"],
RowBox[{"Exp", "[",
RowBox[{
RowBox[{"-", "4"}], "k", " ", "r", " ", "\[Phi]"}], "]"}],
RowBox[{"y", "[", "\[Phi]", "]"}]}]}], "\[Equal]",
RowBox[{
SuperscriptBox["mn", "2"],
RowBox[{"Exp", "[",
RowBox[{
RowBox[{"-", "2"}], " ", "k", " ", "r", " ", "\[Phi]"}],
"]"}],
RowBox[{"y", "[", "\[Phi]", "]"}]}]}], ",",
RowBox[{"y", "[", "\[Phi]", "]"}], ",", "\[Phi]"}], "]"}], "[",
RowBox[{"[", "1", "]"}], "]"}]], "Input",
CellChangeTimes->{{3.4173143524375*^9, 3.417314453640625*^9}, {
3.417314484921875*^9, 3.417314486453125*^9}}],

Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"y", "[", "\[Phi]", "]"}], "\[Rule]",
RowBox[{
RowBox[{
SuperscriptBox["\[ExponentialE]",
RowBox[{"2", " ", "k", " ", "r", " ", "\[Phi]"}]], " ",
RowBox[{"BesselJ", "[",
RowBox[{
RowBox[{"-",
FractionBox[
SqrtBox[
RowBox[{
RowBox[{"4", " ",
SuperscriptBox["k", "2"]}], "+",
SuperscriptBox["m", "2"]}]], "k"]}], ",",
FractionBox[
RowBox[{"mn", " ",
SqrtBox[
RowBox[{
SuperscriptBox["\[ExponentialE]",
RowBox[{"2", " ", "k", " ", "r", " ", "\[Phi]"}]], " ",
SuperscriptBox["r", "2"]}]]}],
RowBox[{"k", " ", "r"}]]}], "]"}], " ",
RowBox[{"C", "[", "1", "]"}], " ",
RowBox[{"Gamma", "[",
RowBox[{"1", "-",
FractionBox[
SqrtBox[
RowBox[{
RowBox[{"4", " ",
SuperscriptBox["k", "2"]}], "+",
SuperscriptBox["m", "2"]}]], "k"]}], "]"}]}], "+",
RowBox[{
SuperscriptBox["\[ExponentialE]",
RowBox[{"2", " ", "k", " ", "r", " ", "\[Phi]"}]], " ",
RowBox[{"BesselJ", "[",
RowBox[{
FractionBox[
SqrtBox[
RowBox[{
RowBox[{"4", " ",
SuperscriptBox["k", "2"]}], "+",
SuperscriptBox["m", "2"]}]], "k"], ",",
FractionBox[
RowBox[{"mn", " ",
SqrtBox[
RowBox[{
SuperscriptBox["\[ExponentialE]",
RowBox[{"2", " ", "k", " ", "r", " ", "\[Phi]"}]], " ",
SuperscriptBox["r", "2"]}]]}],
RowBox[{"k", " ", "r"}]]}], "]"}], " ",
RowBox[{"C", "[", "2", "]"}], " ",
RowBox[{"Gamma", "[",
RowBox[{"1", "+",
FractionBox[
SqrtBox[
RowBox[{
RowBox[{"4", " ",
SuperscriptBox["k", "2"]}], "+",
SuperscriptBox["m", "2"]}]], "k"]}], "]"}]}]}]}],
"}"}]], "Output",
CellChangeTimes->{{3.417314442578125*^9, 3.417314453890625*^9},
3.417314487515625*^9}]
}, Open ]]
 
Thanks. When I saw the result it put a huge smile on my face! This is great. One extra (and important) piece in a big puzzle I'm trying to put together.

I compared my short code against yours and the only difference was that I took the derivative of the first term in the expression by hand before putting into mathematica. Hmmmm, I thought I could differentiate...

Incidently I checked out your homepage. I'm in high energy at Baylor in Texas, but a guy I share an office with is into Plasma physics. Some nice papers you have out.

Richard
 
Back
Top