In
numerical analysis
Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic computation, symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of ...
, the shooting method is a method for solving a
boundary value problem
In mathematics, in the field of differential equations, a boundary value problem is a differential equation together with a set of additional constraints, called the boundary conditions. A solution to a boundary value problem is a solution to t ...
by reducing it to an
initial value problem
In multivariable calculus, an initial value problem (IVP) is an ordinary differential equation together with an initial condition which specifies the value of the unknown function at a given point in the domain. Modeling a system in physics or oth ...
. It involves finding solutions to the initial value problem for different initial conditions until one finds the solution that also satisfies the boundary conditions of the boundary value problem. In layman's terms, one "shoots" out trajectories in different directions from one boundary until one finds the trajectory that "hits" the other boundary condition.
Mathematical description
Suppose one wants to solve the boundary-value problem
Let
solve the initial-value problem
If
, then
is also a solution of the boundary-value problem.
The shooting method is the process of solving the initial value problem for many different values of
until one finds the solution
that satisfies the desired boundary conditions. Typically, one does so
numerically. The solution(s) correspond to root(s) of
To systematically vary the shooting parameter
and find the root, one can employ standard root-finding algorithms like the
bisection method
In mathematics, the bisection method is a root-finding method that applies to any continuous function for which one knows two values with opposite signs. The method consists of repeatedly bisecting the interval defined by these values and the ...
or
Newton's method
In numerical analysis, Newton's method, also known as the Newton–Raphson method, named after Isaac Newton and Joseph Raphson, is a root-finding algorithm which produces successively better approximations to the roots (or zeroes) of a real-valu ...
.
Roots of
and solutions to the boundary value problem are equivalent. If
is a root of
, then
is a solution of the boundary value problem. Conversely, if the boundary value problem has a solution
, it is also the unique solution
of the initial value problem where
, so
is a root of
.
Etymology and intuition
The term "shooting method" has its origin in artillery. An analogy for the shooting method is to
* place a cannon at the position
, then
* vary the angle
of the cannon, then
* fire the cannon until it hits the boundary value
.
Between each shot, the direction of the cannon is adjusted based on the previous shot, so every shot hits closer than the previous one. The trajectory that "hits" the desired boundary value is the solution to the boundary value problem — hence the name "shooting method".
Linear shooting method
The boundary value problem is linear if ''f'' has the form
:
In this case, the solution to the boundary value problem is usually given by:
:
where
is the solution to the initial value problem:
:
and
is the solution to the initial value problem:
:
See the proof for the precise condition under which this result holds.
Examples
Standard boundary value problem
A
boundary value problem
In mathematics, in the field of differential equations, a boundary value problem is a differential equation together with a set of additional constraints, called the boundary conditions. A solution to a boundary value problem is a solution to t ...
is given as follows by Stoer and Bulirsch
[Stoer, J. and Bulirsch, R. ''Introduction to Numerical Analysis''. New York: Springer-Verlag, 1980.] (Section 7.3.1).
:
The
initial value problem
In multivariable calculus, an initial value problem (IVP) is an ordinary differential equation together with an initial condition which specifies the value of the unknown function at a given point in the domain. Modeling a system in physics or oth ...
:
was solved for ''s'' = −1, −2, −3, ..., −100, and ''F''(''s'') = ''w''(1;''s'') − 1 plotted in the Figure 2.
Inspecting the plot of ''F'',
we see that there are roots near −8 and −36.
Some trajectories of ''w''(''t'';''s'') are shown in the Figure 1.
Stoer and Bulirsch
state that there are two solutions,
which can be found by algebraic methods.
These correspond to the initial conditions ''w''′(0) = −8 and ''w''′(0) = −35.9 (approximately).
Eigenvalue problem

The shooting method can also be used to solve eigenvalue problems. Consider the
time-independent Schrödinger equation for the
In quantum mechanics, one seeks normalizable wavefunctions
and their corresponding energies subject to the boundary conditions
The problem can be solved analytically to find the energies
for
, but also serves as an excellent illustration of the shooting method. To apply it, first note some general properties of the Schrödinger equation:
* If
is an eigenfunction, so is
for any nonzero constant
.
* The
-th excited state
has
roots where
.
* For even
, the
-th excited state
is symmetric and nonzero at the origin.
* For odd
, the
-th excited state
is antisymmetric and thus zero at the origin.
To find the
-th excited state
and its energy
, the shooting method is then to:
# Guess some energy
.
# Integrate the Schrödinger equation. For example, use the central
finite difference
A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for t ...
#* If
is even, set
to some arbitrary number (say
— the wavefunction can be normalized after integration anyway) and use the symmetric property to find all remaining
.
#* If
is odd, set
and
to some arbitrary number (say
— the wavefunction can be normalized after integration anyway) and find all remaining
.
# Count the roots of
and refine the guess for the energy
.
#* If there are
or less roots, the guessed energy is too low, so increase it and repeat the process.
#* If there are more than
roots, the guessed energy is too high, so decrease it and repeat the process.
The energy-guessing can be done with the
bisection method
In mathematics, the bisection method is a root-finding method that applies to any continuous function for which one knows two values with opposite signs. The method consists of repeatedly bisecting the interval defined by these values and the ...
, and the process can be terminated when the energy difference is sufficiently small. Then one can take any energy in the interval to be the correct energy.
See also
*
Direct multiple shooting method
In the area of mathematics known as numerical ordinary differential equations, the direct multiple shooting method is a numerical method for the solution of boundary value problems. The method divides the interval over which a solution is sough ...
*
Computation of radiowave attenuation in the atmosphere
The computation of radiowave attenuation in the atmosphere is a series of radio propagation models and methods to estimate the path loss due to attenuation of the signal passing through the atmosphere by the absorption of its different components. ...
Notes
References
*{{Cite book , last1=Press , first1=WH , last2=Teukolsky , first2=SA , last3=Vetterling , first3=WT , last4=Flannery , first4=BP , year=2007 , title=Numerical Recipes: The Art of Scientific Computing , edition=3rd , publisher=Cambridge University Press , publication-place=New York , isbn=978-0-521-88068-8 , chapter=Section 18.1. The Shooting Method , chapter-url=http://apps.nrbook.com/empanel/index.html#pg=959
External links
Brief Description of ODEPACK''(at
Netlib Netlib is a repository of software for scientific computing maintained by AT&T, Bell Laboratories, the University of Tennessee and Oak Ridge National Laboratory. Netlib comprises many separate programs and libraries. Most of the code is written in ...
; contains LSODE)''
Shooting method of solving boundary value problems – Notes, PPT, Maple, Mathcad, Matlab, Mathematicaat ''Holistic Numerical Methods Institute'
Numerical differential equations
Boundary value problems