Routh-Hurwitz Stability Array Calculator
Build the full Routh array for a characteristic equation up to degree 4 and find the exact number of right-half-plane poles, with a clear stable or unstable verdict.
🧮 What is the Routh-Hurwitz Stability Array?
The Routh-Hurwitz stability array (or Routh array) is a triangular table built directly from a characteristic equation's coefficients that reveals, through simple arithmetic alone, exactly how many roots of that equation lie in the right half of the complex plane, the region that makes a linear feedback system unstable. It is the core computational tool behind the Routh-Hurwitz stability criterion, one of the oldest and still most widely taught algebraic stability tests in control theory.
Control engineers build a Routh array whenever they need a fast, exact stability answer without solving the characteristic equation's roots directly, checking a closed-loop system's stability after adding a controller or compensator, finding the range of a gain parameter that keeps a feedback loop stable, or verifying a hand-derived transfer function before moving to simulation. A student working through classical control theory homework uses the array to confirm a textbook problem's stability verdict step by step. A practicing engineer doing a quick sanity check on a proposed controller gain builds the array in seconds rather than reaching for numerical root-finding software.
A common misconception is that every entry in the array carries stability information. In reality, only the first column matters, the number of sign changes down that single column equals the exact number of right-half-plane roots, while the rest of the array exists purely as intermediate arithmetic needed to compute later rows correctly.
This calculator takes the five coefficients of a characteristic equation up to degree 4, builds the full array algorithmically, and returns the completed table, the first column, and a clear stable or unstable verdict, while explicitly flagging the two classic special cases (a leading zero in a row, or an entire row of zeros) that the basic construction cannot resolve on its own.
📐 Formula
📖 How to Use This Calculator
Steps
💡 Example Calculations
Example 1 — Stable Textbook Quartic
a0=1, a1=6, a2=11, a3=6, a4=1
Example 2 — Unstable Quartic (Classic Sign-Change Case)
a0=1, a1=1, a2=2, a3=6, a4=1
Example 3 — Stable, Four Distinct Real Roots
a0=1, a1=10, a2=35, a3=50, a4=24 (roots at −1, −2, −3, −4)
❓ Frequently Asked Questions
🔗 Related Calculators
What is the Routh-Hurwitz stability criterion?
The Routh-Hurwitz stability criterion is an algebraic method for determining how many roots of a polynomial (a control system's characteristic equation) lie in the right half of the complex plane, without actually solving for the roots. It works by arranging the polynomial's coefficients into a triangular array (the Routh array) and counting sign changes down the array's first column.
How do you build a Routh array?
For a0*s^4 + a1*s^3 + a2*s^2 + a3*s + a4, the first two rows are read directly from the coefficients: row s^4 = [a0, a2, a4] and row s^3 = [a1, a3, 0]. Every row after that is computed from the two rows immediately above it, using the general formula: new entry = (prevRow[0]*rowTwoAbove[j+1] - rowTwoAbove[0]*prevRow[j+1]) / prevRow[0].
How do you determine stability from the Routh array?
Count the sign changes going down the array's first column. Zero sign changes (every entry the same sign, none zero) means the system is stable, with no right-half-plane poles. Each sign change corresponds to exactly one root in the right half of the complex plane, so a first column of [1, 6, -4, 6.25, 1] has two sign changes and therefore two right-half-plane poles.
What does a leading zero in a Routh array row mean?
A leading zero (the first entry of a row is exactly 0 while the rest of that row is not all zero) makes the standard division formula for the next row undefined, since it divides by that leading entry. The classic textbook fix replaces the zero with a small positive number epsilon and takes the limit as epsilon approaches zero, a technique deliberately outside the scope of this calculator, which instead reports the condition clearly.
What does an entire row of zeros mean in a Routh array?
An entire row of zeros means the characteristic equation has a set of roots that are symmetric about the origin of the complex plane, for example a pair of purely imaginary roots, a pair of real roots of opposite sign, or a symmetric quadrantal set. Resolving it requires forming an auxiliary polynomial from the row directly above the zero row, another technique this calculator flags rather than attempts.
How many right-half-plane poles does an unstable Routh array typically show?
It depends entirely on how many sign changes appear in the first column, there is no fixed typical count. A first column with exactly one sign change indicates exactly one right-half-plane pole; two sign changes indicate exactly two, and so on, regardless of the polynomial's overall degree.
Can this calculator handle a characteristic equation of degree lower than 4?
Yes. Set the higher-order coefficients you do not need to 0 (for a degree-3 equation, set a0 to 0 in the s^4 slot is not correct since a0 is the leading coefficient; instead treat a1 as your new leading coefficient and set a0 to 0 only if your equation genuinely has no s^4 term, keeping the remaining coefficients aligned to their correct powers of s).
Why does the first column matter but not the rest of the array?
The Routh-Hurwitz theorem proves that the number of sign changes in the array's first column equals the number of characteristic-equation roots in the right half-plane, a direct mathematical result of how the array is constructed from the original polynomial's coefficients. The other columns exist only as intermediate values needed to compute later rows correctly, they carry no independent stability information themselves.
Is a system with zero sign changes always stable?
Yes, for a proper Routh array with no leading-zero or all-zero-row special case: zero sign changes in a fully computed first column means every root of the characteristic equation has a strictly negative real part, which is the exact definition of a stable linear time-invariant system. Special cases (leading zero, all-zero row) need the epsilon or auxiliary-polynomial method to reach a valid verdict, which is why this calculator reports them separately instead of forcing a zero-sign-change reading.
What is the difference between the Routh-Hurwitz criterion and just finding the roots directly?
Finding roots directly (for example with the quadratic formula for a 2nd-order system, or numerical root-finding for higher orders) gives you the roots themselves, useful for detailed analysis. The Routh-Hurwitz criterion gives you only the count of right-half-plane roots through simple arithmetic on the coefficients, without ever solving the polynomial, which is exactly why it became the standard hand-calculation stability check before numerical root-finding was routine.