Numerov's method

Numerov's method is a numerical method to solve ordinary differential equations of second order in which the first-order term does not appear. It is a fourth-order linear multistep method. The method is implicit, but can be made explicit if the differential equation is linear.

Numerov's method was developed by the Russian astronomer Boris Vasil'evich Numerov.

The method

The Numerov method can be used to solve differential equations of the form:

 \frac{d^2 y}{dx^2} = - g(x) y(x) + s(x)

In it, three values of  y_{n-1}, y_n, y_{n+1} taken at three equidistant points  x_{n-1}, x_n, x_{n+1} are related as follows:

 y_{n+1} \left(1 + \frac{h^2}{12} g_{n+1} \right) = 2 y_n \left(1 - \frac{5 h^2}{12} g_n \right) - y_{n-1} \left(1 + \frac{h^2}{12} g_{n-1} \right) + \frac{h^2}{12} (s_{n+1} + 10 s_n + s_{n-1}) + \mathcal{O} (h^6)

where  y_n = y(x_n) ,  g_n = g(x_n) ,  s_n = s(x_n) and  h = x_{n+1} - x_n .

Nonlinear equations

For nonlinear equations of the form:

 \frac{d^2 y}{dx^2} = f(x,y)

the method gives:

 y_{n+1} - 2 y_n + y_{n-1} = \frac{h^2}{12} (f_{n+1} + 10 f_n + f_{n-1}) + \mathcal{O} (h^6).

This is an implicit linear multistep method, which reduces to the explicit method given above if  f is linear in  y by setting  f(x,y) = - g(x) y(x) + s(x) . It achieves order 4 accuracy (Hairer, Nørsett & Wanner 1993, §III.10).

Application

In numerical physics the method is used to find solutions of the unidimensional Schrödinger equation for arbitrary potentials. An example of which is solving the radial equation for a spherically symmetric potential. In this example, after separating the variables and analytically solving the angular equation, we are left with the following equation of the radial :R(r) function:

 \frac{d}{dr} \left(r^2 \frac{dR}{dr} \right) - \frac{2 m r^2}{\hbar^2} (V(r) - E) R(r) = l (l + 1) R(r)

This equation can be reduced to the form necessary for the application of Numerov's method with the following substitution:

 u(r) = r R(r)
 R(r) = \frac{u(r)}{r}
 \frac{dR}{dr} = \frac{1}{r} \frac{du}{dr} - \frac{u(r)}{r^2} = \frac{1}{r^2} \left (r \frac{du}{dr} - u(r) \right)
 \frac{d}{dr} \left(r^2 \frac{dR}{dr} \right) = \frac{du}{dr} + r \frac{d^2 u}{dr^2} - \frac{du}{dr} = r \frac{d^2 u}{dr^2}

And when we make the substitution the radial equation becomes:

 r \frac{d^2 u}{dr^2} - \frac{2 m r}{\hbar^2} (V(r) - E) u(r) = \frac{l (l + 1)}{r} u(r)
 -\frac{\hbar^2}{2 m} \frac{d^2 u}{dr^2} + \left(V(r) + \frac{\hbar^2}{2 m} \frac{l (l + 1)}{r^2} \right) u(r) = E u(r)

Which is equivalent to the one-dimensional Schrödinger equation, but with the modified effective potential.

 V_{eff}(r) = V(r) + \frac{\hbar^2}{2 m} \frac{l (l + 1)}{r^2} = V(r) + \frac{L^2}{2 m r^2}
 L^2 = l (l + 1) \hbar^2

This equation we can proceed to solve the same way we would have solved the one-dimensional Schrödinger equation. We can rewrite the equation a little bit differently and thus see the possible application of Numerov's method more clearly.

 \left(\frac{d^2}{dr^2} + \frac{2 m}{\hbar^2} (E - V_{eff}(r)) \right) u(r) = 0
 a(r) = \frac{2 m}{\hbar^2} (E - V_{eff}(r))

Derivation

We are given the differential equation:

 y''(x) = - g(x) y(x) + s(x)

To derive the Numerov's method for solving this equation we begin with the Taylor expansion of the function we want to solve,  y(x) , around the point  x_0 :

 y(x) = y(x_0) + (x-x_0)y'(x_0) + \frac{(x-x_0)^2}{2!}y''(x_0) + \frac{(x-x_0)^3}{3!}y'''(x_0) + \frac{(x-x_0)^4}{4!}y''''(x_0) + \frac{(x-x_0)^5}{5!}y'''''(x_0) + \mathcal{O} (h^6)

Denoting the distance from  x to  x_0 by  h = x - x_0 we can write the above equation as:

 y(x_0 + h) = y(x_0) + hy'(x_0) + \frac{h^2}{2!}y''(x_0) + \frac{h^3}{3!}y'''(x_0) + \frac{h^4}{4!}y''''(x_0) + \frac{h^5}{5!}y'''''(x_0) + \mathcal{O} (h^6)

If we evenly discreticize the space we get a grid of  x points where  h = x_{n+1} - x_n , by applying the above equations to this discreet space we get a relation between the  y_n and  y_{n+1} :

 y_{n+1} = y_n + hy'(x_n) + \frac{h^2}{2!}y''(x_n) + \frac{h^3}{3!}y'''(x_n) + \frac{h^4}{4!}y''''(x_n) + \frac{h^5}{5!}y'''''(x_n) + \mathcal{O} (h^6)

Computationally, this amounts to taking a step forward by an amount  h . If we want to take a step backwards, we replace every  h with  - h and get the expression for  y_{n-1} :

 y_{n-1} = y_n - hy'(x_n) + \frac{h^2}{2!}y''(x_n) - \frac{h^3}{3!}y'''(x_n) + \frac{h^4}{4!}y''''(x_n) - \frac{h^5}{5!}y'''''(x_n) + \mathcal{O} (h^6)

Note that only the odd powers of  h experienced a sign change. By summing the two equations we derive that:

 y_{n+1} - 2 y_n + y_{n-1} = {h^2}y''_n + \frac{h^4}{12}y''''_n + \mathcal{O} (h^6)

We can solve this equation for  y_{n+1} by substituting the expression given at the beginning, that is  y''_n = - g_n y_n + s_n . To get an expression for the  y''''_n factor, we simply have to differentiate  y''_n = - g_n y_n + s_n twice and approximate it again in the same way we did this above.

 y''''_n = \frac{d^2}{d x^2} ( - g_n y_n + s_n )
 {h^2}y''''_n = - g_{n+1} y_{n+1} + s_{n+1} + 2 g_n y_n - 2 s_n - g_{n-1} y_{n-1} + s_{n-1} + \mathcal{O} (h^4)

If we now substitute this to the preceding equation we get:

 y_{n+1} - 2 y_n + y_{n-1} = {h^2} (- g_n y_n + s_n) + \frac{h^2}{12} (- g_{n+1} y_{n+1} + s_{n+1} + 2 g_n y_n - 2 s_n - g_{n-1} y_{n-1} + s_{n-1}) + \mathcal{O} (h^6)
 y_{n+1} \left(1 + \frac{h^2}{12} g_{n+1} \right) - 2 y_n \left(1 - \frac{5 h^2}{12} g_n \right) + y_{n-1} \left(1 + \frac{h^2}{12} g_{n-1} \right) = \frac{h^2}{12} (s_{n+1} + 10 s_n + s_{n-1}) + \mathcal{O} (h^6)

This yields the Numerov's method if we ignore the term of order  h^6 . It follows that the order of convergence (assuming stability) is 4.

References

This article is issued from Wikipedia - version of the Friday, April 01, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.