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

Stability of fixed point

  1. Feb 10, 2012 #1
    Dear friends,

    I want to find the conditions of stability of a fixed point. consider the function "f" iterates to obtain fixed point "a":
    [itex] x_{n+1}= f(x_n)[/itex]

    for this dynamic system, the fixed point "a" is stable if we have:
    [itex] |f ^{\prime}(a)| < 1[/itex]

    Currently I'm working on a bit different dynamic system that made me confused to determine the stability conditions for an arbitrary point, say "a". This dynamic system is:

    [itex] x_{n+1}= x_n + \lambda \left( f(x_n, x_{n-1}) - f(x_{n-1}, x_{n-2})\right)[/itex].

    this system is not only related to time "n", but also related to times "n-1" and "n-2".

    Can anybody help me or give me clue to find the conditions?

    suppose [itex] f(x_n)= c * x_n + d* x_{n-1}[/itex]
    Last edited: Feb 10, 2012
  2. jcsd
  3. Feb 11, 2012 #2
    For me, it seems the problem lies in defining stability of a fixed point for a function that is a function of times before "n", like, in your case, "n-1" and "n-2".

    For a function that is a function only of the previous value of x, a fixed point [itex]a[/itex] is said stable if, for a given initial condition [itex]x_0[/itex] near [itex]a[/itex], [itex]x_1[/itex] is nearer of [itex]a[/itex] than [itex]x_0[/itex] (and [itex]x_2[/itex] is nearer of [itex]a[/itex] than [itex]x_1[/itex] and so on).

    Writing "near" and "nearer" as matemathical expressions leads to the condition [itex]|f^{'}(a)<1|[/itex].

    But how to do the same thing for a function that is a function of several previous points? In your case, the first point we would be able to calculate is the point [itex]x_3[/itex], as it is a function of [itex]x_2[/itex], [itex]x_1[/itex] and [itex]x_0[/itex], and they must be given as initial conditions.

    How would we say that all this initial conditions are "near" the fixed point, so the following points ([itex]x_4[/itex], [itex]x_5[/itex], etc) are "nearer"?

    Should we say that [itex]x_2=x_1=x_0[/itex], [itex]x_0[/itex] being near to [itex]a[/itex] and derive some condition from there?

    Should we say that [itex]|x_2-a|<|x_1-a|<|x_0-a|[/itex]?

    Should we say that [itex]x_2[/itex], [itex]x_1[/itex] and [itex]x_0[/itex] are arbitrary, but all of them are "near" [itex]a[/itex]?

    I dont know, and so i cant give an answer. But at least i think i understand the problem you posed.
    Last edited: Feb 11, 2012
  4. Feb 11, 2012 #3
    Dear coelho,
    Really thanks for reply.
    The big problem is that this function is a function of several previous points!!

    For this function suppose that we have [itex] x_1 , x_2, x_3[/itex] near [itex]a[/itex] and also [itex] |x_2−a|<|x_1−a|<|x_0−a| [/itex], i.e., different points are get closer and closer to the final point [itex] a[/itex]. I want to find a general rule for stability of this function.

    What do you think about "Bifurcation diagram"?

    I don't know Bifurcation diagram exactly and I'm not sure if Bifurcation diagram can help me to analyze the stability of this function.
  5. Feb 11, 2012 #4
    Your equation, with your given f, is linear. There exists a well developed theory of linear higher order difference equations, very similar to that of ode's. The equation can actually be solved exactly. The bottom line is that any solution is stable if the roots of the characteristic equation are all less than 1 in magnitude. Stable in this sense means either a stable fixed point or a stable orbit. I found a good little tutorial to get you started:


    What you quickly realize is that linear equations are rather boring. They can't do much. Change your parameters and you can get a change of stability, not much else. If you change your function f so that the equation is non-linear then you can get all sorts of interesting things but I know of no general result for higher order non-linear equations. Typically you would write code to play with it and get a feel for it first, then look at it more.
  6. Feb 11, 2012 #5
    Dear alan,

    Thanks for this useful link. The link you mentioned belongs to prof. Osborne and the interesting point is that currently I'm working on game theory and my function "f", is for a dynamic game! This link seems pretty good. Really thanks.

    Thank you friends. I'm following your comments and notes.
  7. Feb 11, 2012 #6
    You're welcome. Elaydi's "Intro to Difference Equations" is very thorough yet readable if you need more. If you google it you can find a downloadable pdf of the whole book.
  8. Feb 11, 2012 #7
    Here, your difference equation is of order 3 (it connects 3 consequtive values of the series [itex]\lbrace x_n \rbrace[/itex]. It is equivalent to the following system of 3 simultaneous equations of order 1:
    \left\lbrace \begin{array}{rcl}
    x_{n + 1} & = & x_n + \lambda \, \left( f(x_n, y_n) - f(y_n, z_n) \right) \equiv F(x_n, y_n, z_n) \\

    y_{n + 1} & = & x_n \equiv G(x_n, y_n, z_n) \\

    z_{n + 1} & = & y_n \equiv H(x_n, y_n, z_n)
    \end{array} \right.

    A point [itex](\bar{x}, \bar{y}, \bar{z})[/itex] is fixed for this system when:
    \left\lbrace \begin{array}{rcl}
    \bar{x} & = & \bar{x} + \lambda \, \left( f(\bar{x}, \bar{y}) - f(\bar{y}, \bar{z}) \right) \\

    \bar{y} & = & \bar{x} \\

    \bar{z} & = & \bar{y}
    \end{array} \right. \Leftrightarrow \bar{x} = \bar{x} + \lambda \, \left( f(\bar{x}, \bar{x}) - f(\bar{x}, \bar{x}) \right)
    which is always satisfied!

    The Jacobian of this system is:
    \frac{\partial(F, G, H)}{\partial(x, y, z)} = \left| \begin{array}{ccc}
    1 + \lambda \, \frac{\partial f}{\partial x}(x, y) & \lambda \, \left( \frac{\partial f}{\partial y}(x, y) - \frac{\partial f}{\partial x}(y, z) \right) & -\lambda \, \frac{\partial f}{\partial y}(y, z) \\

    1 & 0 & 0 \\

    0 & 1 & 0
    \end{array}\right| = - \lambda \, \frac{\partial f}{\partial y}(y, z)

    The fixed point is stable if the absolute value of this Jacobian is zero. In your case, whenever:
    \vert \lambda \, \frac{\partial f}{\partial y}(\bar{x}, \bar{x}) \vert < 1
  9. Feb 11, 2012 #8
    Thanks Dickfore. I owe you big time!!

    When you said:
    You mean this system always has a fixed point?

    And this point is stable if we have the last condition (which is calculated based on Jacobian matrix)?
  10. Feb 11, 2012 #9
    Yes, I mean every x is a fixed point of the system. Try it! And yes, when the derivative of f w.r.t. the second variable is smaller by absolute value than 1/|lambda|.
  11. Feb 23, 2012 #10
    Dear Dickfore, another question. In the last condition:
    the function [itex]f[/itex] depends on [itex]\hat{x}[/itex], but how to calculate derivative respect to [itex]y[/itex]? I think the last condition can be written as the following condition too:
    \vert \lambda \, \frac{\partial f}{\partial x}(\bar{x}, \bar{x}) \vert < 1
    am I right?
  12. Mar 2, 2012 #11

    \frac{\partial f}{\partial y}(x, x)
    means you calculate the partial derivative of f w.r.t. to the second argument which you call y, and, after the differentiation you substitute [itex]y = x[/itex].

    This is quite different from substituting [itex]y = x[/itex] in f, after which you get another function of x only:
    f(x, y = x) \equiv g(x)
    and then to evaluate the derivative w.r.t. x.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook