This section discusses a simplified version of the Adomian decomposition method first concept of which was proposed by Randolf Rach in 1989 that was crystallized later in a paper published with his colleagues G. Adomian and R.E. Meyers. That is way this technique is frequently referred to as the Rach--Adomian--Meyers modified decomposition method (MDM for short). Initially, this method was applied to power series expansions, which was based on the nonlinear transformation of series by the Adomian--Rach Theorem. Similar to the Runge--Kutta methods, the MDM can be implemented in numerical integration of differential equations by one-step methods. In case of polynomials or power series, it shows the advantage in speed and accuracy of calculations when at each step the Adomian decomposition method allows one to perform explicit evaluations.

Return to computing page for the first course APMA0330
Return to computing page for the second course APMA0340
Return to Mathematica tutorial for the second course APMA0340
Return to the main page for the course APMA0330
Return to the main page for the course APMA0340
Return to Part VII of the course APMA0330

Shooting Method

The idea of shooting method is to reduce the given boundary value problem to several initial value problems. Roughly speaking, we 'shoot' out trajectories in different directions until we find a trajectory that has the desired boundary value. We start with the Dirichlet boundary value problem for a linear differential equation of second order:

\[ y'' (x) = p(x)\,y' + q(x)\,y + r(x) \qquad \mbox{subject} \quad y(a) = \alpha, \quad y(b) = \beta \]
over interval [a,b]. In this case, the solution to the boundary value problem is usually given by a linear combination of two functions, u(x) and v(x) that are solutions to the initial value problems.
\[ y (t) = u(t) + \frac{\beta - u(b)}{v(b)} \, v(t) , \]
where u(t) is a solution to the initial value problem
\[ u'' (t) = p(t)\,u' + q(t)\,u + r(t) \qquad \mbox{subject} \quad u(a) = \alpha, \quad u'(a) = 0; \]
and v(t) is a solution to another initial value problem:
\[ v'' (t) = p(t)\,v' + q(t)\, v , \qquad \mbox{subject} \quad v(a) = 0, \quad v'(a) = 1. \]

Theorem. Consider the Dirichlet boundary value problem for the linear second order differential equation

\[ y'' (x) = p(x)\,y' + q(x)\, y + r(x) , \qquad \mbox{subject} \quad y(a) = A, \quad y(b) = B, \]
where A and B are some given real numbers. The coefficients of the differential equation, p(x), q(x), and r(x) are continuous on the given interval [a,b]. If there is exists a positive constant L so
\[ \begin{split} q(x) >: 0 \quad \mbox{for all } x \in [a,b], \\ \left\vert p(x) \right\vert < L = \max_{a \le x \le b}\, \left\{ \, |p(x) | \, \right\} . \end{split} \]
Then the linear boundary value problem
\[ y'' (x) = p(x)\,y' + q(x)\, y + r(x) , \qquad \mbox{subject} \quad y(a) = A, \quad y(b) = B \]
has a unique solution \( y = \phi (x) \) over \( a \le x \le b . \)

Example: Consider a harmonic oscillator subject to the Dirichlet boundary conditions

\[ y'' + y =0 , \qquad \mbox{subject} \quad y(0) = A, \quad y(\pi ) = B. \]
This problem has infinite many solutions because if y(x) is its solution, then z(x) = y(x) + K sin (x) is also a solution for arbitrary constant K. Therefore, the conditions of the above theorem are violated. Indeed, since \( p(x) \equiv 0 , \) there does not exist a positive constant L (it is zero).    ■

Example: Consider the Consider another nonlinear boundary-value problem, Troesch’s problem

\[ y'' (x) = n\,\sinh \left( n\,y \right) , \qquad y(0) = 0, \quad y(1) = 1 . \]
We convert it into the initial value problem
\[ y'' (x) = n\,\sinh \left( n\,y \right) , \qquad y(0) = 0, \quad y'(0) = B, \]
where B is a positive constant to be determined.    ■


Example: Consider the Consider the nonlinear boundary-value problem

\[ y'' (x) = 2y\,y' , \quad \left( 0 < x ≤ b < \frac{\pi}{2} \right) \qquad y(0) = 0, \quad y'(b) = \sec^2 b , \]
where b is the interval length. The explicit solution for this problem is y(x) = tan (x).    ■


Program (Linear Shooting method): to approximate the solution of the boundary value problem \( x'' (t) = p(t)\, x' (t) + q(t)\, x(t) + r(t) \) with \( x(a) = \alpha \) and \( x(b) = \beta \) over the interval [a,b] by using the Runge--Kutta method of order 4. the boundary value problem is reduced to two initial value problems:

\[ u'' = p(t)\,u' (t) + q(t)\,u(t) + r(t) , \qquad u(a) = \alpha , \quad u' (a) =0, \]
\[ v'' = p(t)\,v' (t) + q(t)\,v(t) + r(t) , \qquad v(a) = 0 , \quad v' (a) =1. \]

function L=linshoot(F1,F2,a,b,alpha,beta,m)
% Input  -- F1 and F2 are the systems of first order equations corresponding to IVP formulated above that are input as strings 'F1', 'F2' 
%        -- g=ut(x,0) as a string 'g' 
%        -- a and b right end points of the interval [a,b]
%        -- alpha = x(a) and beta = x(b); boundary conditions
%        -- m number of steps
% Output -- L = [T',X]; where T' is the (m=1)-column vector of abscissas and X is the (m+1) column vector of ordinates
% Solve the system F1
[T,Z]=rk4(F1,a,b,Za,m); % Runge--Kutta
% Solve the system F2
[T,Z]=rk4(F2,a,b,Za,m); % Runge--Kutta

% Calculate the solution to the boundary value problem


  1. Roberts, S.M., Shipman, J.S., On the closed form solution of Troesch’s problem, Journal of Computational Physics, 1976, Vol. 21,, Issue 3, pp. 291--304.
  2. Scott,M.R., On the convergence of boundary-value problems into stable initial-value problems via invariant imbedding algorithms, in: A.K. Aziz (Ed.), Numerical Solution of Boundary Value Problems for Ordinary Differential Equations, Academic Press, New York, 1975, pp. 89–146.


Return to Mathematica page
Return to the main page (APMA0330)
Return to the Part 1 (Plotting)
Return to the Part 2 (First Order ODEs)
Return to the Part 3 (Numerical Methods)
Return to the Part 4 (Second and Higher Order ODEs)
Return to the Part 5 (Series and Recurrences)
Return to the Part 6 (Laplace Transform)
Return to the Part 7 (Boundary Value Problems)