I want to solve the differential equation:

DSolve[{R''[ρ] + 2 /ρ R'[ρ] + (1 - (l (l + 1))/ρ^2) R[ρ] == 0}, R[ρ], ρ]

This works fine and outputs:

{{R[ρ] -> C[1] SphericalBesselJ[l, ρ] + C[2] SphericalBesselY[l, ρ]}} 

But when I add the condition:

R[0] ==0


DSolve[{R''[ρ] + 2 /ρ R'[ρ]] + (1 - (l (l + 1))/ρ^2) R[ρ] == 0,
R[0] == SphericalBesselJ[1, 0]}, R[ρ], ρ]

The output is:

{ }

Why is this the case?

  • $\begingroup$ You have syntax errors. DSolve[{R''[ρ] + 2 /ρ R'[ρ]] + is not correct syntax. Did you copy this as is from your notebook? $\endgroup$
    – Nasser
    May 29, 2014 at 20:52

1 Answer 1


You can see why this happens if you evaluate your general result at zero :

     C[1] SphericalBesselJ[1, 0] + C[2] SphericalBesselY[1, 0]


while of course only one of the solutions is singular:

      {SphericalBesselJ[1, 0], SphericalBesselY[1, 0]}

{0, ComplexInfinity}

So it seems DSolve simply tries to solve for C[1],C[2] to satisfy the b.c. and fails.

As to why DSolve isnt smart enough to discard the singular solution, that is a good question.

Note that it does solve this related system that shows the same issue with one singular solution that must be discarded.

 DSolve[ { R''[p] + (2 R'[p])/p - (2 R[p])/p^2 == 0 , R[0] == 0} , R[p], p]

R[p] -> p C[1]

Here you get a warning

is possible that some of the conditions have been specified at a singular point for the equation

(For the example I set l=1 by the way. The unspecified parameter presents another potential issue but its not the cause of the problem here.)


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.