Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Solving non-linear system by linearization

  1. May 16, 2012 #1
    I have non-linear system of ordinary differential equations to solve by first linearising it. I know it can be linearised by expanding right side of equations by Taylor series and keeping only the linear terms. Then I can solve the linear system of differential equations with given initial conditions.

    Here is the problem. The solution will only be acceptable locally, but not globally. But professor of mine told me to solve the system globally and numerically in this way by finding solution step by step and to compare it with Euler and Runge-Kutta methods for non-linear systems of differential equation.

    The question is, how can such linearised system be solved numerically step by step, in a way that solution will be "good enough" globally for the given (non-linear) system?
  2. jcsd
  3. May 16, 2012 #2


    User Avatar
    Science Advisor

    Well, the first thing you would have to do is say what is meant by "good enough"!!

    What you could do is this: given a non-linear equation with a given initial condition, solve it with a numerical, perhaps Runge-Kutta, method. That solution will come with estimates of how large the independent variable can be from the starting value and still be within "good enough". Choose some x within that region and evaluate f at that x to give a new starting point to solve a new numerical problem.

    Of course, it is always possible that the feasible range of x values will be smaller and smaller each to you repeat, possibly fast enough that you cannot extend the solution "globally". It is simply true that most (perhaps "almost all") non-linear differential equation problems do not have "global" solutions.
  4. May 21, 2012 #3
    This might be what your prof is getting at:

    X'=F(X). In the Euler approximation you replace F(X) with the constant F(X_0) and follow that vector for small time t1, and then switch to F(X_t1) and repeat. Here you do the same thing except that at point X_0 you replace F(X) with its linearization around X_0, namely

    F(X_0)+dF(X-X_0), where dF is calculated at X_0.

    That is a linear ODE system, so you solve it up to time t1 until you reach point X(t1). Then you repeat the process at this new point. I don't know numerical stuff, but the benefit is probably that you can do larger time steps since the linear problem is close to the nonlinear problem for longer than is the case with the Euler steps. However, at each step you have to solve a system of ODEs, which is much more complicated than moving along a constant vector. So Euler's method is probably a much faster way to numerically calculate solutions.

    Of course, one does have to pay attention to details like global existence, etc. If F(X) is compactly supported or if it doesn't grow too fast, global existence holds.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook