Mathematical proof
The Routh array is a tabular method permitting one to establish the stability of a system using only the coefficients of the characteristic polynomial. Central to the field of control systems design, the Routh–Hurwitz theorem and Routh array emerge by using the Euclidean algorithm and Sturm's theorem in evaluating Cauchy indices.
Given the system:
![{\displaystyle {\begin{aligned}f(x)&{}=a_{0}x^{n}+a_{1}x^{n-1}+\cdots +a_{n}&{}\quad (1)\\&{}=(x-r_{1})(x-r_{2})\cdots (x-r_{n})&{}\quad (2)\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/031962e686ca5e41b0daf82d2b4398b7d9731d2a)
Assuming no roots of
lie on the imaginary axis, and letting
= The number of roots of
with negative real parts, and
= The number of roots of
with positive real parts
then we have
![{\displaystyle N+P=n\quad (3)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8d904e0cb9e2263e0f773c4c723f03adaba726c4)
Expressing
in polar form, we have
![{\displaystyle f(x)=\rho (x)e^{j\theta (x)}\quad (4)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9fdb59e6c947a3e892aabe356c376ee5d7d9f986)
where
![{\displaystyle \rho (x)={\sqrt {{\mathfrak {Re}}^{2}[f(x)]+{\mathfrak {Im}}^{2}[f(x)]}}\quad (5)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f3342273646dc0f1235561b387b7af52e776938a)
and
![{\displaystyle \theta (x)=\tan ^{-1}{\big (}{\mathfrak {Im}}[f(x)]/{\mathfrak {Re}}[f(x)]{\big )}\quad (6)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f7b2086266668256c2065a93ae151bb2aba594d0)
from (2) note that
![{\displaystyle \theta (x)=\theta _{r_{1}}(x)+\theta _{r_{2}}(x)+\cdots +\theta _{r_{n}}(x)\quad (7)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a7aafb9472eaab708803a048a11f5de2e2def68c)
where
![{\displaystyle \theta _{r_{i}}(x)=\angle (x-r_{i})\quad (8)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5fca921583fd73d73dfecd4390d9495964816c1e)
Now if the ith root of
has a positive real part, then (using the notation y=(RE[y],IM[y]))
![{\displaystyle {\begin{aligned}\theta _{r_{i}}(x){\big |}_{x=-j\infty }&=\angle (x-r_{i}){\big |}_{x=-j\infty }\\&=\angle (0-{\mathfrak {Re}}[r_{i}],-\infty -{\mathfrak {Im}}[r_{i}])\\&=\angle (-|{\mathfrak {Re}}[r_{i}]|,-\infty )\\&=\pi +\lim _{\phi \to \infty }\tan ^{-1}\phi ={\frac {3\pi }{2}}\quad (9)\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8b5b7395910dafa111cef24840a04b6f678dde27)
and
![{\displaystyle \theta _{r_{i}}(x){\big |}_{x=j0}=\angle (-|{\mathfrak {Re}}[r_{i}]|,0)=\pi -\tan ^{-1}0=\pi \quad (10)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a8a52bccf4aeb16d032d5a102c1ae9bc8b6bcd1f)
and
![{\displaystyle \theta _{r_{i}}(x){\big |}_{x=j\infty }=\angle (-|{\mathfrak {Re}}[r_{i}]|,\infty )=\pi -\lim _{\phi \to \infty }\tan ^{-1}\phi ={\frac {\pi }{2}}\quad (11)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/838372f37cf13c3c184a2477039b676104cb7a5f)
Similarly, if the ith root of
has a negative real part,
![{\displaystyle {\begin{aligned}\theta _{r_{i}}(x){\big |}_{x=-j\infty }&=\angle (x-r_{i}){\big |}_{x=-j\infty }\\&=\angle (0-{\mathfrak {Re}}[r_{i}],-\infty -{\mathfrak {Im}}[r_{i}])\\&=\angle (|{\mathfrak {Re}}[r_{i}]|,-\infty )\\&=0-\lim _{\phi \to \infty }\tan ^{1}\phi =-{\frac {\pi }{2}}\quad (12)\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cb66015512b6985b691bd082240e95221662faa4)
and
![{\displaystyle \theta _{r_{i}}(x){\big |}_{x=j0}=\angle (|{\mathfrak {Re}}[r_{i}]|,0)=\tan ^{-1}0=0\,\quad (13)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f0af975bb9b398ec5e8cf3b476787d1db575c52d)
and
![{\displaystyle \theta _{r_{i}}(x){\big |}_{x=j\infty }=\angle (|{\mathfrak {Re}}[r_{i}]|,\infty )=\lim _{\phi \to \infty }\tan ^{-1}\phi ={\frac {\pi }{2}}\,\quad (14)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec04aab88fc87619bb9b6771313b6b3e63ccb771)
From (9) to (11) we find that
when the ith root of
has a positive real part, and from (12) to (14) we find that
when the ith root of
has a negative real part. Thus,
![{\displaystyle \theta (x){\Big |}_{x=-j\infty }^{x=j\infty }=\angle (x-r_{1}){\Big |}_{x=-j\infty }^{x=j\infty }+\angle (x-r_{2}){\Big |}_{x=-j\infty }^{x=j\infty }+\cdots +\angle (x-r_{n}){\Big |}_{x=-j\infty }^{x=j\infty }=\pi N-\pi P\quad (15)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/beccb357aa3cdb84ee618468b7e6e968ffb3d5fe)
So, if we define
![{\displaystyle \Delta ={\frac {1}{\pi }}\theta (x){\Big |}_{-j\infty }^{j\infty }\quad (16)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a67e586838954a31638ff3cc082fa4fdc7439aa1)
then we have the relationship
![{\displaystyle N-P=\Delta \quad (17)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/f36db190c39f879338a13522b99fd7c4e424fc70)
and combining (3) and (17) gives us
and ![{\displaystyle P={\frac {n-\Delta }{2}}\quad (18)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d436997abba993f4a8bdc3b76c81414db4cca606)
Therefore, given an equation of
of degree
we need only evaluate this function
to determine
, the number of roots with negative real parts and
, the number of roots with positive real parts.
|
Figure 1
|
![{\displaystyle \tan(\theta )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2dbdbf63a30c035f2e8232b47930e745680b6e31) versus ![{\displaystyle \theta }](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e5ab2664b422d53eb0c7df3b87e1360d75ad9af)
|
In accordance with (6) and Figure 1, the graph of
vs
, varying
over an interval (a,b) where
and
are integer multiples of
, this variation causing the function
to have increased by
, indicates that in the course of travelling from point a to point b,
has "jumped" from
to
one more time than it has jumped from
to
. Similarly, if we vary
over an interval (a,b) this variation causing
to have decreased by
, where again
is a multiple of
at both
and
, implies that
has jumped from
to
one more time than it has jumped from
to
as
was varied over the said interval.
Thus,
is
times the difference between the number of points at which
jumps from
to
and the number of points at which
jumps from
to
as
ranges over the interval
provided that at
,
is defined.
|
Figure 2
|
![{\displaystyle -\cot(\theta )}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b41f964aea30a6e0a37a79cd069b4debbd29861b) versus ![{\displaystyle \theta }](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e5ab2664b422d53eb0c7df3b87e1360d75ad9af)
|
In the case where the starting point is on an incongruity (i.e.
, i = 0, 1, 2, ...) the ending point will be on an incongruity as well, by equation (17) (since
is an integer and
is an integer,
will be an integer). In this case, we can achieve this same index (difference in positive and negative jumps) by shifting the axes of the tangent function by
, through adding
to
. Thus, our index is now fully defined for any combination of coefficients in
by evaluating
over the interval (a,b) =
when our starting (and thus ending) point is not an incongruity, and by evaluating
![{\displaystyle \tan[\theta '(x)]=\tan[\theta +\pi /2]=-\cot[\theta (x)]=-{\mathfrak {Re}}[f(x)]/{\mathfrak {Im}}[f(x)]\quad (19)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6e718d1233f9c08d6cb4344dae637f97bc9804db)
over said interval when our starting point is at an incongruity.
This difference,
, of negative and positive jumping incongruities encountered while traversing
from
to
is called the Cauchy Index of the tangent of the phase angle, the phase angle being
or
, depending as
is an integer multiple of
or not.
The Routh criterion
[edit]
To derive Routh's criterion, first we'll use a different notation to differentiate between the even and odd terms of
:
![{\displaystyle f(x)=a_{0}x^{n}+b_{0}x^{n-1}+a_{1}x^{n-2}+b_{1}x^{n-3}+\cdots \quad (20)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/effc41deb942516e929fb36a215eaf1c1c51afe3)
Now we have:
![{\displaystyle {\begin{aligned}f(j\omega )&=a_{0}(j\omega )^{n}+b_{0}(j\omega )^{n-1}+a_{1}(j\omega )^{n-2}+b_{1}(j\omega )^{n-3}+\cdots &{}\quad (21)\\&=a_{0}(j\omega )^{n}+a_{1}(j\omega )^{n-2}+a_{2}(j\omega )^{n-4}+\cdots &{}\quad (22)\\&+b_{0}(j\omega )^{n-1}+b_{1}(j\omega )^{n-3}+b_{2}(j\omega )^{n-5}+\cdots \\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/dba25664b50fe5e6ca5719d65fb9a75b1f6bc892)
Therefore, if
is even,
![{\displaystyle {\begin{aligned}f(j\omega )&=(-1)^{n/2}{\big [}a_{0}\omega ^{n}-a_{1}\omega ^{n-2}+a_{2}\omega ^{n-4}-\cdots {\big ]}&{}\quad (23)\\&+j(-1)^{(n/2)-1}{\big [}b_{0}\omega ^{n-1}-b_{1}\omega ^{n-3}+b_{2}\omega ^{n-5}-\cdots {\big ]}&{}\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4e495902015ba0b7f57501e6d3d82ee9ab5ef62a)
and if
is odd:
![{\displaystyle {\begin{aligned}f(j\omega )&=j(-1)^{(n-1)/2}{\big [}a_{0}\omega ^{n}-a_{1}\omega ^{n-2}+a_{2}\omega ^{n-4}-\cdots {\big ]}&{}\quad (24)\\&+(-1)^{(n-1)/2}{\big [}b_{0}\omega ^{n-1}-b_{1}\omega ^{n-3}+b_{2}\omega ^{n-5}-\cdots {\big ]}&{}\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2031e504dd4c89445e158080035a39a2e0e17c2b)
Now observe that if
is an odd integer, then by (3)
is odd. If
is an odd integer, then
is odd as well. Similarly, this same argument shows that when
is even,
will be even. Equation (15) shows that if
is even,
is an integer multiple of
. Therefore,
is defined for
even, and is thus the proper index to use when n is even, and similarly
is defined for
odd, making it the proper index in this latter case.
Thus, from (6) and (23), for
even:
![{\displaystyle \Delta =I_{-\infty }^{+\infty }{\frac {-{\mathfrak {Im}}[f(x)]}{{\mathfrak {Re}}[f(x)]}}=I_{-\infty }^{+\infty }{\frac {b_{0}\omega ^{n-1}-b_{1}\omega ^{n-3}+\cdots }{a_{0}\omega ^{n}-a_{1}\omega ^{n-2}+\ldots }}\quad (25)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d9829781584a0ac5eac8c828f3b075583bb496da)
and from (19) and (24), for
odd:
![{\displaystyle \Delta =I_{-\infty }^{+\infty }{\frac {{\mathfrak {Re}}[f(x)]}{{\mathfrak {Im}}[f(x)]}}=I_{-\infty }^{+\infty }{\frac {b_{0}\omega ^{n-1}-b_{1}\omega ^{n-3}+\ldots }{a_{0}\omega ^{n}-a_{1}\omega ^{n-2}+\ldots }}\quad (26)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3d8786a9be2f8a0f8cff61b436453fa922966c5d)
Lo and behold we are evaluating the same Cauchy index for both:
Sturm gives us a method for evaluating
. His theorem states as follows:
Given a sequence of polynomials
where:
1) If
then
,
, and
2)
for
and we define
as the number of changes of sign in the sequence
for a fixed value of
, then:
![{\displaystyle \Delta =I_{-\infty }^{+\infty }{\frac {f_{2}(x)}{f_{1}(x)}}=V(-\infty )-V(+\infty )\quad (28)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a5c9031e4f629e0b85e0518f32d581d53b966dd0)
A sequence satisfying these requirements is obtained using the Euclidean algorithm, which is as follows:
Starting with
and
, and denoting the remainder of
by
and similarly denoting the remainder of
by
, and so on, we obtain the relationships:
![{\displaystyle {\begin{aligned}&f_{1}(x)=q_{1}(x)f_{2}(x)-f_{3}(x)\quad (29)\\&f_{2}(x)=q_{2}(x)f_{3}(x)-f_{4}(x)\\&\ldots \\&f_{m-1}(x)=q_{m-1}(x)f_{m}(x)\\\end{aligned}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a7baddf6092749e67a484573b59bd173cc07afde)
or in general
![{\displaystyle f_{k-1}(x)=q_{k-1}(x)f_{k}(x)-f_{k+1}(x)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/c3fab5cc4ec4e4a4e247f486ead109b8d9f5c4ad)
where the last non-zero remainder,
will therefore be the highest common factor of
. It can be observed that the sequence so constructed will satisfy the conditions of Sturm's theorem, and thus an algorithm for determining the stated index has been developed.
It is in applying Sturm's theorem (28) to (29), through the use of the Euclidean algorithm above that the Routh matrix is formed.
We get
![{\displaystyle f_{3}(\omega )={\frac {a_{0}}{b_{0}}}f_{2}(\omega )-f_{1}(\omega )\quad (30)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/50c003541395f2b235c6c13815d097c7509c2c4c)
and identifying the coefficients of this remainder by
,
,
,
, and so forth, makes our formed remainder
![{\displaystyle f_{3}(\omega )=c_{0}\omega ^{n-2}-c_{1}\omega ^{n-4}+c_{2}\omega ^{n-6}-\cdots \quad (31)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1e40b96f33dfacd70d0e17f5932b7b8d2a14cea6)
where
![{\displaystyle c_{0}=a_{1}-{\frac {a_{0}}{b_{0}}}b_{1}={\frac {b_{0}a_{1}-a_{0}b_{1}}{b_{0}}};c_{1}=a_{2}-{\frac {a_{0}}{b_{0}}}b_{2}={\frac {b_{0}a_{2}-a_{0}b_{2}}{b_{0}}};\ldots \quad (32)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/100c6fa9c074185818d2dfb1a8283514456a81c5)
Continuing with the Euclidean algorithm on these new coefficients gives us
![{\displaystyle f_{4}(\omega )={\frac {b_{0}}{c_{0}}}f_{3}(\omega )-f_{2}(\omega )\quad (33)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2627bdd1336fd78a447cdbf399ebd1e2c1fa15ec)
where we again denote the coefficients of the remainder
by
,
,
,
,
making our formed remainder
![{\displaystyle f_{4}(\omega )=d_{0}\omega ^{n-3}-d_{1}\omega ^{n-5}+d_{2}\omega ^{n-7}-\cdots \quad (34)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/79e3d4a3edd85765679b4ee75c632d9d9e170737)
and giving us
![{\displaystyle d_{0}=b_{1}-{\frac {b_{0}}{c_{0}}}c_{1}={\frac {c_{0}b_{1}-b_{0}c_{1}}{c_{0}}};d_{1}=b_{2}-{\frac {b_{0}}{c_{0}}}c_{2}={\frac {c_{0}b_{2}-b_{0}c_{2}}{c_{0}}};\ldots \quad (35)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d808f375961e8549e9707892d5dbbc6a4e21db73)
The rows of the Routh array are determined exactly by this algorithm when applied to the coefficients of (20). An observation worthy of note is that in the regular case the polynomials
and
have as the highest common factor
and thus there will be
polynomials in the chain
.
Note now, that in determining the signs of the members of the sequence of polynomials
that at
the dominating power of
will be the first term of each of these polynomials, and thus only these coefficients corresponding to the highest powers of
in
, and
, which are
,
,
,
, ... determine the signs of
,
, ...,
at
.
So we get
that is,
is the number of changes of sign in the sequence
,
,
, ... which is the number of sign changes in the sequence
,
,
,
, ... and
; that is
is the number of changes of sign in the sequence
,
,
, ... which is the number of sign changes in the sequence
,
,
,
, ...
Since our chain
,
,
,
, ... will have
members it is clear that
since within
if going from
to
a sign change has not occurred, within
going from
to
one has, and likewise for all
transitions (there will be no terms equal to zero) giving us
total sign changes.
As
and
, and from (18)
, we have that
and have derived Routh's theorem -
The number of roots of a real polynomial
which lie in the right half plane
is equal to the number of changes of sign in the first column of the Routh scheme.
And for the stable case where
then
by which we have Routh's famous criterion:
In order for all the roots of the polynomial
to have negative real parts, it is necessary and sufficient that all of the elements in the first column of the Routh scheme be different from zero and of the same sign.
- Hurwitz, A., "On the Conditions under which an Equation has only Roots with Negative Real Parts", Rpt. in Selected Papers on Mathematical Trends in Control Theory, Ed. R. T. Ballman et al. New York: Dover 1964
- Routh, E. J., A Treatise on the Stability of a Given State of Motion. London: Macmillan, 1877. Rpt. in Stability of Motion, Ed. A. T. Fuller. London: Taylor & Francis, 1975
- Felix Gantmacher (J.L. Brenner translator) (1959) Applications of the Theory of Matrices, pp 177–80, New York: Interscience.