During my wandering in Mathematica.se, I gradually noticed that a certain kind of differential equation solving problem is "troubling" us all the time, that is, the boundary value problem (BVP) of nonlinear ordinary differential equations (ODEs).
The shooting method, which is used by the Mathematica function NDSolve
, seems to be the only method that users of Mathematica.SE know about. Sometimes it works well, but in more cases (according to my personal feeling), it's painful to find a proper initial guess.
It's often that case that a proper guess cannot be found. Here is an example that caused me to post this question.
So, is shooting method the only general numerical method for solving BVP of nonlinear ODEs?
If so, is there a good way to get a proper initial guess?
If not, what's the alternative? If possible, please give some introduction or links for existing solvers implementing these alternatives.