Hurwitz - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Mozilla Firefox.

Online Help

All Products    Maple    MapleSim


PolynomialTools

  

Hurwitz

  

decide whether a polynomial has all its zeros strictly in the left half plane

 

Calling Sequence

Parameters

Description

Examples

References

Calling Sequence

Hurwitz(p, z,'s','g')

Parameters

p

-

polynomial with complex coefficients

z

-

variable of the polynomial p

's'

-

(optional) name

'g'

-

(optional) name

Description

• 

The Hurwitz(p, z) function determines whether the polynomial p⁡z has all its zeros strictly in the left half plane.

• 

A polynomial is a Hurwitz polynomial if all its roots are in the left half plane.

• 

The parameter p is a polynomial with complex coefficients. The polynomial may have symbolic parameters, which evalc and Hurwitz assume to be real.  The paraconjugate  p* of p is defined as the polynomial whose roots are the roots of p reflected across the imaginary axis.

• 

The parameter 's', if specified, is a name to which the sequence of partial fractions of the Stieltjes continued fraction of p−p&ast;p&plus;p&ast; will be assigned. The first element of the sequence returned in 's' is special. If it is of higher degree than 1 in z, p is not Hurwitz. If it is of the form b⁢z+a, where ℜ⁡a≠0orb<0, p is not Hurwitz, either. If each subsequent polynomial in the sequence returned is of the form b⁢z+a, where ℜ⁡a=0and0<b, then p is a Hurwitz polynomial.

  

This is useful if p has symbolic coefficients. You can decide the ranges of the coefficients that make p Hurwitz.

• 

If the Hurwitz function can use the previous rules to determine that p is Hurwitz, it returns true. If it can decide that p is not Hurwitz, it returns false. Otherwise, it returns FAIL.

• 

The parameter 'g', if specified, is a name to which the gcd of p and its paraconjugate  p&ast; will be assigned. The zeros of this gcd are precisely the zeros of p which are symmetrical under reflection across the imaginary axis.

• 

If the gcd is 1 while the sequence of partial fractions is empty, the conditions for being a Hurwitz polynomial are trivially satisfied. A manual check is recommended, though a warning is returned only if infolevel[Hurwitz] >= 1.

Examples

> 

with⁡PolynomialTools&colon;

> 

p1≔z2+z+1

p1≔z2+z+1

(1)
> 

Hurwitz⁡p1&comma;z

true

(2)
> 

p2≔3⁢z3+2⁢z2+z+c

p2≔3⁢z3+2⁢z2+c+z

(3)
> 

Hurwitz⁡p2&comma;z&comma;s2&comma;g2

FAIL

(4)
> 

s2

3⁢z2&comma;−4⁢z3⁢c−2&comma;−3⁢z2+zc

(5)
> 

g2

1

(6)

The elements of s2 are all positive if and only if 0<c<23, by inspection. Thus, you can use the information returned even when the direct call to Hurwitz fails.

Separate calls to Hurwitz in the cases c=0 and c=23 give nontrivial gcds between p2 and its paraconjugate. Thus, the stability criteria are satisfied only as above.

> 

p3≔4⁢z4+z3+z2+c

p3≔4⁢z4+z3+z2+c

(7)
> 

Hurwitz⁡p3&comma;z&comma;s3&comma;g3

FAIL

(8)
> 

s3

0&comma;4⁢z&comma;z&comma;−zc&comma;−z

(9)

Notice that the last term has coefficient −1. Thus, you can say unequivocally that p3 is not Hurwitz, for any value of c.

> 

p4≔z5+5⁢z4+4⁢z3+3⁢z2+2⁢z+c

p4≔z5+5⁢z4+4⁢z3+3⁢z2+c+2⁢z

(10)
> 

Hurwitz⁡p4&comma;z&comma;s4&comma;g4

FAIL

(11)
> 

s4

z5&comma;25⁢z17&comma;289⁢z5⁢5⁢c+1&comma;−5⁢c+12⁢z17⁢c2+48⁢c−2&comma;−c2−48⁢c+2⁢z5⁢c+1⁢c

(12)

By inspecting s4, notice that p4 is Hurwitz only if −15<c, and c2+48⁢c<2, and 0<c. This can be simplified to the conditions 0<c<−24&plus;17⁢2&equals;0.04... 

> 

p5≔p2+I⁢d

p5≔3⁢z3+2⁢z2+c+z+I⁢d

(13)

evalc and the Hurwitz function assume that symbolic parameters have real values.

> 

Hurwitz⁡p5&comma;z&comma;s5&comma;g5

FAIL

(14)
> 

s5

3⁢z2&comma;−4⁢z3⁢c−2−8⁢I⁢d3⁢c−22&comma;−3⁢c−23⁢z2⁢9⁢c3−12⁢c2−8⁢d2+4⁢c+I⁢d⁢3⁢c−229⁢c3−12⁢c2−8⁢d2+4⁢c

(15)

The coefficients of s5 can be inspected according to rules, but it is a tedious process.

> 

p6≔expand⁡x−1⁢x2+2⁢x−c

p6≔−c⁢x3+x4+c⁢x2−x3−2⁢c⁢x+2⁢x2+2⁢c−2⁢x

(16)
> 

Hurwitz⁡p6&comma;x&comma;s6&comma;g6

false

(17)
> 

g6

x2+2

(18)
> 

p7≔x+sqrt⁡2

p7≔x+2

(19)
> 

Hurwitz⁡p7&comma;x

true

(20)
> 

p8≔x3+c⁢x2+c2−1⁢x+1

p8≔x3+c⁢x2+c2−1⁢x+1

(21)
> 

Hurwitz⁡p8&comma;x&comma;s8&comma;g8

FAIL

(22)
> 

s8

xc&comma;c2⁢xc3−c−1&comma;c2⁢x−x−xc

(23)

Examination of the above for real values of c is a way to determine whether the polynomial is Hurwitz.

> 

p9≔expand⁡c⁢z2+1⁢z+1⁢z2+2⁢z+2

p9≔c⁢z5+3⁢c⁢z4+4⁢c⁢z3+2⁢c⁢z2+z3+3⁢z2+4⁢z+2

(24)
> 

Hurwitz⁡p9&comma;z&comma;s9&comma;g9

FAIL

(25)
> 

s9

(26)
> 

g9

c⁢z2+1

(27)

In the previous example, c might be zero. Thus, Hurwitz cannot determine whether all the zeros are in the left half plane.

References

  

Levinson, Norman, and Redheffer, Raymond M. Complex Variables. Holden-Day, 1970.

See Also

evalc

expand

fsolve

Hurwitz Zeta Function

PolynomialTools

sqrt

subs