The stability of a linear time-invariant system often reduces to a question about the roots of its characteristic polynomial. If every root has a negative real part, the impulse response decays over time and the equilibrium is asymptotically stable. Directly solving for polynomial roots, however, can be cumbersome or numerically unstable, especially for degree four or higher. The Routh–Hurwitz criterion offers a purely algebraic alternative: by arranging the polynomial coefficients into a special tabular form and inspecting sign changes in its first column, one can deduce how many roots lie in the open right half of the complex plane without computing the roots explicitly.
Given a polynomial with real coefficients and , the Routh–Hurwitz test constructs an × array known as the Routh table. The first two rows contain the coefficients in an alternating pattern: the top row lists , while the second row lists . Subsequent rows follow a determinant-like recursion.
The sequence of elements in the first column encodes the root distribution. The number of sign changes equals the number of roots with positive real parts. If all entries are positive, the polynomial is Hurwitz stable and all roots lie in the left half-plane. Any zero or sign change hints at marginal or unstable behavior. This relationship emerges from complex analysis and the argument principle, yet the algorithm itself requires only elementary arithmetic, making it practical for hand calculations and embedded systems.
Our calculator automates the tabulation process using the classic recursion. For rows , the entries follow . When a leading element is zero, engineers replace it with a tiny positive epsilon to avoid division by zero. Our script does the same, substituting .
Suppose the polynomial is
. Entering the coefficients 1,3,3,3,1 produces the table:
| Row | Entries |
|---|
The first column becomes [1, 3, 2, 1, 1] with no sign changes, so all
roots lie in the left half-plane. Changing the coefficients to
1,0,-2,0,1, corresponding to
, yields two sign changes, indicating a pair of unstable roots.
| Step | Description |
|---|---|
| 1 | Read coefficients and verify the leading term is positive. |
| 2 | Populate the first two rows with alternating coefficients. |
| 3 | Use the recursion to fill lower rows, substituting epsilon for zero pivots. |
| 4 | Inspect the first column for sign changes to count right-half-plane roots. |
| 5 | Report the completed table and stability conclusion. |
The Routh–Hurwitz criterion plays a central role in control theory, where engineers design feedback loops that maintain system stability. By examining how coefficients depend on controller parameters, one can determine ranges that keep all roots in the left half-plane. The test also informs analog circuit design, mechanical vibration analysis, and any discipline where polynomials arise as characteristic equations. Its algebraic nature makes it ideal for symbolic manipulation and real-time diagnostics.
Historically, Edward Routh and Adolf Hurwitz developed their methods independently in the nineteenth century. Routh’s approach was rooted in mechanics and emphasized polynomial stability without explicit complex analysis. Hurwitz provided a more general determinant-based formulation. Modern texts often present both perspectives, but the tabular Routh test remains a favorite for quick calculations due to its straightforward iterative structure.
While the criterion is exact for polynomials with real coefficients, numerical pitfalls can arise. Very small or very large coefficients may lead to round-off errors that produce spurious sign changes. Scaling the polynomial to normalize coefficients or using higher-precision arithmetic can mitigate these issues. Our calculator uses JavaScript’s double-precision floating-point arithmetic, which suffices for educational examples but may need enhancement for professional engineering work.
Continue studying dynamic systems with the Laplace transform calculator, experiment with transfer functions in the inverse Laplace transform calculator, or explore frequency response using the RC low-pass filter calculator.