ODE Change of Vars: Techniques for Bessel Function Transformation

  • Context: Graduate 
  • Thread starter Thread starter robousy
  • Start date Start date
  • Tags Tags
    Change Ode
Click For Summary

Discussion Overview

The discussion revolves around techniques for transforming ordinary differential equations (ODEs) into forms that yield Bessel functions, specifically through a change of variables. Participants explore the methods and reasoning behind these transformations, as well as practical approaches using computational tools.

Discussion Character

  • Exploratory
  • Technical explanation
  • Mathematical reasoning

Main Points Raised

  • Richard presents an ODE from a paper and inquires about the methodology for changing variables to achieve a Bessel function form, questioning whether this is an art or a systematic technique.
  • Another participant shares a method of using Mathematica to solve the equation, suggesting that it can provide insights into the necessary substitutions to arrive at Bessel functions.
  • Richard expresses enthusiasm for the computational approach and indicates a desire to try it out.
  • Richard later questions the effectiveness of the method after obtaining exponential solutions instead of the expected Bessel function solutions when using Mathematica.
  • A participant confirms that they successfully used Mathematica to derive the Bessel function solutions, sharing their input code and results.
  • Richard expresses satisfaction with the results obtained from Mathematica, noting its importance in his research context and mentioning a connection to a colleague in plasma physics.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the effectiveness of the variable change method, as Richard experiences discrepancies in results when using Mathematica, while others report success. The discussion remains unresolved regarding the best approach to achieve the desired Bessel function solutions.

Contextual Notes

There are indications of differing experiences with Mathematica's output, highlighting potential limitations in the method or assumptions made during the variable transformation process. Specific mathematical steps and definitions are not fully resolved.

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):

[tex]-\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[/tex]

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

Then the ODE becomes:

[tex]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[/tex]

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
 

Similar threads

  • · Replies 8 ·
Replies
8
Views
3K
Replies
1
Views
11K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 0 ·
Replies
0
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K