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

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : Algebra : Polynomials : PolynomialTools : PolynomialTools/Hurwitz

PolynomialTools[Hurwitz] - decide whether a polynomial has all its zeros strictly in the left half plane

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 the polynomial pz 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 pp&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 bz&plus;a, where a0orb<0, p is not Hurwitz, either. If each subsequent polynomial in the sequence returned is of the form bz&plus;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

withPolynomialTools&colon;

p1:=z2&plus;z&plus;1

p1:=z2&plus;z&plus;1

(1)

Hurwitzp1&comma;z

true

(2)

p2:=3z3&plus;2z2&plus;z&plus;c

p2:=3z3&plus;2z2&plus;c&plus;z

(3)

Hurwitzp2&comma;z&comma;&apos;s2&apos;&comma;&apos;g2&apos;

FAIL

(4)

s2

32z&comma;4z3c2&comma;32z&plus;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&equals;0 and c&equals;23 give nontrivial gcds between p2 and its paraconjugate. Thus, the stability criteria are satisfied only as above.

p3:=4z4&plus;z3&plus;z2&plus;c

p3:=4z4&plus;z3&plus;z2&plus;c

(7)

Hurwitzp3&comma;z&comma;&apos;s3&apos;&comma;&apos;g3&apos;

FAIL

(8)

s3

0&comma;4z&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&plus;5z4&plus;4z3&plus;3z2&plus;2z&plus;c

p4:=z5&plus;5z4&plus;4z3&plus;3z2&plus;c&plus;2z

(10)

Hurwitzp4&comma;z&comma;&apos;s4&apos;&comma;&apos;g4&apos;

FAIL

(11)

s4

15z&comma;2517z&comma;2895z5c&plus;1&comma;1175c&plus;12zc2&plus;48c2&comma;c248c&plus;2z5c&plus;1c

(12)

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

p5:=p2&plus;Id

p5:=3z3&plus;2z2&plus;c&plus;z&plus;Id

(13)

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

Hurwitzp5&comma;z&comma;&apos;s5&apos;&comma;&apos;g5&apos;

FAIL

(14)

s5

32z&comma;4z3c28Id3c22&comma;123c23z9c312c28d2&plus;4c&plus;Id3c229c312c28d2&plus;4c

(15)

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

p6:=expandx1x2&plus;2xc

p6:=cx3&plus;x4&plus;cx2x32cx&plus;2x2&plus;2c2x

(16)

Hurwitzp6&comma;x&comma;&apos;s6&apos;&comma;&apos;g6&apos;

false

(17)

g6

x2&plus;2

(18)

p7:=x&plus;2

p7:=x&plus;2

(19)

Hurwitzp7&comma;x

true

(20)

p8:=x3&plus;cx2&plus;c21x&plus;1

p8:=x3&plus;cx2&plus;c21x&plus;1

(21)

Hurwitzp8&comma;x&comma;&apos;s8&apos;&comma;&apos;g8&apos;

FAIL

(22)

s8

xc&comma;c2xc3c1&comma;c2xxxc

(23)

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

p9:=expandcz2&plus;1z&plus;1z2&plus;2z&plus;2

p9:=cz5&plus;3cz4&plus;4cz3&plus;2cz2&plus;z3&plus;3z2&plus;4z&plus;2

(24)

Hurwitzp9&comma;z&comma;&apos;s9&apos;&comma;&apos;g9&apos;

FAIL

(25)

s9

(26)

g9

cz2&plus;1

(27)

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

See Also

evalc, expand, fsolve, Hurwitz Zeta Function, PolynomialTools, sqrt, subs

References

  

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


Download Help Document

Was this information helpful?



Please add your Comment (Optional)
E-mail Address (Optional)
What is ? This question helps us to combat spam