# Routh–Hurwitz stability criterion

In the control system theory, the Routh–Hurwitz stability criterion is a mathematical test that is a necessary and sufficient condition for the stability of a linear time-invariant (LTI) dynamical system or control system. A stable system is one whose output signal is bounded; the position, velocity or energy do not increase to infinity as time goes on. The Routh test is an efficient recursive algorithm that English mathematician Edward John Routh proposed in 1876 to determine whether all the roots of the characteristic polynomial of a linear system have negative real parts. German mathematician Adolf Hurwitz independently proposed in 1895 to arrange the coefficients of the polynomial into a square matrix, called the Hurwitz matrix, and showed that the polynomial is stable if and only if the sequence of determinants of its principal submatrices are all positive. The two procedures are equivalent, with the Routh test providing a more efficient way to compute the Hurwitz determinants ($\Delta _{i}$) than computing them directly. A polynomial satisfying the Routh–Hurwitz criterion is called a Hurwitz polynomial.
The importance of the criterion is that the roots p of the characteristic equation of a linear system with negative real parts represent solutions e$^{pt}$ of the system that are stable (bounded). Thus the criterion provides a way to determine if the equations of motion of a linear system have only stable solutions, without solving the system directly. For discrete systems, the corresponding stability test can be handled by the Schur–Cohn criterion, the Jury test and the Bistritz test. With the advent of computers, the criterion has become less widely used, as an alternative is to solve the polynomial numerically, obtaining approximations to the roots directly.
The Routh test can be derived through the use of the Euclidean algorithm and Sturm's theorem in evaluating Cauchy indices. Hurwitz derived his conditions differently.

## Using Euclid's algorithm

The criterion is related to Routh–Hurwitz theorem. From the statement of that theorem, we have $p-q=w(+\infty )-w(-\infty )$ where:
* $p$ is the number of roots of the polynomial $f(z)$ with negative real part;
* $q$ is the number of roots of the polynomial $f(z)$ with positive real part (according to the theorem, $f$ is supposed to have no roots lying on the imaginary line);
* w(x) is the number of variations of the generalized Sturm chain obtained from $P_{0}(y)$ and $P_{1}(y)$ (by successive Euclidean divisions) where $f(iy)=P_{0}(y)+iP_{1}(y)$ for a real y.
By the fundamental theorem of algebra, each polynomial of degree n must have n roots in the complex plane (i.e., for an ƒ with no roots on the imaginary line, p + q = n). Thus, we have the condition that ƒ is a (Hurwitz) stable polynomial if and only if p − q = n (the proof is given below). Using the Routh–Hurwitz theorem, we can replace the condition on p and q by a condition on the generalized Sturm chain, which will give in turn a condition on the coefficients of ƒ.

## Using matrices

Let f(z) be a complex polynomial. The process is as follows:
* Compute the polynomials $P_{0}(y)$ and $P_{1}(y)$ such that $f(iy)=P_{0}(y)+iP_{1}(y)$ where y is a real number.
* Compute the Sylvester matrix associated to $P_{0}(y)$ and $P_{1}(y)$.
* Rearrange each row in such a way that an odd row and the following one have the same number of leading zeros.
* Compute each principal minor of that matrix.
* If at least one of the minors is negative (or zero), then the polynomial f is not stable.

### Example

Let $f(z)=az^{2}+bz+c$ (for the sake of simplicity we take real coefficients) where $c\neq 0$ (to avoid a root in zero so that we can use the Routh–Hurwitz theorem). First, we have to calculate the real polynomials $P_{0}(y)$ and $P_{1}(y)$: $f(iy)=-ay^{2}+iby+c=P_{0}(y)+iP_{1}(y)=-ay^{2}+c+i(by).$ Next, we divide those polynomials to obtain the generalized Sturm chain: ${\begin{aligned}P_{0}(y)&=\left({\tfrac {-a}{b}}y\right)P_{1}(y)+c,&&\implies P_{2}(y)=-c,\\[4pt]P_{1}(y)&=\left({\tfrac {-b}{c}}y\right)P_{2}(y),&&\implies P_{3}(y)=0,\end{aligned}}$ and the Euclidean division stops.
Notice that we had to suppose b different from zero in the first division. The generalized Sturm chain is in this case ${\BiglP_{0}(y),P_{1}(y),P_{2}(y){\Bigr )}=(c-ay^{2},by,-c).$ Putting $y=+\infty$, the sign of $(c-ay^{2})$ is the opposite sign of a and the sign of by is the sign of b. When we put $(y=-\infty )$, the sign of the first element of the chain is again the opposite sign of a and the sign of by is the opposite sign of b. Finally, −c has always the opposite sign of c.
Suppose now that f is Hurwitz-stable. This means that $w(+\infty )-w(-\infty )=2$ (the degree of f). By the properties of the function w, this is the same as $w(+\infty )=2$ and $w(-\infty )=0$. Thus, a, b and c must have the same sign. We have thus found the necessary condition of stability for polynomials of degree 2.

### Routh–Hurwitz criterion for second, third and fourth-order polynomials

For a second-order polynomial $P(s)=a_{2}s^{2}+a_{1}s+a_{0}=0,$ all coefficients must be positive, where $a_{i}>0$ for $(i=0,1,2)$.
For a third-order polynomial $P(s)=a_{3}s^{3}+a_{2}s^{2}+a_{1}s+a_{0}=0,$ all coefficients must be positive, where ${\begin{aligned}0&<a_{i},\quad {\text{for }}i=0,1,2,3;\\0&<a_{2}a_{1}-a_{3}a_{0}.\end{aligned}}$
For a fourth-order polynomial $P(s)=a_{4}s^{4}+a_{3}s^{3}+a_{2}s^{2}+a_{1}s+a_{0}=0,$ all coefficients must be positive, where ${\begin{aligned}0&<a_{i},\quad {\text{for }}i=0,1,2,3,4;\\0&<a_{2}a_{1}-a_{3}a_{0};\\0&<a_{3}a_{2}a_{1}-a_{4}a_{1}^{2}-a_{3}^{2}a_{0}.\end{aligned}}$ (When this is derived you do not know all coefficients should be positive, and you add $a_{3}a_{2}>a_{1}$.)
In general the Routh stability criterion states a polynomial has all roots in the open left half-plane if and only if all first-column elements of the Routh array have the same sign.
All coefficients being positive (or all negative) is necessary for all roots to be located in the open left half-plane. That is why here $a_{n}$ is fixed to 1, which is positive. When this is assumed, we can remove $a_{3}a_{2}>a_{1}$ from fourth-order polynomial, and conditions for fifth- and sixth-order can be simplified. For fifth-order we only need to check that $\Delta _{2}>0,\Delta _{4}>0$ and for sixth-order we only need to check $\Delta _{3}>0,\Delta _{5}>0$ and this is further optimised in Liénard–Chipart criterion. Indeed, some coefficients being positive is not independent with principal minors being positive, like $a_{2}>0$ check can be removed for third-order polynomial.

### Higher-order example

A tabular method can be used to determine the stability when the roots of a higher order characteristic polynomial are difficult to obtain. For an nth-degree polynomial whose all coefficients are the same signs $D(s)=a_{n}s^{n}+a_{n-1}s^{n-1}+\cdots +a_{1}s+a_{0}$ the table has n + 1 rows and the following structure:
${\begin{matrix}a_{n}&a_{n-2}&a_{n-4}&\dots \\a_{n-1}&a_{n-3}&a_{n-5}&\dots \\b_{1}&b_{2}&b_{3}&\dots \\c_{1}&c_{2}&c_{3}&\dots \\\vdots &\vdots &\vdots &\ddots \end{matrix}}$
where the elements $b_{i}$ and $c_{i}$ can be computed as follows: ${\begin{aligned}b_{i}&={\frac {a_{n-1}\times a_{n-2i}-a_{n}\times a_{n-(2i+1)}}{a_{n-1}}}\\[4pt]c_{i}&={\frac {b_{1}\times a_{n-(2i+1)}-a_{n-1}\times b_{i+1}}{b_{1}}}\end{aligned}}$ When completed, the number of sign changes in the first column will be the number of roots whose real part are non-negative.
${\begin{matrix}0.75&1.5&\ 0\ &\ 0\ \\-3&6&0&0\\3&0&0&0\\6&0&0&0\end{matrix}}$
In the first column, there are two sign changes (0.75 → −3, and −3 → 3), thus there are two roots whose real part are non-negative and the system is unstable.
The characteristic equation of an example servo system is given by:
$b_{0}s^{4}+b_{1}s^{3}+b_{2}s^{2}+b_{3}s+b_{4}=0$
For which we have the following table:
${\begin{matrix}b_{0}&b_{2}&\quad b_{4}\quad &\quad 0\quad \\[4pt]b_{1}&b_{3}&0&0\\[4pt]{\frac {b_{1}b_{2}-b_{0}b_{3}}{b_{1}}}&{\frac {b_{1}b_{4}-b_{0}\times 0}{b_{1}}}=b_{4}&0&0\\{\frac {(b_{1}b_{2}-b_{0}b_{3})b_{3}-b_{1}^{2}b_{4}}{b_{1}b_{2}-b_{0}b_{3}}}&0&0&0\\[4pt]b_{4}&0&0&0\end{matrix}}$
for stability, all the elements in the first column of the Routh array must be positive when $b_{0}>0.$ And the conditions that must be satisfied for stability of the given system as follows:
${\begin{aligned}0&<b_{1},\\[4pt]0&<b_{1}b_{2}-b_{0}b_{3},\\[4pt]0&<(b_{1}b_{2}-b_{0}b_{3})b_{3}-b_{1}^{2}b_{4},\\[4pt]0&<b_{4}.\end{aligned}}$
We see that if $(b_{1}b_{2}-b_{0}b_{3})b_{3}-b_{1}^{2}b_{4}\geq 0$ then $b_{1}b_{2}-b_{0}b_{3}>0$ is satisfied.
Another example is:
$s^{4}+6s^{3}+11s^{2}+6s+200=0$
We have the following table :
${\begin{matrix}1&11&200&0\\1&1&0&0\\1&20&0&0\\-19&0&0&0\\20&0&0&0\end{matrix}}$
there are two sign changes. The system is unstable, since it has two right-half-plane poles and two left-half-plane poles. The system cannot have jω poles since a row of zeros did not appear in the Routh table.
For the case $s^{4}+s^{3}+3s^{2}+3s+3=0$ We have the following table with zero appeared in the first column which prevents further calculation steps:
${\begin{matrix}1&3&3\\1&3&0\\0&3&0\end{matrix}}$
we replace 0 by $\varepsilon >0$ and we have the table
${\begin{matrix}1&3&\quad 3\quad \\1&3&0\\\varepsilon &3&0\\3-{\frac {3}{\varepsilon }}&0&0\\3&0&0\end{matrix}}$
When we make $\varepsilon \rightarrow +0$, there are two sign changes.
The system is unstable, since it has two right-half-plane poles and two left-half-plane poles.
Sometimes the presence of poles on the imaginary axis creates a situation of marginal stability. In that case the coefficients of the "Routh array" in a whole row become zero and thus further solution of the polynomial for finding changes in sign is not possible. Then another approach comes into play. The row of polynomial which is just above the row containing the zeroes is called the "auxiliary polynomial".
$s^{6}+2s^{5}+8s^{4}+12s^{3}+20s^{2}+16s+16=0$ We have the following table:
${\begin{matrix}1&8&20&16\\2&12&16&0\\2&12&16&0\\0&0&0&0\end{matrix}}$
In such a case the auxiliary polynomial is $A(s)=2s^{4}+12s^{2}+16\,$ which is again equal to zero. The next step is to differentiate the above equation which yields the polynomial $B(s)=8s^{3}+24s^{1}$. The coefficients of the row containing zero now become "8" and "24". The process of Routh array is proceeded using these values which yield two points on the imaginary axis. These two points on the imaginary axis are the prime cause of marginal stability.