3
$\begingroup$

This is for self-study of $N$-dimensional system of linear homogeneous ordinary differential equations of the form: $$ \mathbf{\dot{x}}=A\mathbf{x} $$

where $A$ is the coefficient matrix of the system.

I have learned that you can check for stability by determining if the real parts of all the eigenvalues of $A$ are negative. You can check for oscillations if there are any purely imaginary eigenvalues of $A$.

The author in the book I'm reading then introduces the Routh-Hurwitz criterion for detecting stability and oscillations of the system. This seems to be a more efficient computational short-cut than calculating eigenvalues.

What are the advantages of using Routh-Hurwitz criteria for stability and oscillations, if you already have the eigenvalues? For instance, will it be useful when I start to study nonlinear dynamics? Is there some additional application that I am completely missing, that I would miss out on by focusing on eigenvalues?

Wikipedia entry on RH stability analysis has stuff about control systems, and ends up with a lot of material in the s-domain (Laplace transforms), but for my applications I will be staying in the time-domain for the most part, and just focusing fairly narrowly on stability and oscillations in linear (or linearized) systems.

I am asking b/c it seems easy to calculate eigenvalues on my computer, and the Routh-Hurwitz criterion comes off as the sort of thing that might save me a lot of time if I were doing this by hand, but not very helpful for doing analysis of small-fry systems via Matlab where I have the eig(A) function.

Note I posted this question at Stack Overflow but it was suggested it was more a math than programming question so I've moved it here: https://stackoverflow.com/questions/22029482/routh-hurwitz-useful-when-i-can-just-calculate-eigenvalues

$\endgroup$

2 Answers 2

5
$\begingroup$

The reason why it shows up in control theory is because the matrix $A$, while constant, will contain unknown parameter variables $K_1,...,K_n$. In this case a closed-form solution to the resulting differential equation, while theoretically available, is not so easily analyzed.

What is most important in control theory is not finding the exact values of the unknown parameters but finding regions which make the system stable. Routh-Hurwitz makes finding the regions pretty easy compared to expressing the generalized eigenvalues of $A$ in terms of the unknown parameters and then trying to analyze stability.

$\endgroup$
2
  • $\begingroup$ Upon further inspection, in practice this seems to be how the author in the book is using it, except as a short-cut to finding parameter regimes in which a system will oscillate. So, it isn't about 'Given the coefficient matrix A, will it oscillate?' Rather, it is given A(g), find values of parameter g in which system will oscillate or be unstable. $\endgroup$
    – neuronet
    Feb 26, 2014 at 17:37
  • $\begingroup$ Also, Routh-Hurwitz is useful for the analysis of Hopf Bifurcations, so it will turn up again for more complex nonlinear systems. $\endgroup$
    – neuronet
    Feb 26, 2014 at 20:21
2
$\begingroup$

I had the same thought about a year ago in my research project. I eventually went for numerically solving for the eigenvalues, as opposed to using Routh-Hurwitz (although I had initially planned on using RH).

Some arguments:

  • Although RH is powerful in the sense that analytical stability criteria can be derived based on the system coefficients, it doesn't scale well with the size of the system. The number and complexity of the criteria increases rapidly with the number of degrees of freedom.

  • Automated tools for the RH method do not exist (or I didn't have access/find any), in contrast to eigenvalue solvers which are available. In my case, the number of degrees of freedom is not fixed, so I needed a flexible framework to be able to program the stability analysis.

  • Calculating the actual eigenvalues and eigenvectors is useful not only for stability analysis, but also gives insight in principal dynamic modes of the system.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .