 PolynomialTools - Maple Programming Help

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 $p\left(z\right)$ 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 $\frac{\left(p-{p}^{*}\right)}{\left(p+{p}^{*}\right)}$ 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+a$, where $\mathrm{\Re }\left(a\right)\ne 0\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{or}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}b<0$, $p$ is not Hurwitz, either. If each subsequent polynomial in the sequence returned is of the form $bz+a$, where $\mathrm{\Re }\left(a\right)=0\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{and}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}0, 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}^{*}$ 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

 > $\mathrm{with}\left(\mathrm{PolynomialTools}\right):$
 > $\mathrm{p1}≔{z}^{2}+z+1$
 ${\mathrm{p1}}{≔}{{z}}^{{2}}{+}{z}{+}{1}$ (1)
 > $\mathrm{Hurwitz}\left(\mathrm{p1},z\right)$
 ${\mathrm{true}}$ (2)
 > $\mathrm{p2}≔3{z}^{3}+2{z}^{2}+z+c$
 ${\mathrm{p2}}{≔}{3}{}{{z}}^{{3}}{+}{2}{}{{z}}^{{2}}{+}{c}{+}{z}$ (3)
 > $\mathrm{Hurwitz}\left(\mathrm{p2},z,'\mathrm{s2}','\mathrm{g2}'\right)$
 ${\mathrm{FAIL}}$ (4)
 > $\mathrm{s2}$
 $\left[\frac{{3}{}{z}}{{2}}{,}{-}\frac{{4}{}{z}}{{3}{}{c}{-}{2}}{,}{-}\frac{{3}{}{z}}{{2}}{+}\frac{{z}}{{c}}\right]$ (5)
 > $\mathrm{g2}$
 ${1}$ (6)

The elements of $\mathrm{s2}$ are all positive if and only if $0, 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=\frac{2}{3}$ give nontrivial gcds between $\mathrm{p2}$ and its paraconjugate. Thus, the stability criteria are satisfied only as above.

 > $\mathrm{p3}≔4{z}^{4}+{z}^{3}+{z}^{2}+c$
 ${\mathrm{p3}}{≔}{4}{}{{z}}^{{4}}{+}{{z}}^{{3}}{+}{{z}}^{{2}}{+}{c}$ (7)
 > $\mathrm{Hurwitz}\left(\mathrm{p3},z,'\mathrm{s3}','\mathrm{g3}'\right)$
 ${\mathrm{FAIL}}$ (8)
 > $\mathrm{s3}$
 $\left[{0}{,}{4}{}{z}{,}{z}{,}{-}\frac{{z}}{{c}}{,}{-}{z}\right]$ (9)

Notice that the last term has coefficient $-1$. Thus, you can say unequivocally that $\mathrm{p3}$ is not Hurwitz, for any value of $c$.

 > $\mathrm{p4}≔{z}^{5}+5{z}^{4}+4{z}^{3}+3{z}^{2}+2z+c$
 ${\mathrm{p4}}{≔}{{z}}^{{5}}{+}{5}{}{{z}}^{{4}}{+}{4}{}{{z}}^{{3}}{+}{3}{}{{z}}^{{2}}{+}{c}{+}{2}{}{z}$ (10)
 > $\mathrm{Hurwitz}\left(\mathrm{p4},z,'\mathrm{s4}','\mathrm{g4}'\right)$
 ${\mathrm{FAIL}}$ (11)
 > $\mathrm{s4}$
 $\left[\frac{{z}}{{5}}{,}\frac{{25}{}{z}}{{17}}{,}\frac{{289}{}{z}}{{5}{}\left({5}{}{c}{+}{1}\right)}{,}{-}\frac{{\left({5}{}{c}{+}{1}\right)}^{{2}}{}{z}}{{17}{}\left({{c}}^{{2}}{+}{48}{}{c}{-}{2}\right)}{,}\frac{\left({-}{{c}}^{{2}}{-}{48}{}{c}{+}{2}\right){}{z}}{\left({5}{}{c}{+}{1}\right){}{c}}\right]$ (12)

By inspecting $\mathrm{s4}$, notice that $\mathrm{p4}$ is Hurwitz only if $-\frac{1}{5}, and ${c}^{2}+48c<2$, and $0. This can be simplified to the conditions $0

 > $\mathrm{p5}≔\mathrm{p2}+Id$
 ${\mathrm{p5}}{≔}{3}{}{{z}}^{{3}}{+}{2}{}{{z}}^{{2}}{+}{c}{+}{z}{+}{I}{}{d}$ (13)

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

 > $\mathrm{Hurwitz}\left(\mathrm{p5},z,'\mathrm{s5}','\mathrm{g5}'\right)$
 ${\mathrm{FAIL}}$ (14)
 > $\mathrm{s5}$
 $\left[\frac{{3}{}{z}}{{2}}{,}{-}\frac{{4}{}{z}}{{3}{}{c}{-}{2}}{-}\frac{{8}{}{I}{}{d}}{{\left({3}{}{c}{-}{2}\right)}^{{2}}}{,}{-}\frac{{\left({3}{}{c}{-}{2}\right)}^{{3}}{}{z}}{{2}{}\left({9}{}{{c}}^{{3}}{-}{12}{}{{c}}^{{2}}{-}{8}{}{{d}}^{{2}}{+}{4}{}{c}\right)}{+}\frac{{I}{}{d}{}{\left({3}{}{c}{-}{2}\right)}^{{2}}}{{9}{}{{c}}^{{3}}{-}{12}{}{{c}}^{{2}}{-}{8}{}{{d}}^{{2}}{+}{4}{}{c}}\right]$ (15)

The coefficients of $\mathrm{s5}$ can be inspected according to rules, but it is a tedious process.

 > $\mathrm{p6}≔\mathrm{expand}\left(\left(x-1\right)\left({x}^{2}+2\right)\left(x-c\right)\right)$
 ${\mathrm{p6}}{≔}{-}{c}{}{{x}}^{{3}}{+}{{x}}^{{4}}{+}{c}{}{{x}}^{{2}}{-}{{x}}^{{3}}{-}{2}{}{c}{}{x}{+}{2}{}{{x}}^{{2}}{+}{2}{}{c}{-}{2}{}{x}$ (16)
 > $\mathrm{Hurwitz}\left(\mathrm{p6},x,'\mathrm{s6}','\mathrm{g6}'\right)$
 ${\mathrm{false}}$ (17)
 > $\mathrm{g6}$
 ${{x}}^{{2}}{+}{2}$ (18)
 > $\mathrm{p7}≔x+\mathrm{sqrt}\left(2\right)$
 ${\mathrm{p7}}{≔}{x}{+}\sqrt{{2}}$ (19)
 > $\mathrm{Hurwitz}\left(\mathrm{p7},x\right)$
 ${\mathrm{true}}$ (20)
 > $\mathrm{p8}≔{x}^{3}+c{x}^{2}+\left({c}^{2}-1\right)x+1$
 ${\mathrm{p8}}{≔}{{x}}^{{3}}{+}{c}{}{{x}}^{{2}}{+}\left({{c}}^{{2}}{-}{1}\right){}{x}{+}{1}$ (21)
 > $\mathrm{Hurwitz}\left(\mathrm{p8},x,'\mathrm{s8}','\mathrm{g8}'\right)$
 ${\mathrm{FAIL}}$ (22)
 > $\mathrm{s8}$
 $\left[\frac{{x}}{{c}}{,}\frac{{{c}}^{{2}}{}{x}}{{{c}}^{{3}}{-}{c}{-}{1}}{,}{{c}}^{{2}}{}{x}{-}{x}{-}\frac{{x}}{{c}}\right]$ (23)

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

 > $\mathrm{p9}≔\mathrm{expand}\left(\left(c{z}^{2}+1\right)\left(z+1\right)\left({z}^{2}+2z+2\right)\right)$
 ${\mathrm{p9}}{≔}{c}{}{{z}}^{{5}}{+}{3}{}{c}{}{{z}}^{{4}}{+}{4}{}{c}{}{{z}}^{{3}}{+}{2}{}{c}{}{{z}}^{{2}}{+}{{z}}^{{3}}{+}{3}{}{{z}}^{{2}}{+}{4}{}{z}{+}{2}$ (24)
 > $\mathrm{Hurwitz}\left(\mathrm{p9},z,'\mathrm{s9}','\mathrm{g9}'\right)$
 ${\mathrm{FAIL}}$ (25)
 > $\mathrm{s9}$
 $\left[\right]$ (26)
 > $\mathrm{g9}$
 ${c}{}{{z}}^{{2}}{+}{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.