MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: How to simplify?

  • To: mathgroup at
  • Subject: [mg96224] Re: [mg96161] How to simplify?
  • From: Bob Hanlon <hanlonr at>
  • Date: Mon, 9 Feb 2009 05:38:36 -0500 (EST)
  • Reply-to: hanlonr at

S[r_] := 1/2 r BesselJ[1, r];

S2[r_] = y[r] /. DSolve[
     y''[r] + 1/r y'[r] + S[r] == BesselJ[0, r], y[r], r][[1]] //

C[1]*Log[r] + C[2] + (r*BesselJ[1, r])/2 - 1

You can get the desired result by setting the arbitrary constants to the obvious values

S2[r] /. {C[1] -> 0, C[2] -> 1}

(r*BesselJ[1, r])/2

Or more generally,

Reduce[S[r] == S2[r]]

(Log[r] == 0 && C[2] == 1) || (Log[r] != 0 && C[1] == (1 - C[2])/Log[r])

S2[r] /. C[1] -> (1 - C[2])/Log[r]

(r*BesselJ[1, r])/2

Or use boundary conditions that are consistent with the desired results

DSolve[{y''[r] + 1/r y'[r] + S[r] == BesselJ[0, r],
    y[1] == (BesselJ[1, 1])/2, y'[1] == BesselJ[0, 1]/2},
   y[r], r][[1]] // FullSimplify

{y[r] -> (r*BesselJ[1, r])/2}

Bob Hanlon

---- Aaron Fude <aaronfude at> wrote: 


I'm sorry for totally belaboring this point, but I am having a hard
time getting Mathematica be useful for me in this one respect. The
following code shows that the linear ODE that I am trying to solve has
1/2 r BesselJ[1, r] as the particular solution. DSolve, however,
returns an answer that I'm sure is correct. I tested it - numerically,
the particular part is exactly 1/2 r BesselJ[1, r].

But for someone who is looking for analytical insight, the answer is
not useful. What can be done to simplify the expression so that it
appears as 1/2 r BesselJ[1, r]

S[r_] := 1/2 r BesselJ[1, r];
D[S[r], {r, 2}] + 1/r D[S[r], r] + S[r] // FullSimplify
DSolve[y''[r] + 1/r y'[r] + S[r] == BesselJ[0, r], y[r],
  r] // FullSimplify

I will gladly accept the answer "Nothing" and move on to looking for
alternative solutions. Also note, this is just a model problem for me
in preparation for more complicated ones. Last time I got several
responses that said - "if you already know the solution to this
problem, why are you trying to solve it?"

Many thanks in advance,



Bob Hanlon

  • Prev by Date: Re: Log[x]//TraditionalForm
  • Next by Date: "mapping" functions over lists, again!
  • Previous by thread: Re: How to simplify?
  • Next by thread: Re: How to simplify?