# Routh–Hurwitz stability criterion

In 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) control system. 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.[1] 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.[2] The two procedures are equivalent, with the Routh test providing a more efficient way to compute the Hurwitz determinants 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 ept 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.[3]

## Using Euclid's algorithm

The criterion is related to Routh–Hurwitz theorem. Indeed, from the statement of that theorem, we have ${\displaystyle p-q=w(+\infty )-w(-\infty )}$ where:

• p is the number of roots of the polynomial ƒ(z) with negative real Part;
• q is the number of roots of the polynomial ƒ(z) with positive real Part (let us remind ourselves that ƒ 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 ${\displaystyle P_{0}(y)}$ and ${\displaystyle P_{1}(y)}$ (by successive Euclidean divisions) where ${\displaystyle 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:

1. Compute the polynomials ${\displaystyle P_{0}(y)}$ and ${\displaystyle P_{1}(y)}$ such that ${\displaystyle f(iy)=P_{0}(y)+iP_{1}(y)}$ where y is a real number.
2. Compute the Sylvester matrix associated to ${\displaystyle P_{0}(y)}$ and ${\displaystyle P_{1}(y)}$.
3. Rearrange each row in such a way that an odd row and the following one have the same number of leading zeros.
4. Compute each principal minor of that matrix.
5. If at least one of the minors is negative (or zero), then the polynomial f is not stable.

### Example

• Let ${\displaystyle f(z)=az^{2}+bz+c}$ (for the sake of simplicity we take real coefficients) where ${\displaystyle 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 ${\displaystyle P_{0}(y)}$ and ${\displaystyle P_{1}(y)}$:
${\displaystyle 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:
• ${\displaystyle P_{0}(y)=((-a/b)y)P_{1}(y)+c,}$ yields ${\displaystyle P_{2}(y)=-c,}$
• ${\displaystyle P_{1}(y)=((-b/c)y)P_{2}(y),}$ yields ${\displaystyle P_{3}(y)=0}$ 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 ${\displaystyle (P_{0}(y),P_{1}(y),P_{2}(y))=(c-ay^{2},by,-c)}$. Putting ${\displaystyle y=+\infty }$, the sign of ${\displaystyle c-ay^{2}}$ is the opposite sign of a and the sign of by is the sign of b. When we put ${\displaystyle 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 ${\displaystyle w(+\infty )-w(-\infty )=2}$ (the degree of f). By the properties of the function w, this is the same as ${\displaystyle w(+\infty )=2}$ and ${\displaystyle 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-degree polynomials

• For a second-degree polynomial, ${\displaystyle P(s)=s^{2}+a_{1}s+a_{0}}$, all the roots are in the left half plane (and the system with characteristic equation ${\displaystyle P(s)=0}$ is stable) if and only if both coefficients satisfy ${\displaystyle a_{i}>0}$.
• For a third-order polynomial ${\displaystyle P(s)=s^{3}+a_{2}s^{2}+a_{1}s+a_{0}}$, the conditions are that ${\displaystyle a_{2}}$ and ${\displaystyle a_{0}}$ must be positive, and ${\displaystyle a_{2}a_{1}>a_{0}.}$
• In general the Routh stability criterion states that all first-column elements of the Routh array are to be of the same sign.

Systems meeting the above criteria are said to be open-loop stable; otherwise, they are unstable because there are sign changes in the first-column elements.

### 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

• ${\displaystyle 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:

 ${\displaystyle a_{n}}$ ${\displaystyle a_{n-2}}$ ${\displaystyle a_{n-4}}$ ${\displaystyle \dots }$ ${\displaystyle a_{n-1}}$ ${\displaystyle a_{n-3}}$ ${\displaystyle a_{n-5}}$ ${\displaystyle \dots }$ ${\displaystyle b_{1}}$ ${\displaystyle b_{2}}$ ${\displaystyle b_{3}}$ ${\displaystyle \dots }$ ${\displaystyle c_{1}}$ ${\displaystyle c_{2}}$ ${\displaystyle c_{3}}$ ${\displaystyle \dots }$ ${\displaystyle \vdots }$ ${\displaystyle \vdots }$ ${\displaystyle \vdots }$ ${\displaystyle \ddots }$

where the elements ${\displaystyle b_{i}}$ and ${\displaystyle c_{i}}$ can be computed as follows:

• ${\displaystyle b_{i}={\frac {a_{n-1}\times {a_{n-2i}}-a_{n}\times {a_{n-(2i-1)}}}{a_{n-1}}}.}$
• ${\displaystyle c_{i}={\frac {b_{1}\times {a_{n-(2i-1)}}-a_{n-1}\times {b_{i+1}}}{b_{1}}}.}$

When completed, the number of sign changes in the first column will be the number of non-negative poles.

 0.75 1.5 0 0 -3 6 0 0 3 0 0 0 6 0 0 0

In the first column, there are two sign changes (0.75 → −3, and −3 → 3), thus there are two non-negative roots where the system is unstable.

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".

• ${\displaystyle s^{6}+2s^{5}+8s^{4}+12s^{3}+20s^{2}+16s+16=0.\,}$

We have the following table:

 1 8 20 16 2 12 16 0 2 12 16 0 0 0 0 0

In such a case the auxiliary polynomial is ${\displaystyle 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 following polynomial. ${\displaystyle 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.[4]