Routh-Hurwitz Criterion Overview
The Routh-Hurwitz criterion lets you determine whether a linear time-invariant (LTI) system is stable using only the coefficients of its characteristic polynomial. You never need to actually solve for the roots. This makes it one of the fastest stability checks available in control theory.
The criterion gives you necessary and sufficient conditions for stability: it tells you definitively whether all roots of the characteristic polynomial lie in the left-half of the -plane, and if they don't, it tells you exactly how many are in the right-half plane.
Characteristic Polynomial
The characteristic polynomial captures a system's dynamic behavior. You get it from the denominator of the transfer function or from in state-space form.
For a continuous-time system, it takes the form:
where are real-valued coefficients and is the system order. The roots of this polynomial are the system's poles, and their locations determine stability and transient response.
Quick necessary condition (before you even build the Routh array): All coefficients must be present and must have the same sign. If any coefficient is zero or differs in sign, the system is already unstable. This check alone can save you time, but it's not sufficient on its own for systems of order 3 or higher.
Routh Array
The Routh array is a table you build from the polynomial coefficients. Once complete, you read stability directly from its first column.
Construction of the Routh Array
Here's how to build it, step by step. Suppose your characteristic polynomial is
Step 1: Fill the first two rows by alternating coefficients.
| Row | Col 1 | Col 2 | Col 3 | ... |
|---|---|---|---|---|
| ... | ||||
| ... | ||||
| If a coefficient doesn't exist (the polynomial ran out of terms), fill it with zero. |
Step 2: Compute each element in the row using this formula:
The pattern is: take the two elements from the rows above, form a 2×2 cross-multiplication, and divide by the first-column element of the row directly above.
Step 3: Repeat this process for each subsequent row, always using the two rows immediately above, until you reach the row. Each row will have one fewer computed element than the row two above it.
Worked Example
Consider .
| Row | Col 1 | Col 2 |
|---|---|---|
| 1 | 5 | |
| 4 | 2 | |
| 0 | ||
First column: 1, 4, 4.5, 2. All positive, so zero sign changes and the system is stable. ### Special Cases in the Routh Array Two situations require extra handling: A zero in the first column (but the rest of the row is not all zeros): You can't divide by zero in the next calculation. The standard fix is to replace the zero with a small positive number , continue building the array, and then evaluate the sign changes as . An entire row of zeros: This signals that the polynomial has roots that are symmetric about the origin. These could be purely imaginary roots (on the -axis), equal and opposite real roots, or a combination. To proceed: 1. Form the auxiliary polynomial from the row just above the all-zero row. 2. Take the derivative of that auxiliary polynomial. 3. Replace the zero row with the coefficients of this derivative. 4. Continue building the array as normal. The roots of the auxiliary polynomial are themselves roots of the original characteristic polynomial, and they often indicate marginal stability (oscillation without growth or decay). ## Stability Analysis Using Routh-Hurwitz The core rule is simple: > Count the sign changes in the first column of the completed Routh array. The number of sign changes equals the number of roots in the right-half -plane (roots with positive real parts). - Zero sign changes → all roots in the left-half plane → stable system - One or more sign changes → that many roots in the right-half plane → unstable system For example, if the first column reads: 1, 2, −3, 4, the signs go +, +, −, +. That's two sign changes (+ to − and − to +), meaning two roots have positive real parts. ### Necessary and Sufficient Conditions for Stability For all roots to have strictly negative real parts: - Necessary condition: All coefficients of the characteristic polynomial must be positive (assuming ). Any missing or negative coefficient immediately means instability. - Sufficient condition: All elements in the first column of the Routh array are strictly positive (no zeros, no sign changes). Both conditions together give you a definitive stability verdict. ## Advantages and Limitations Strengths: - No root-finding required. You only need the polynomial coefficients. - Computationally cheap, especially for higher-order systems. - Gives the exact count of unstable roots. - Useful for finding the range of a parameter (like gain ) that keeps the system stable. Limitations: - Only works for LTI systems. - Tells you how many roots are unstable but not where they are. - Gives no information about relative stability, gain margin, or phase margin. - For discrete-time systems, you can't apply it directly to the -domain polynomial without a transformation (see below). ###### ![]() | ||
| -------- | ------ | ------------------- |
| Routh-Hurwitz | Algebraic | Stable/unstable + count of RHP roots |
| Root Locus | Graphical | How pole locations change with gain |
| Nyquist Criterion | Graphical (frequency) | Stability + gain/phase margins |
| Bode Plot | Graphical (frequency) | Gain and phase margins |
Routh-Hurwitz gives a definitive yes/no answer. Root locus and frequency-domain methods give richer design insight but require more computation.
Applications of the Routh-Hurwitz Criterion
Control System Design and Analysis
The most common use is finding the range of gain that keeps a closed-loop system stable. You substitute into the characteristic polynomial, build the Routh array with as a symbolic parameter, and then set inequalities on the first-column elements to find the valid range.
For example, if a first-column element works out to , stability requires , giving . Combined with other rows' constraints, you get the full stable range.
This approach pairs well with root locus and frequency response methods during the design process.
Stability Assessment Across Domains
The criterion applies anywhere you have a characteristic polynomial from an LTI model:
- Electrical systems: Power grid stability, filter design, amplifier feedback circuits
- Mechanical systems: Vibration analysis, suspension design, robotic arm control
- Chemical processes: Reactor temperature control, distillation column regulation
- Aerospace: Flight control stability, autopilot tuning, satellite attitude control
Applying the Criterion: Problem-Solving Approach
-
Extract the characteristic polynomial from the transfer function denominator or from .
-
Check the necessary condition: Are all coefficients present and of the same sign? If not, stop. The system is unstable.
-
Build the Routh array row by row using the cross-multiplication formula.
-
Handle special cases if a first-column zero or an all-zero row appears.
-
Count sign changes in the first column. Zero sign changes means stable; otherwise, the count gives the number of right-half plane roots.
Interpreting Results
- All first-column elements the same sign → stable
- Sign changes present → unstable, with the number of sign changes equaling the number of RHP poles
- An all-zero row → roots on the imaginary axis (marginally stable at best). Analyze the auxiliary polynomial to find those roots explicitly.
Extensions for Discrete-Time Systems
For discrete-time systems with characteristic polynomials in , you can't apply Routh-Hurwitz directly because the stability region is the unit circle , not the left-half plane.
The standard approach is to use a bilinear transformation (Jury's or Möbius transformation) to map the unit circle in the -plane to the left-half of a new -plane, then apply the Routh-Hurwitz criterion to the transformed polynomial. Alternatively, the Jury stability test is the direct discrete-time analog of Routh-Hurwitz.
Historical Background
The criterion is named after Edward John Routh (1831–1907) and Adolf Hurwitz (1859–1919), who developed their results independently in the late 19th century. Routh published his tabular method in 1876 for analyzing mechanical system stability, while Hurwitz formulated equivalent conditions using determinants of coefficient matrices in 1895.
Hurwitz's formulation uses the Hurwitz determinants: the system is stable if and only if all leading principal minors of the Hurwitz matrix are positive. Routh's array method and Hurwitz's determinant conditions are mathematically equivalent, but the Routh array is generally easier to compute by hand, which is why it's the version you'll typically use in coursework.
