You are on page 1of 37

53

CHAPTER 3

EXTENSION OF ROUTH-HURWITZ CRITERION


FOR FINDING THE INITIAL APPROXIMANT
AND ERROR CORRECTION

3.1 INTRODUCTION

The previous chapter 2 determines the initial approximate


factor using triangular method from the coefficients of the given
algebraic polynomial. This initial approximant is found converging to
actual results. However, the methodology is most suitable for even
degree polynomial and requires an additional computational effort to
handle ill-conditioned polynomial. Hence it becomes essential to
develop an educated initial approximant which extracts knowledge from
the nature of the polynomial and an error correction process which also
follows the behavior of the polynomial. Therefore, faster convergence to
accurate results can be achieved.

The literature review carried out on root locating techniques


reveals that the Routh-Hurwitz criterion (Edward John Routh and Adolf
Hurwitz 1895) developed from Routh Table (Edward John Routh 1877)
depicts the distribution of roots of an algebraic polynomial in the
complex plane. A. Hurwitz and E.J Routh independently published the
method of investigating the sufficient conditions of stability of an
54

algebraic system. The Hurwitz criterion is in terms of determinants and


Routh criterion is in terms of array formulation, which is more
convenient to handle.

3.1.1 Routh-Hurwitz Stability Criterion (Edward John Routh


and Adolf Hurwitz 1895)

Routh-Hurwitz criterion is an algebraic method that provides


information on the absolute stability of a linear time-invariant system
that has a characteristic equation with real coefficients. The criterion
tests whether any of the roots of the characteristic equation lies in the
right half complex plane. The numbers of roots that lie on the imaginary
axis and in the right half complex plane are also indicated (Chang and
Chan 1974, Fahmy andOReilly, 1982).

Consider a monic polynomial,

Pn(x) = anxn + an-1xn-1 + + a1x + a0 (3.1)

where n is the degree and ais are the coefficients of Pn(x) with
an=1.

The prime step in the formation of Routh-Hurwitz criterion is


to arrange the coefficients of the Equation (3.1) into two rows, called the
Routh array. The 0th row consists of first, third, fifth, coefficients,
and the first row consists of second, fourth, sixth, coefficients, as
shown in the Table 3.1.

Table 3.1 Arrangement of Coefficients of Pn(x) to form Routh Array

an an-2 an-4 an-6 . .


an-1 an-3 an-5 an-7 . .
55

Then the next step is to form the Routh array as shown in the
Table 3.2. The first two rows in Table 3.2 follow the arrangements of
coefficients of Pn(x) as

0,j = a(n+2)-2j ; j = 1,2, , m0


and 1,j = a(n+1)-2j ; j = 1,2, , m1 (3.2)

with m0 = (n+2)/2 and m1 = m0 1 for n even and m1 = m0 for n odd.

Routh array is developed from second row to nth row. Every


newly formed row follows its two consecutive previous rows. The
2, j s in second row are determined as

0,1 1, j+1
2, j 0, j+1 ; j = 1,2, , m0 (3.3)
1,1

Table 3.2 Formation of Routh Array for Pn(x)

xn 0,1 0,2 0,3 0,4 .


xn-1 1,1 1,2 1,3 1,4 .
xn-2 2,1 2,2 2,3 2,4 .
xn-3 3,1 3,2 3,3 3,4
. .
. .
x2 n-2,1 n-2,2
1
x n-1,1

x0 n,1 = a0

3, j 2, j s by using the
first and second rows. The procedure is continued down to the nth row.
56

In general the elements from second row to nth row is


determined as

i,1 i, j+1
i, j i, j+1 ; i = 2, ,n , j = 1,2, , mj (3.4)
i,1

where mj = max{ mj-1 , mj-2} 1. The first column in Table 3.2 is called
the reference column. This reference column keeps track of the
calculations, and the last row of Routh array should always be the
coefficient of x0 term of Pn(x). In the process of generating the Routh
array, the missing terms are regarded as zero. Also all the elements of
any row can be divided by a positive constant during the process to
simply the computational work.

Once Routh array has been computed, the last step in the
application of the RH criterion is to investigate the signs of the first
column of the tabulation which contains information on the roots of the
equation (Krishnamurthi 1972,1980). The conclusions made from RH
criterion are: The roots of the equation are all in the LHS of the complex
plane if all the elements of the first column of the Routh array are of the
same sign. The number of sign changes of sign in the elements of the
first column equals the number of roots with positive real parts or in the
RHS of complex plane. Figure 3.1 depicts the transient response of a
linear system having the roots of its characteristic equation in LHS and
RHS of s-plane. The x-axis and y-axis represent the real axis and
imaginary axis of s-plane respectively in Figure 3.1.
57

3.1.1.1 Special cases of Routh Array (Edward John Routh 1877)

Depending on the coefficients of the equation Pn(x), the


following difficulties may occur that prevent Routh array from
completing properly.

Case I: When the first element in any row of the Routh array is
zero while rest of the row has at least one nonzero term.

Case II: When all the elements in any one row of Routh array are all
zero.

Remedies: In the first case, the zero in the first column will be
replaced by an arbitrary small positive number
proceed with Routh tabulation. In the second case, the
entire row of zeros can be replaced by the auxiliary
equation, which is formed by taking the derivative of the
row just above the row of zeros in Routh tabulation.

Figure 3.2 Stability for Various Root-locations in the s-plane


58

3.1.2 Relative Stability (Shifting the origin)

If all roots of the characteristic equation lie in the LHS of


s- plane, then Routh stability criterion ascertains the absolute stability of
the system as shown in the Figure 3.2 (Nagarath and Gopal 1994). The
Routh stability criterion is extended for a relative stability analysis by
determining the minimum distance of the characteristic roots from the
imaginary axis. This can be obtained
characteristic equation Pn(x) as shown in the Figure 3.2, derive a new
polynomial SPn(x), and apply Routh stability criterion to the new shifted
polynomial. Shifting the vertical axis on a trial- and- error basis, the
minimum distance of the roots from the imaginary axis can be found
(Zima 1997).

In polynomial Equation (3.1), the shift of Pn(x) by a constant


n, bn-1, bn-2 b1, b0 of
SPn(x) as

n
SPn(x) = Pn nx +bn-1xn-1+ +b1x+b0 (3.5)

Figure 3.2 Shifting the Origin in the Complex Plane


59

These new coefficients are obtained using the following formula:

n i k i
bn k
an i
;k = 0,1,2, ,n (3.6)
k i

In the Equation (3.4), bns are the shifted coefficients and ans
are the original coefficients.

3.1.3 Nature of the Problem

The following observations are made from the methodology


and illustrative examples in chapter 2 while factorizing the polynomial:

i) A methodology must be formulated to extract the initial


approximant from the given polynomial, instead of
guessing an initial approximant. This extracted initial
approximant must be closely located to actual roots.

ii) The error correction technique applied to the approximant


to converge to actual root must follow the characteristic
of the polynomial, which ensures the successive iterations
converge to the actual roots.

The literature study on the nature of the polynomial reveals


that Routh criterion is one of the efficient techniques that handle the
characteristics of the polynomial (Sivanandam and Deepa 2007, 2009).

The technique of generating a reduced-order (rth - order) from


a given high-order (nth - order) characteristic equation P(x) through
60

Routh array algorithm is well-known to researchers. This chapter


revisits the multipoint Taylor polynomial approximation property of the
Routh array which is used to form the alternant polynomial from the
coefficients in successive rows of the Routh array. The property clarifies
the row of zeros phenomenon sometimes observed in Routh array in
Table 3.1, which occurs when some roots of the polynomial are
symmetrically distributed about the origin. This symmetric roots cause a
row of zeros in Routh array.

This chapter focuses on the Routh-Hurwitz criterion to extract


the initial approximant of Pn(x) from the reference column of Routh
array. This initial approximant is refined by an error correction process
which follows Routh criterion for relative stability in successive shifting
to converge to actual roots.

3.2 EXTENSION OF ROUTH-HURWITZ CRITERION FOR


FINDING THE ROOTS

In this section, the initial approximant of Pn(x) is extracted


from reference column at (n-1)th and nth rows of Routh array. The
polynomial is shifted with the initial approximant.

Once the shifting is equal to the one of the actual real roots or
real part of the complex roots, the Routh table exhibits some special
characteristics. These characteristics are closely examined and used for
error correction. When the shifting of Pn(x) is found crossing its roots,
the bisection principle is used for convergence.
61

Then the polynomial is deflated using synthetic division by the


factor extracted. The procedure is repeated for deflated polynomial until
all the factors are extracted.

The Triangular method presented in Chapter 2 is extended to


handle ill-conditioned polynomial. First the ill-conditioned polynomial
is converted into well-conditioned one, and then the well conditioned
polynomial is solved.

3.2.1 Methodology for Extraction of Initial Approximant

The methodology presented in this section extends the Routh-


Hurwitz criterion to extract initial approximant of Pn(x), which is
obtained using the following steps:

Step 1: The Routh array is formed for polynomial Equation (3.1) as


shown in the Table 3.2.

Step 2: Consider the transformed polynomial Tn(x) of Pn(x) from


reference column of the Routh array as

n
Tn(x) 0,1 x 1,1 xn-1 n-1,1 x+ n,1 (3.7)

The auxiliary polynomial A1(x) of degree one extracted from


above Equation (3.7) is

A1 n-1,1 x+ n,1 (3.8)

Without loss of generality, from the above equation (3.8), the


initial approximate root is formulated using the following relation
62

n-1,1
0
(3.9)
n ,1

Step 3: The next step is to shift the original polynomial Equation Pn(x)
0 to determine the shifted polynomial SPn 0) using
the relation in Equation (3.6).

3.2.2 Inference from the Routh Array

0 is one the actual


roots, then the following properties are observed when formulating the
Routh Table 3.2 for the Equation (3.3).

(i) n,1 becomes zero, then the actual root is either in the
0.

(ii) n-1,1

becomes zero, then the x2 row i.e. the row just above the
row of x1 gives either multiple real roots or the imaginary
parts of the complex roots.

3.2.2.1 Extraction of Factors

If property (i) is satisfied by the RH criterion, a single factor


can be extracted as

D1 0) (3.10)

0 is the single root.


63

If property (ii) is satisfied by the RH criterion, a quadratic


factor can be determined. The quadratic factor will have either complex
0. The
imaginary parts are determined from the x2th row using the following
relation

IMAG = n-2,1 n-2,2 (3.11)

0 jIMAG. If imaginary part is


0 gives multiple roots. Therefore the extracted quadratic factor is

D2(x) = x2 + px + q (3.12)

where the coefficients p and q of D2(x) are determined from the above
complex roots or multiple roots.

If the RH criterion is not satisfied by the Routh Table which is


formed for the shifted polynomial SPn 0 0 must be
corrected such that the Routh Table satisfies the above properties.

3.2.3 Error Correction in the Initial Approximant

The properties exhibited by RH criterion are observed for the


shifted polynomial SPn 0. These observations
are followed for the error correction in the initial approximant in the
successive iterations.
64

t i be the value of the initial


approximant in the ith iteration. Let (i )
n-1,1
and (i )
n,1
be the values in the
reference column of x2 term x1 term rows in the Routh Table 3.2 in the
ith iteration.

If (i )
n-1,1
or (i )
n,1
does not become zero in the ith iteration, then
it can be predicted from the inference of the RT that there exists a
difference between actual root t i, i.e an
i.

The error correction is formulated using following relation

(i )
n-1, 1
i (i )
(3.13)
n, 1

i is updated with the error


correction i with the following relation for the next incremental shift
towards the actual root as

i+1 i i
(3.14)

i+1 is the actual root when i becomes zero


in the Equation (3.14).

3.2.4 Stopping Criterion

The iterative process begins with an approximate value of the


root determined from the relation in Equation (3.9), known as the
initial approximant, which is then successively corrected iteration by
iteration as presented in the section 3.2.2.
65

i i+1 be the approximate roots in the successive


iterations i and i+1. In this error correcting technique, the change in the
i i+1 in the two consecutive iterations are measured as
the absolute errors. The process of iteration is terminated when desired
level of accuracy is obtained.

An objective criterion for terminating the iteration process is


formulated as

i+1 i a
(3.15)

where a is an absolute error.


or
Iterations iter (3.16)

where Niter is the limit on the number of iterations.

a considered in this
chapter is 10-6 for the printing purpose. Hence the obtained results are
rounded up to the accuracy limit of 10-6. However, the error tolerance
can be extended to any higher limit based on the storage class in the
implementation.

3.2.5 Convergence using Bisection Principle

Any sign change in the coefficients bn, bn-1, bn-2 b1, b0 of


SPn(x) in the successive iterations observed in Equation (3.3) indicates
that the iterative process crosses the actual root of the Pn(x).
66

In order to bracket the roots within two successive roots


interval ( i i+1), the bisection technique is employed to enhance the
convergence rate. The midpoints are found to update the approximant
for the next iteration as

i+1 i
i+2
(3.17)
2

The repetition of error correcting technique and bisection


principle is to be terminated when the root has been obtained to the
desired accuracy.

3.2.6 Deflated Polynomial

The inferences obtained from the Routh Table 3.2 during the
shifting procedure 3.1.2 incorporated with the error correction technique
3.2.2 are used to extract actual roots of the polynomial Equation (3.1).

Once actual roots are obtained the following standard synthetic


division is carried out on Pn(x) in Equation (3.1) either by a single factor
D1(x) or by a quadratic factor D2(x) as

Qn-1(x) = Pn(x) / D1(x)


= cnx n-2+cn-1xn-3++c2x+c1 ; cn=1
or
Qn-2(x) = Pn(x) / D2(x)
= cnx n-2+cn-1xn-3++c3x+c2 ; cn=1 (3.18)

where Qn-2(x) is called as the deflated polynomial.


67

The degree of the polynomial is reduced by either 1 or 2. The


next quadratic factor can be obtained in the similar process from the
deflated polynomial. The application of this procedure is repeated until
all roots are extracted.

3.3 ALGORITHM FOR FINDING ROOTS USING


EXTENDED ROUTH-HURWITZ CRITERION

In this section, the computational algorithms for the


methodologies presented in sections 3.2 to extract the roots of the
polynomial Pn(x) are developed. These algorithms are tested and
analysed for different class of Pn(x) in the next section.

3.3.1 Algorithm for Extracting Roots

This algorithm is developed to extract the roots of Pn(x) using


the methodologies presented in the section 3.2. The common algorithms
for standard synthetic division by single factor and quadratic factor are
invoked by this algorithm.

Algorithm 3.1: (Extracts roots of Pn(x) using extended Routh-


Hurwitz criterion). This algorithm extracts all the roots of a
polynomial Pn(x) = anxn + an-1xn-1 + + a1x + a0 of degree n by calling
the algorithms RouthTable_Poly (n,Pn(x)), Shift_Poly (n,Pn
Synthetic_SingleFactor (Pn and Synthetic_QuadFactor (Pn(x),p,q).
68

Algorithm ExtractRoots_Poly(n, Pn(x))


/* The input parameters are the coefficients an , an-1, , a1,a0 and the
degree n of Pn(x). */
Step 1: // Error Tolerance for Accuracy
-6
Set ;
Array
Set n(x));

Set SPn(x) = Shift_Poly(n, Pn


Step 4: // Error Correction in the initial approximate r
Set n(x));
If Then
Set Goto Step 3;
Else // Deflated polynomial Qn(x) is determined
Switch ( SYNTHETIC_DIV_FLAG)
Case 1: Print
Set Qn(x) = Synthetic_SingleFactor(Pn
Set n = n - 1;
Set Pn(x) = Qn(x) ;
Break;
Case 2: Print The roots x1 and x2 are,
jIMAG;
Set p = -
2
Set + jIMAG2;
Set Qn(x) = Synthetic_QuadFactor(Pn(x),p,q);
Set n = n - 2;
Set Pn(x) = Qn(x) ;
Break;
Otherwise: Print Default Error;
Break;
End Switch
Step 5: If (n > 2) Then
Goto Step 2;
End ExtractRoots_Poly.

Figure 3.3 Extraction of roots from Pn(X) using Extended Routh


Hurwitz Criterion
69

Step 2 in the above algorithm Shown in Figure 3.3, invokes


the algorithm Routh Table_Poly(n, Pn(x)) to get the initial approximant
2
).
The polynomial Pn
The shifting algorithm takes O(n3) computational times. Step 4 follows
the error correction technique and convergence procedure presented in
the sections 3.2.2 and 3.2.3 to obtain the actual roots with the specified
accuracy. The common procedures for polynomial synthetic division by
single factor Synthetic_SingleFactor(Pn and quadratic factor
Synthetic_QuadFactor(Pn(x), p, q) are invoked and they return the
deflated polynomial Qn(x). The synthetic division algorithm takes O(n)
computational times. The steps 2 to 4 are repeated until all the factors
are extracted from Pn(x).

3.3.1.1 Algorithm for Initial Approximant and Error Correction

This algorithm forms the Routh Table. While forming the


Routh Table, it examines the reference column and provides remedies
when the table tends to terminate prematurely. Also this algorithm

Pn
polynomial SPn(x) in Equation (3.3).

Algorithm 3.2: (Extraction of Initial Approximant from Routh


array). This algorithm forms the Routh Table and extracts the initial
approximant. Also, the reference column of Routh Table is examined
and SYNTHETIC_DIV_FLAG is set as per the characteristics exhibited
-6
.
70

Algorithm RouthTable_Poly(n, Pn(x))


/* The input parameters are the coefficients an , an-1, , a1,a0 and the
degree n of Pn(x). */
Step 1: // Initializing Vaiables
Set SYNTHETIC_DIV_FLAG = 0; FIRST_COL_FLAG = 0;
Set Row1(x) =0.0; Row2(x) =0.0; Row3(x) = 0.0;
Set k = j = 0;
Set Row_Index = n;
Step 2: // Forming the first two rows of Routh Table.
For i = 0 to n do
Set Row1(j++) = Pn(i);
Set i = i + 1;
Set Row2(k++) = Pn(i);
EndFor
Set Row_Index = Row_Index -2;
Step 3: // Forming the third row of Routh Table
Set Col_Index = [(n+3- Row_Index)/2] + 1;
For i =0 to Col_Index do
Set Row3(i) = Row1(i+1)
((Row1(0)*Row2(i+1)/Row2(0));
EndFor
Step 4: // Investigating the reference column and set the flags
If Row3(0) = 0.0 Then
Set FIRST_COL_FLAG = 2;
For i =0 to Col_Index do
If Row3(i) != 0.0
Set FIRST_COL_FLAG = 1;
Set Row3(0) = 0.01;
Break;
EndIf
EndFor
EndIf

Figure 3.4 Extractions of Initial Approximant and Error


Correction from Routh Array
71

Step 5: // Check for symmetric property and extract quadratic roots


If FIRST_COL_FLAG = 2 AND Row_Index=1 Then
Set IMAG = | Row2(1) / Row2(0)|;
Set
Set SYNTHETIC_DIV_FLAG=2;
Return;
EndIf
Step 6: //Auxiliary Equation when entire row is zero
If FIRST_COL_FLAG = 1 AND Row_Index>1 Then
For i =0 to Col_Index do
Set Row3(i) = Row2(i)*( Col_Index 2*i);
EndFor
EndIf
Step 7: // Updating the working rows
For i =0 to Col_Index do
Set Row1(i) = Row2(i);
Set Row2(i) = Row3(i);
EndFor
Step 8: Set Row_Index = Row_Index -1;
If Row_Index >= 0 then
Goto 3;
Else
If RouthTable(Pn(x)) Then

Else If RouthTable(SPn(x)) Then // Determining error

EndIf
EndIf
EndIf
End RouthTable_Poly.

Figure 3.4 (Continued)


72

This algorithm shown in Figure 3.4, constructs Routh array


using only three rows. The first two rows are called working rows. The
third row is computed form these working rows using the relation in
Equation (3.4). Then first and second rows are replaced by second and
third row. A new row is determined from the updated first and second
rows which will form the fourth row in the Routh array. The steps 1, 2,
3 and 7 follow this procedure to construct the complete Routh array.

Step 4 investigates the reference column to capture the


characteristics exhibited by RH criterion. This step sets the flag
FIRST_COL_FLAG to one or two, when the Routh array terminates
prematurely. When the first element in any row of the Routh array is
zero while rest of the row has at least one nonzero term, the flag
FIRST_COL_FLAG is set to one. Then the first element is replaced
with a value 0.01. In step 6, when all the elements in any one row of
Routh array are found zero, then the row is replaced by the derivation of
its previous row. Step 5 identifies the symmetric property exhibited by
Routh array, when the row against the x1 term in the Routh array is zero.
Using this symmetric property, a quadratic factor D2(x) is extracted
from Pn(x) as in the Equation (3.12). This algorithm extracts the initial
approximate root n(x) in step 8, if Routh array is formulated for
the polynomial Pn(x) in Equation (3.1). Otherwise, if Routh array is
formulated for the polynomial SPn(x) in Equation (3.5), then it
determines the error correction

3.3.1.2 Algorithm for Convergence

The shifted polynomial SPn(x) in Equation (3.5) can be


determined for the polynomial Pn
73

relation in Equation (3.6). The coefficients of SPn(x) are examined in


successive iterations. If a sign change in any coefficient of SPn(x) is
detected, then bisection principle is applied to bracket the roots.

Algorithm 3.3: (Shifting the polynomial towards actual roots). This


algorithm shifts the original polynomial Pn(x) = anx n+an-1xn-1+ +a1x+a0

n
SPn nx +bn-1xn-1+ +b1x+b0 by calling the routines Comb(n-i,k-i)
which returns the combination of n-i and k- -i)
k-i
. This algorithm uses bisection principle to accelerate
the convergence.

Algoritm Shift_Poly(n, Pn
/* The input parameters are the coefficients an , an-1, , a1,a0 and the
degree n of Pn
new

Step 2: // Shifting Pn(x) by an approximat


For k = 0 to n do
For i = 0 to k do
SPn(n-k) = SPn(n-k) + ( Pn(n-i)*Comb(n-i, k- -i));
EndFor
EndFor
Step 3: // Bracket the root using Bisection Principle
If SPn(i) < 0 ;(0 then
new new)/2;

Goto Step 2;
EndIf
End Shift_Poly.

Figure 3.5 Algorithm for Convergence in Extended Rough-Hurwitz


Criterion
74

In this algorithm shown in Figure 3.5, step 2 shifts the


polynomial Pn
Equation (3.6) to obtain the shifted polynomial SPn(x). When the
shifting crosses one of the actual roots, there will be sign change in
some of the coefficients of SPn(x). The sign changes are observed in
step 3 to bracket the root using bisection principle.

3.3.2 Generalized Algorithm for Finding All the Roots

The methodology presented in the section 3.2 to find the roots


of Pn(x) can be suitably modified for solving ill-conditioned
polynomials such as polynomials with negative coefficients and
polynomials with many missing terms. The following algorithm 3.4 is
deduced to handle such special class of polynomials.

3.3.2.1 Handling Ill-conditioned Polynomial

Here the triangular method presented in section 2.2 is extended


to handle ill-conditioned polynomial.

Consider the coefficients an , an-1, , a1,a0 and the degree n of


Pn(x) in Equation (3.1). If ai n

which is determined from factor is extracted at (n-1)th row in Table 2.1.

a (n 1),0
(3.19)
a (n 1),1

where a(n-1),1 , a(n-1),0 are the coefficients at (n-1)th row in Table 2.1.

Now, Pn(x) in Equation (3.1) becomes


75

n n-1
SPn(x) = Pn n + an-1
+ + a1 0 (3.20)
The imaginary axis will be shifted to RHS with a constant
s the polynomial Pn(x) to the left of jw-axis, thus
makes all coefficients positive and fills the missing terms. This shifting
process will not alter the characteristics of the polynomial.

Algorithm 3.4: (Finding the roots of Pn(x) by extending Routh-


Hurwitz criterion). This algorithm solves a polynomial Pn(x) = anxn +
an-1xn-1 + an-2xn-2++a1x+a0 of degree n by extracting all roots by using
extended RH criterion.

Algorithm Solve_Poly(n,Pn(x))
/* The input parameters are the degree n and the coefficients an , an-1, , a1,a0
of Pn(x) */
Step 1: Read n, an , an-1,an-2, , a1,a0;
Step 2: Set SIGN_FLAG = 0;
Step 3: For i = 0 to n do
If ( ai Then
Set SIGN_FLAG = 1;
Break;
EndIf
EndFor
Step 4: If (SIGN_FLAG == 1 ) Then
Call 2.1 Initial_ApproxQuad(Pn(x), n);
If (a1 Then
Set 0/a1|;
Else
Set 0;
End If
Set Pn(x) = Shift_Poly(n, Pn ;
ExtractRoots_Poly(n, Pn(x));
Else
ExtractRoots_Poly(n, Pn(x));
EndIf
End Solve_Poly.

Figure 3.6 Generalized Algorithm for Finding the Roots of Pn(x) by


Extending Routh-Hurwitz Criterion
76

In this algorithm shown in Figure 3.6, step 3 verifies the


ill-conditioning of Pn(x). Step 4 applies the technique in Equations (3.18)
and (3.20) and invokes the algorithm 3.3 Shift_Poly(n, Pn
converting ill-conditioned Pn(x) to well-conditioned Pn(x). The well-
conditioned Pn(x) is the input for the algorithm 3.1
ExtractRoots_Poly(n,Pn(x)) which finds all the roots of Pn(x). This
procedure is simple in application and straightforward approach to be
implemented using any programming language.

3.4 NUMERICAL ILLUSTRATIONS

The numerical algorithms presented in this chapter for


generating the initial approximant and extracting all roots is tested on
different class of polynomials in Equation (3.1). The numerical
algorithms are implemented in C language and executed in a
computing machine with the configuration Intel Core2 Duo CPU,
1.2GHz and 2GB RAM.

In this section, three different illustrative test polynomials are


taken such as polynomial having complex roots only, polynomial with
real roots distributed in all the quadrants of complex plane and an ill-
conditioned polynomial with one of its coefficient is larger than the sum
of other coefficients. The results are compared with Bairstow method.
The illustrative examples show the performance efficiency of the
methodologies present in this chapter.

3.4.1 Illustration 1

Consider the given polynomial to be:

P8(x) = x8+9x7+39x6+103x5+183x4+227x3+205x2+133x+60 (3.21)


77

All the coefficients are positive in the equation (3.21).


Therefore the algorithm 3.4 Solve_Poly (Pn(x),n) calls the algorithm 3.1
ExtractRoots_Poly (n, Pn(x)) to extract all the quadratics, thus the
polynomial is solved. The results are tabulated in the Table 3.3.

Table 3.3 Extraction of roots by Extended Routh-Hurwitz criterion


in Equation (3.21) and comparison with Bairstow method

Order Initial Execution Time (ms)


Approximant Extracted Roots of
of Proposed Bairstow
Factor D(x) D(x)
Pn(x) By Routh Table Method Method

8 (x2+1) 0 j1
jIMAG = 1
Deflated Polynomial Q6(x):
x +9x5+38x4+94x3+145x2+133x+60
6

-1.0 -1
6 (x2+2x+3) 0.219 0.318
jIMAG = .414214 j1.414214

Deflated Polynomial Q4(x) : x4+7x3+21x2+31x+5


4 -1.0 (x2+3x+4) -1.5 j1
Deflated Polynomial Q2(x) : x2+4x+5)
2 - (x2+4x+5) -2 j2

The execution time is measured for solving the polynomial


(3.18) in terms of milliseconds. The four quadratics and eight complex
roots of equation (3.21) are determined in 0.817 milliseconds using
scheme presented in the section 3.2, whereas Bairstow method takes
1.427 milliseconds to solve this polynomial.
78

3.4.2 Test Illustration 2

Consider the polynomial

P4(x) = x4+4x3-7x2-22x+24 (3.22)

The polynomial Equation (3.22) has negative coefficients.

from triangular method. In this case, the algorithm 3.4 shifts the
polynomial and the calls the algorithm 3.1 ExtractRoots_Poly(n, Pn(x))
to solve this above polynomial (3.22). The results are tabulated in the
Table 3.4. The steps in the procedure up to the deflated polynomial
Q3(x) is given in Appendix 4.

Table 3.4 Extraction of roots by Extended Routh-Hurwitz


criterion in Equation (3.22) and comparison with
Bairstow method

Order Initial Execution Time (ms)


Approximant Extracted Roots of
of Proposed Bairstow
Factor D(x) D(x)
Pn(x) By Routh Table Method Method
Shifted Polynomial SP4(x) = x4 + 11.866664x3 +
39.806643 x2 + 27.306465 x -0.954906
4 (x-2) 2
Deflated Polynomial Q3(x) = x4+12 x3+41x2+30 0.138 0.175
3 (x-1) 1
Deflated Polynomial Q4(x) : x2+7x+12
2 - (x2+7x+12) -3,-4
79

The deflated polynomial is again found to have negative


coefficients, therefore the deflated polynomial is again shifted to make
the coefficients positive and then the procedure is followed. This task is
accomplished in 0.430milliseconds and the Bairstow takes 0.556ms.

3.4.3 Illustration 3

Consider the ill-conditioned polynomial

P5(x) = x5-x4-4x3+4x2-5x-75 (3.23)

The polynomial Equation (3.23) has negative coefficients and


|a0|< (an+an-1+ + a1). In this case, the algorithm 3.4 shifts the
polynomial and the calls the algorithm 3.1 ExtractRoots_Poly(n, Pn(x))
to solve this above polynomial (3.23).

The results are tabulated in the Table 3.5. It is observed that


the proposed method converges quickly with 0.183 ms whereas
Bairstow Method fails to converge for this polynomial (3.23).

Table 3.5 Extraction of roots by Extended Routh-Hurwitz


criterion in Equation (3.23) and comparison with
Bairstow method

Order Initial Execution Time (ms)


Extracted Roots of
of Approximant Proposed Bairstow
Factor D(x) D(x)
Pn(x) By Routh Table Method Method
Shifted Polynomial SP5(x) = x5+74x4+2186x3+
32224x2 + 237040x +696000
5 (x-3) 3
4 3 2
Deflated Polynomial Q4(x) = x +2x +2x +10x+25 Does not
0.183
converge
4 (x2+4x+5) -2 j1
Deflated Polynomial Q2(x) = x2-2x+5
2 - x2-2x+5 1 j2
80

3.5 RESULTS AND DISCUSSION

The observations made from the illustrations 3.4.1, 3.4.2 and


3.4.3 are discussed here. The execution times measured for the proposed
method in illustrations 3.4.1, 3.4.2 are 31.14% and 21.14% faster than
Bairstow method respectively. It is observed that it is good enough to
start the procedure with the initial approximate root which is obtained
from coefficients of the original given polynomial using Routh array,
whereas the most of the iterative methods available assume the initial
guess as either zero or some random values such as 1 or 0.5. Then proposed
procedure shifts the polynomial with the initial guess and Routh Table is
formed for the shifted polynomial to obtain the error correction and is
applied to refine the original guess root. Thus, the jw-axis is incrementally
shifted to place it on the actual root. Once, the jw-axis converges on the
actual root, the characteristics exhibited by the Routh Table (3.2) are
captured to extract the actual root. Then, the polynomial is deflated by
synthetic division using factor formed from the actual roots.

Again the initial approximate root is obtained for the deflated


polynomial and the process is continued until all the roots are extracted.
This guarantees that the method converges on accurate results. The
shifting technique deployed during error correction process enhances the
convergence rate. But, even though Bairstow method has high convergence
rate, in some cases, as in the illustration 3.4.3, it is observed that it does not
converge or may converge on inaccurate results.

In illustrations 3.4.2 and 3.4.3, it is found that the polynomials


have negative coefficients. Therefore, the maximum of the degree and
|a0/a1| is found and applied for the initial shifting to make the system
81

relatively stable. And then, the proposed procedure is followed to


extract all the roots.

3.6 APPLICATION OF EXTENDED RH CRITERION TO


BAIRSTOW METHOD

The methodology which extends RH criterion to extracts


initial approximate root in the section 3.2.1, can further be extended to
extract initial quadratic factor of Pn(x) from Routh array in Table 3.2.

Consider the transformed polynomial Tn(x) of Pn(x) from


reference column of the Routh array in Equation (3.7). The auxiliary
polynomial A2(x) of degree two can be extracted from Tn(x) in
Equation (3.7) as

A2(x) = n-2,1 x2 n-1,1 x+ n,1 (3.24)

The above Equation (3.24) can be converted into monic


quadratic as

A2(x) = x2 n-1,1 n-2,1) x+ n,1 n-2,1) (3.25)

The Equation (3.25) can be written as

A2(x) = x2 + p x + q (3.26)

The Equation (3.25) forms the initial approximate quadratic


A2(x) which is extracted from Routh array for Pn(x).

Let the coefficients p and q of A2(x) be the initial values for


Bairstow method (1920 ) which can be substituted in Equation (2.29) as
82

discussed in the section 2.7. Using the relations in Equations in (2.30),

Equation (3.26) are carried out in the successive iterations to obtain the
actual quadratic of Pn(x).

The Bairstow method with the initial approximant A2(x) in


Equation (3.26) is tested for different class of polynomial. Three test
polynomials such as a polynomial with many missing terms and having
only complex roots, an ill-conditioned polynomial having roots
distributed in all the quadrants of complex plane and a polynomial with
very small cluster roots which are illustrated in 2.7 are undertaken in
this section. The results obtained in 2.7.1, 2.7.2 and 2.7.3 for these three
test polynomials with Lins approximation L2(x) and constant
approximation C2(x) are followed here for comparison.

3.6.1 Illustration 4

Consider the given polynomial to be:

P12(x) = x12+x8+x6+10000 (3.27)

The degree of the above polynomial is even and all the


coefficients are positive. The given polynomial is found ill-conditioned
as many of the terms are zero.

The roots of P12(x) are complex and distributed in both quadrants:


-2.074631j0.565143, -1.530649j1.528080, -0.561704j2.075590,
0.561704j2.075590, 1.530649j1.528080, 2.074631j0.565143.
83

Table 3.6 Application of Extended Routh-Hurwitz criterion to


Bairstow method in Equation (3.27)

Extended RH Criterion Bairstow Method


Initial Extracted
Pn(x) Converted Polynomial No. of
Quadratic Quadratic
for Routh Array Iterations
A2(x) B 2(x)
x + 144 x11+9504 x10 +
12

380160x9+ 10264321x8+
197075040x7 +
2759053249x6 +
x2 x2
12 8 6 28378888776 x5+
x +x +x +10000 + 9.331763x + 4.149261x 32
212842393200 x4 +
3 + 70.153735 + 4.623479
1135165646592 x +
2
4086629957376 x +
8916388595712 x1 +
8916533425936
x10 -4.149261 x9 + x10 + 95.850739 x9 +
12.592890 x8 4139.159400 x8 +
-33.067171x7 + 106037.024429 x7 +
79.981372 x6 1784487.447402 x6 +
x2 x2 +
-178.978247 x5 + 20612311.824973x5 +
+ 7.334292x 1.123408x 16
373.835337 x4 165488380.395987 x4 +
+ 41.554344 + 4.623584
-723.638369 x3 + 911843629.118111x + 3

1274.144928 x2 3299837190.426058x2 +
-1941.033602 x + 7081967805.552257x +
2162.873578 6844564719.331357
x8 -5.272669 x7 x8 + 58.727331 x7 +
+13.892663 x6 - 1510.623199 x6 +
24.295669 x5 + 22228.085019 x5 +
x2
43.041419 x4 - 204641.942659 x4 + x2 + 3.061298
+ 5.443311x 8
114.998242 x3 + 1207092.140286 x3 + x + 4.677916
+ 21.422263
304.019634 x2 - 4455004.182530 x2 +
533.472342x + 9406059.595082 x +
467.791546 8698461.250698
x6 -8.333967x5 + x6 + 27.666033 x5 +
34.727498 x4 324.708488 x4 +
x2 x2
-91.621281 x3 + 2061.610551 x3 +
+ 3.379101x -3.061296x 7
161.069112 x2 - 7451.656902 x2 +
+7.472470 + 4.677911
179.482091 x + 14514.701017 x +
99.999995 11889.308801
x4 -5.272671 x3 + x4 + 10.727329x3 +
x2 x2
13.908380 x2- 46.636328x2 +
+ 1.870976 x -1.123407 x 6
24.378526 x 14514.701017 x +
+ 1.697265 4.623585
+21.377062 11889.308801
x2 -4.149264 x +
- - - -
4.623482
84

Since the polynomial P12(x) in Equation (3.27) is ill-


conditioned, the technique presented in 3.3.1.2 is applied to convert
P12(x) into well conditioned one. The polynomial P12(x) is shifted with
using the relation (3.6) to convert into well conditioned polynomial as

SP(x)12 = x12+144x11+9504x10+380160x9+10264321x8
+ 197075040x7 + 2759053249x6
+ 28378888776x5 + 212842393200x4
+ 1135165646592x3 + 4086629957376x2
+ 8916388595712x1 + 8916533425936 (3.28)

Using the relation in the auxiliary Equation (3.24), an initial


quadratic factor A2(x) is extracted from Equation (3.28) as

A2(x) = x2 + 9.331763x + 70.153735 (3.29)

This quadratic A2(x) in the above Equation (3.29) forms the


initial approximation for Bairstow method. Bairstow method factorizes
SP12(x) into P10(x) and B2(x) with 39 iterations, where B2(x) forms one
of the factors of P12(x). This procedure is again applied for P10(x) to
extract next factor B2(x). The method is repeated until all the factors are
obtained. The results are consolidated in Table 3.6.

3.6.2 Illustration 5

Consider the polynomial

P5(x) = x5-x4-4x3+4x2-5x-75 (3.30)

The polynomial Equation (3.30) is ill-conditioned as |a0| is


greater than |an + an-1 + + a1 |. The roots are real and complex and
distributed in both quadrants of complex plane: 3, 12j and -21j. The
85

technique for handling ill-conditioned polynomial 3.3.1.2 is applied to


P5(x) in Equation (3.30), which converts P5(x) into well-conditioned as

P5(x) = x5 + 74x4 +2 186x3 + 32224x2 + 237040x + 696000 (3.31)

The extracted quadratic factor A2(x) from Equation (3.31)


using Routh array is

A2(x) = x2 + 12.911030x + 99.242030 (3.32)

A2(x) in Equation (3.32) forms the initial approximant for


Bairstow method to factorize P5(x) into P3(x) and B2(x), which are
shown in the Table 3.7.

The deflated polynomial P3(x) from Bairstow method is

P3(x) = x3- 5x2 +11x -15 (3.33)

to convert P3(x) into well-conditioned one. The converted polynomial of


P3(x) is

SP2(x) = x2 + 4 x + 8 (3.34)

In this shift, x0th term of Routh array becomes zero. As per the

of P3(x). Therefore P3(x) is factorized into SP2(x) and (x-3). The results
are shown in the Table 3.7.
86

Table 3.7 Application of Extended Routh-Hurwitz criterion to


Bairstow method in Equation (3.30)

Extended RH Criterion Bairstow Method


Converted Initial Extracted
Pn(x) No. of
Polynomial SPn(x) Quadratic Quadratic
Iterations
for Routh Array A2(x) B2(x)
x5 + 74x4 +2 186x3 x2 +
x5-x4-4x3+4x2-5x-75 + 32224x2 + 237040x 12.911030x + x2 +4x + 5 7
+ 696000 99.242030
x3-5 x2 +11 x -15 x2 + 4 x + 8 x2 + 4 x + 8 x2 + 4 x + 8 -
x-3 - - - -

3.6.3 Illustration 6

Consider the polynomial

P8(x) = x8+118x7+x6+2x5-2x4-3x3+3x2+2x+1 (3.35)

The order of the polynomial Equation (3.35) is even and it has


negative coefficients. It is found that the polynomial is ill-conditioned as
the coefficient a7 is greater than the sum of other coefficients i.e.
(a8+a6+a5+a4+a3+a2+a1+a0). The polynomial (3.35) has both real and
complex roots. These roots are far away distributed in the complex
plane: -117.99167, -0.503121, -0.258820 j0.322420, -0.004850
j0.542874 and 0.511066 j0.270472. Matlab does not show the real
part of complex roots as considered to be very small compared to other
roots. The technique to handle ill-conditioned polynomial from the
section 3.3.1.2 is applied to convert P8(x) in Equation (3.35). Routh
array is formed for this converted polynomial and initial approximant
87

A2(x) is extracted from Routh array. Bairstow method is used with this
initial approximant A2(x) to extract actual quadratic. Thus, all the factors
of P8(x) are obtained by the repeated application of extended RH
criterion and Bairstow method. Table 3.8 depicts this procedure.

Table 3.8 Application of Extended Routh-Hurwitz criterion to


Bairstow method in Equation (3.35)

Extended RH Criterion Bairstow Method


Initial Extracted
Pn(x) Converted Polynomial No. of
Quadratic Quadratic
for Routh Array Iterations
A2(x) B2(x)
x8 + 182 x7 + 8401 x6 + 2
8 7 6
x + 118x + x + 187314 x5+2402318 x4 + x x2
2x5-2x4-3x3 + 3x2 18762941 x3 +88609979 + 6.950206x + 0.517640 x 18
+ 2x + 1 x2 + 233541106 x + 33.416703 + 0.170943
+264559313
x6 +117.482360 x6 + 153.482360 x5 +
x5 -59.984546 x4 4004.486254x4 + x2 x2
+ 12.967660 x3 45186.988156 x3 +
+5.1502591x +118.494791x 28
+1.541340x2 - 260480.194884 x2 +
6.014587 x + 757528.033829 x + + 15.860400 + 59.364071
5.849912 885285.124934
x4 -1.012431x3 + x4 + 14.987569 x3 + x2 x2
0.619164 x2 212.058608x2 +
+ 2.4093610x +0.009701 x 6
- 0.298016x + 84.469992 x +
0.098543 200.017519 + 2.844349 +0.294736
x2-1.022132x +
- - - -
0.334343

3.6.4 Results and Discussion

The initial approximate quadratic A2(x) is obtained from


Routh array constructed for the given polynomial Pn(x). Then Bairstow
procedure is carried out to refine the approximate quadratic A2(x). Thus,
the actual quadratic factor and the deflated polynomial are obtained.
88

Again the initial approximate quadratic is extracted from the deflated


polynomial using Routh array and the process is continued until all the
quadratics are extracted. Even though Bairstow method has high
convergence rate, in some cases it is observed that it may either diverge
or converge on inaccurate results. But, the illustrative examples show
that the methodology presented in the section 3.6 guarantees the
performance of Bairstow method to converge on accurate results for any
class of polynomial whether it is well conditioned or ill-conditioned.
The results obtained for Bairstow method with other initial guesses such
as Lins approximation L2(x) and constant approximation C2(x) in
section 2.7.1, 2.7.2 and 2.7.3 are considered here for analysis.

In illustration 4, initial approximant A2(x) accelerates the


Bairstow method to converge 58.50% faster than the approximation
C2(x), whereas Bairstow method does not converge for Lins
approximation L2(x). Bairstow method converges only for the initial
approximant A2(x) and diverges for other approximations C2(x) and
L2(x) in illustration 5. In this case, the initial approximant A2(x) proves
100% better than other approximations and it takes only 7 iterations. In
illustration 6, the quadratic A2(x) is 20% faster than the approximation
C2(x) and 95.58% better than the Lins approximation L2(x). Thus, the
Routh array can be extended for generating initial approximations for
solving algebraic polynomial of any class.

3.7 CONCLUSION

In this chapter, Routh-Hurwitz criterion is extended for


extracting initial approximant and correcting residue error to obtain the
89

actual quadratics of an algebraic polynomial. The appropriate algorithms


are developed in the sections 3.3. Since the initial approximant is
extracted following the characteristics of the given polynomial that
enhances the error correcting process to converge on accurate results.
The proposed method is reliable in finding both real and complex roots
of a given polynomial up to a chosen accuracy.

For the ill-conditioned polynomial such as polynomial having


very large coefficients, negative coefficients and many missing terms, it
is suggested in the section 3.3.1.2 that the polynomial can be shifted by
the value which is found using the Triangular method in 2.2, and then
the Routh array is extended to extract initial approximants. The
illustrative examples shown in the section 3.4 prove that the method is
very simple to be implemented using any programming language. The
extended Routh array for initial approximation can be treated as the first
step in any usual numerical procedure such as Bairstow method in
section 3.7 for solving algebraic polynomial. However, the bisection
principle used for convergence takes a larger number of iterations for
some ill-conditioned polynomial. This makes the proposed scheme
slower for solving some class of polynomial. The possible oscillation for
convergence can be overcome by applying tools in the optimization
techniques, which is presented in the next chapter.

You might also like