CITE THIS NOTEBOOK: The Routh-Hurwitz stability criterion by Paul Abbott. Wolfram Community MAR 4 2023.
The Routh–Hurwitz stability criterion gives a necessary and sufficient stability condition for a control system. A polynomial is stable—that is, all its roots have strictly negative real part—if and only if all the principal minors of the Hurwitz matrix corresponding to are positive. An application to optimising the ground-state cooling of a micromechanical oscillator, which involves Hurwitz Integrals, is presented. input and output is used throughout so that the computational expressions most closely correspond to standard typeset notation.
p
Δ
n
p
Hurwitz Polynomials and Integrals
Hurwitz Polynomials and Integrals
A Hurwitz polynomial is a polynomial with real positive coefficients and roots that are either negative or pairwise conjugate with negative real parts.
The integral z, where is Hurwitz can be computed using the residue theorem: if and are analytic at and , , and ()≠0, then has a simple pole at , the residue of at is , and z=(), where γ is a simple closed curve enclosing the .
1
2π
∞
∫
-∞
(z)
(z)(-z)
(z)
g
h
z
i
g()≠0
z
i
h()=0
z
i
′
h
z
i
f(z)=
g(z)
h(z)
z
i
f
z
i
Res(f,)=()
z
i
g()
z
i
′
h
z
i
1
2π
∫
γ
g(z)
h(z)
∑
i
g()
z
i
′
h
z
i
z
i
Hence, the integral reduces to the sum ()(-) over the roots of and one can use to compute the integral.
∑
i
()
z
i
′
z
i
z
i
z
i
(z)
Definitions
Definitions
Polynomials
Polynomials
Define (z) using dynamic programming:
n
/::=/:=zEvaluate
n_
n
n
∑
i=1
p
i
2(n-i)
z
Compute (z):
4
4
p
1
6
z
p
2
4
z
p
3
2
z
p
4
Define (z) using dynamic programming:
n
/::=/:=zEvaluate
n_
n
n
∑
i=0
q
i
n-i
z
Compute (z):
4
4
q
0
4
z
q
1
3
z
q
2
2
z
q
3
q
4
Stability
Stability
Compute the Hurwitz (or Routh–Hurwitz) matrix for (z):
4
mat4=[[z],z]
4
q 1 | q 3 | 0 | 0 |
q 0 | q 2 | q 4 | 0 |
0 | q 1 | q 3 | 0 |
0 | q 0 | q 2 | q 4 |
A polynomial is stable if and only if the principal minors of the Hurwitz matrix of are all positive.
p
Δ
n
p
Compute the principal minors, , using :
Δ
n
Δ
n_
Determine for (z):
Δ
n
4
Table[[mat4],{n,4}]
Δ
n
,-,-+-,-+-
q
1
q
1
q
2
q
0
q
3
q
4
2
q
1
q
2
q
3
q
1
q
0
2
q
3
q
0
q
4
2
q
3
q
1
q
2
q
4
q
3
2
q
1
2
q
4
Determine the conditions under which (z) is stable:
4
Reduce[And@@Thread[Join[%,Variables[mat4]]>0]]
q
0
q
1
q
2
q
3
q
1
q
2
q
0
q
4
q
1
q
2
q
3
q
0
2
q
3
2
q
1
With positive coefficients, only every second determinant is required (Liénard and Chippart criterion):
StabilityConditions[p_]:=zModulerh=[p[z],z],n=Exponent[p[z],z],Reduce[And@@Thread[Join[Table[[rh],{k,n-1,1,-2}],Variables[rh]]>0],BacksubstitutionTrue]
Δ
k
Alternative determination of the conditions under which (z) is stable:
4
StabilityConditions[][z]
4
q
0
q
1
q
2
q
3
q
1
q
2
q
0
q
4
q
1
q
2
q
3
q
0
2
q
3
2
q
1
Computation
Computation
Computation via RootSum
Computation via RootSum
Compute the integral :=(z)(z)(-z)z using :
ℐ
n
1
2π
∞
∫
-∞
n
n
n
ℐ
n_
ℐ
n
n
n
n
′
n
Determine :
ℐ
4
ℐ
4
p
4
q
3
2
q
0
p
4
q
1
q
2
q
0
p
3
q
1
q
4
q
0
p
2
q
3
q
4
q
0
p
1
q
1
2
q
4
p
1
q
2
q
3
q
4
2-+
q
0
q
4
q
4
2
q
1
q
2
q
3
q
1
q
0
2
q
3
Computation via Determinant of Hurwitz matrix
Computation via Determinant of Hurwitz matrix
Observe that the denominator is proportional to the determinant of the Hurwitz matrix for (z):
4
-2
//Factor
q
0
q 1 | q 3 | 0 | 0 |
q 0 | q 2 | q 4 | 0 |
0 | q 1 | q 3 | 0 |
0 | q 0 | q 2 | q 4 |
2-+
q
0
q
4
q
4
2
q
1
q
2
q
3
q
1
q
0
2
q
3
Also observe that the numerator is the determinant of matrix obtained from the Hurwitz matrix by inserting the coefficients of (z) into the first row:
4
p 1 | p 2 | p 3 | p 4 |
q 0 | q 2 | q 4 | 0 |
0 | q 1 | q 3 | 0 |
0 | q 0 | q 2 | q 4 |
p
4
q
3
2
q
0
p
4
q
1
q
2
q
0
p
3
q
1
q
4
q
0
p
2
q
3
q
4
q
0
p
1
q
1
2
q
4
p
1
q
2
q
3
q
4
Check that is recovered:
ℐ
4
-
//Factor
1
2
q
0
p 1 | p 2 | p 3 | p 4 |
q 0 | q 2 | q 4 | 0 |
0 | q 1 | q 3 | 0 |
0 | q 0 | q 2 | q 4 |
q 1 | q 3 | 0 | 0 |
q 0 | q 2 | q 4 | 0 |
0 | q 1 | q 3 | 0 |
0 | q 0 | q 2 | q 4 |
ℐ
4
True
Let be the Laplace transform of , where and is a polynomial of degree ; let . The author proves that , where
P(p)/Q(p)
f(t)
Q(p)=+⋯+
a
0
n
p
a
n
P(p)
≤n-1
P(p)P(-p)+⋯++
g
0
2n−2
p
g
n-2
2
p
g
n-1
J=tG/(2D)
∞
∫
0
2
f(t)
n-1
(-1)
a
0
D
a 1 | a 3 | a 5 | ⋯ | 0 |
a 0 | a 2 | a 4 | ⋯ | 0 |
0 | a 1 | a 3 | ⋯ | 0 |
0 | a 0 | a 2 | ⋯ | 0 |
⋮ | ⋮ | ⋮ | ⋱ | ⋮ |
0 | ⋯ | ⋯ | a n-2 | a n |
and is obtained by replacing the first row of by the row ,⋯,. A convenient method for the numerical computation of is also given.
G
D
g
0
g
n-1
G
General Case
General Case
Compute z for polynomials and , with , using :
1
2π
∞
∫
-∞
(z)
(z)(-z)
(z)
(z)
deg((z))≤n-2
ℐ[p_,q_]:=zModule{n=Exponent[q(z),z],ps,pmat,qmat,c},c=Coefficient[q(z),];ps=PadLeft[CoefficientList[p(z),]//Reverse,n];qmat=[q(z),z];pmat=ReplacePart[qmat,1ps];//Factor
n
z
2
z
n+1
(-1)
2c
pmat
qmat
Application: Micromechanical Oscillator
Application: Micromechanical Oscillator
Genes et al. (2008) provides a general framework to describe cooling of a micromechanical oscillator to its quantum ground state by means of radiation-pressure coupling with a driven optical cavity.
Consider equations (13)-(17):
along with equations (21)-(28):
The integrals in equation (13) involve Hurwitz polynomials so are straightforward to compute.
Implement equations (15)-(17)
Implement equations (15)-(17)
Define the effective susceptibility, equation (17):
Define the (simplified) thermal noise spectrum, equation (15) simplified in equation (21):
Define the radiation pressure noise spectrum, equation (16):
Integral computation via Hurwitz Polynomials
Integral computation via Hurwitz Polynomials
A necessary condition for a polynomial to be Hurwitz is that it has positive real coefficients:
The constant coefficient in (z) (the first coefficient above) leads to the second stability condition:
Define the two stability conditions:
Define equations (23)-(25):