[IEEE 2009 5th International Conference on Wireless Communications, Networking and Mobile Computing...

4

Click here to load reader

Transcript of [IEEE 2009 5th International Conference on Wireless Communications, Networking and Mobile Computing...

Page 1: [IEEE 2009 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM) - Beijing, China (2009.09.24-2009.09.26)] 2009 5th International Conference

A rapid & precise algorithm finding zeros of polynomials

Zhou Hong-bing Railway Traffic Department

Hunan Railway Professional Technology College Zhuzhou , China

[email protected]

Zeng Zhe-zhao College of Electrical and Information Engineering Changsha University of Science and Technology

Changsha , China [email protected]

Abstract—A rapid & precise algorithm was proposed to find zeros of polynomials which were not solved by some traditional methods. Its convergence theorem was presented and proved. The computation was carried out by simple steepest descent rule with the variable learning rate. The specific examples illustrated that the proposed method can find the roots of polynomials with less computation, rapid convergence and high accuracy. Furthermore, it had also the added advantage of being able to compute exactly complex roots.

Keywords-neural network; roots of polynomials; rapid convergence; high accuracy

I. INTRODUCTION Problems associated with polynomials arised in many

engineering fields. Traditional methods covered mainly the Bisection method, the Fixed-point iteration, the Newton’s method, the Secant method and Müller’s method [1-3] etc. If [a, b] is an interval on which )(af and )(bf are of opposite sign, then the Bisection method and the method of False Position will converge. However, the convergence of these methods may be slow. Faster convergence is generally obtained using the Secant method or Newton’s method. Good initial approximations are required for these methods, two for the Secant method and one for Newton’s method, so the Bisection or the False Position method can be used as starter methods for the Secant or Newton’s method.

Müller’s method will give rapid convergence without a particularly good initial approximation. It is not quite as efficient as Newton’s method; its order of convergence near a root is approximately 84.1=α , compared to the quadratic, 2=α , order of Newton’s method. However, it was better than the Secant method, whose order is approximately 62.1=α , and it has the added advantage of being able to approximate complex roots. Newton-horner’s method is also called deflation [1]. Although this method can be used to find all the approximate zeros, it depends on repeated use of approximations and can lead to inaccurate results. Furthermore, other high-order methods were available for determining the roots of polynomials, such as Laguerre’s method, which gives cubic convergence and also

approximates complex roots [4], the Jenkins-Traub method [5], and Brent’s method [6]. Another method of interest, Cauchy’s method, is similar to Müller’s method but avoids the failure problem of Müller’s method when )()()( 21 ++ == iii xfxfxf , for some i [7].

Until now, the methods above there existed also the limitations of low accuracy and slow convergence. For these, authors proposed a rapid algorithm finding zeros of polynomials with the variable learning rate. The approach can find real or complex roots of polynomials with less computation, very high precision and very rapid convergence.

II. THE ALGORITHM FINDING ZEROS OF POLYNOMIALS

A. The algorithm description A polynomial of degree n has the form

011

1)( axaxaxaxp nn

nn ++++= −

− (1)

where the ia ’s, called the coefficients of p , are constants

and 0≠na . The main idea of the algorithm proposed was to make

function p satisfy 0)( =xp through training the weight x . The algorithm is as follows: Given an arbitrary initial approximation weight kx ,real or complex, then an error function can be obtained:

)()(0)( kk xpxpke −=−= (2)

Define an objective function J as follows:

)(21 2 keJ = (3)

To minimize the objective function J , the weight kx is recursively calculated via using a simple gradient descent rule:

kkk dx

dJxx η−=+1 (4)

Whereη is learning rate and 10 << η , andk

k dxdJx η−=Δ .

978-1-4244-3693-4/09/$25.00 ©2009 IEEE

Page 2: [IEEE 2009 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM) - Beijing, China (2009.09.24-2009.09.26)] 2009 5th International Conference

Differentiating Eq. (3) with respect to kx , it can be obtained that

)()()()(

)()( k

k

k

kk

xpkedx

xdpxdpkde

kdedJ

dxdJ ′−== (5)

Substituting Eq. (5) into Eq. (4), we have )()(1 kkk xpkexx ′+=+ η (6)

B. Study of the algorithm convergence In order to ensure the absolute convergence of the

algorithm, it is important to select a proper learning rateη . In the section, we present and proof the theorem about convergence of the algorithm. It is as follows: Theorem 1: If )(xp is a polynomial of degree 1≥n and )(xp′ is a polynomial of degree 0≥n , then

only when2)(/20 kxp′<<η , the algorithm is convergent,

whereη is learning rate. Proof: Define a Lyapunov function:

)(21)( 2 kekV = (7)

Then

)(21)1(

21)( 22 kekekV −+=Δ (8)

Since

kk

xdx

kdekekekeke Δ+=Δ+=+ )()()()()1( (9)

and

kkk dx

kdekedxdJx )()(ηη −=−=Δ (10)

According to (8) ,(9) and (10), we have

))(21)(()(

)](21)()[()(

222

2

kk dxkdeke

dxkde

kekekekV

ηη +−=

Δ+Δ=Δ

(11)

Known from the Eq.(2): )()(k

k

xpdx

kde ′−= , Substituting it

into Eq. (11) gives:

))(21)(()()( 2222

kk xpkexpkV ′+−′=Δ ηη (12)

Since 0)()( 22 ≥′ kexp k , if the algorithm is convergent,

i.e. 0<Δ kV , then it is easy to see from Eq. (12) that:

0)(21 22 <′+− kxpηη (13)

Also since 0>η , we have

2)(/20 kxp′<<η (14)

C. Evaluation of the optimal learning rate optη

It is important to determine the magnitude of the learning rateη during the training of adaptive algorithm. Theorem 1 indicates the theory criterion determining the magnitude of the learning rateη . If learning rateη is too large, the algorithm may produce oscillation and is not convergent at all. If learning rate η is too small, the algorithm may be slowly convergent with more computation. Since learning rate η depends on the )( kxp′ , hence it varies with the

derivative evaluation )( kxp′ at kx . In order to make the algorithm be convergent, according to experience, the optimal learning rate should usually be:

⎪⎩

⎪⎨⎧

>′′≤′

=1)(,)(/11)(,5.0

)( 2kk

kopt xpxp

xpkη (15)

D. Algorithm steps Algorithm 1: To find a solution to 0)( =xp given one approximation 0x :

INPUT: 0x ; tolerance Tol ; maximum number of

iterations N ; let 0=k ; OUTPUT: approximate solution 1+kx or message of failure.

Step 1: While Nk ≤ do Steps 2-5

Step 2: set )()( kxpke −= ; )(21 2 keJ = ;

If 1)( ≤′ kxp

5.0=optη

Else 2)(/1)( kopt xpk ′=η ;

Step 3:: )()()(1 koptkk xpkekxx ′+=+ η ;

Step 4: If TolJ ≤ then OUTPUT ( 1+kx ); (The procedure was successful.) STOP. Step 5: Set 1+= kk xx ; 1+= kk ; Go back to step 2. Step 6: OUTPUT(‘The method failed after N iterations,

=n ’, k ); (The procedure was unsuccessful.) STOP.

Page 3: [IEEE 2009 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM) - Beijing, China (2009.09.24-2009.09.26)] 2009 5th International Conference

III. RESULTS AND DISCUSSION In order to confirm the validity of the algorithm proposed,

we will give four examples to evaluate the polynomial at the initial values.

Example 1: Consider the polynomial 62054016)( 234 +++−= xxxxxp [1].

Table 1 shows the results of the method proposed and Müller’s method to 62054016)( 234 +++−= xxxxxp .

The results in table1 illustrate that the algorithm proposed has much higher accuracy and much rapider convergence than Müller’s method. In the other hand, the function )(xp in example 1 has only four real roots and never complex roots, thus, the complex roots: i162758.0356062.0 ±− obtained by Müller’s method are not the actual roots of the equation )(xp .

Example 2: Consider the polynomial 24024020884344429312)( 2345 −++−= xxxxxxp

[8]. The exact values for the roots of the equation are -13, -11, 10, 12 and 14[8]. Using the method proposed and Newton’s method produce the results in table 2. The results in table2 illustrated the inaccurate results using Newton-horner’s method and very accurate results using the proposed algorithm. Newton-horner’s method is also called deflation [1]. Although this method can be used to find all the approximate zeros, it depends on repeated use of approximations and can lead to inaccurate results.

Example 3: Given a certain transfer function of the discrete system [9]:

1716123)( 23

2

−+−++=

zzzzzzH

Certain whether the system is stable. Reference [9] proved that the system is stable using Juli rule. Since the denominator polynomial is:

171612)( 23 −+−= zzzzA If the all roots of the equation: 0)( =zA are within the unit circle, then the system is certainly stable. Now, we will find roots: real roots or complex roots of the equation: 0)( =zA . Since 1)0( −=A and 2)1( =A , therefore the equation: 0)( =zA has at least one real root within the interval[0,1], and the other two roots may be real or complex. Because of )(zA′ is close to zero in neighbor to 0.5. It is obvious that the root near 0.5 must be double real root, so it is also the root of equation )(zA′ . Since 65.0)( <′ zA on the interval [0.3, 0.55], thus, the optimal learning rate should be determined as follows:

⎪⎩

⎪⎨⎧

′≤′

=otherzAzA

kopt ,)(/1

3.0)(,102η ( ]55.0,3.0[∈z )

TABLE1. THE RESULTS OF THE EXAMPLE 1

Algorithm1 proposed

0x k 1+kx )( 1+kxp

/710−×

-0.5 4 -0.4253905 7.980087

6 -0.4253905 0

0 4 -0.2499998 17.34699

7 -0.2500000 0

1.5 4 1.17539053 0.001349747

6 1.17539052 0

2.25 4 2.00000006 48.3967

7 2.00000000 0

Müller’s method [1]

0x , 1x ,

2x k 1+kx

)( 1+kxp

/710−×

0.5, -0.5, 0 6 -0.356062+

0.162758i 28.6102+ 9.53674i

0.5,1.0,1.5 5 1.24168 257.492

2.5,2.0,2.2 4 1.97044 259.639

To find the root of the equation )(zA′ , the algorithm is rewritten as follows: Algorithm2: INPUT: 0z ; tolerance Tol ; maximum number of

iterations N ; let 0=k ; OUTPUT: approximate solution 1+kz or message of failure.

Step 1: While Nk ≤ do Steps 2-5

Step 2: set )()( kzAke ′−= ; )(21 2 keJ = ;

If 3.0)( ≤′′ kxA then 10=optη Else

2)(/1)( kopt xAk ′′=η ;

Step 3:: )()()(1 koptkk xAkekzz ′′+=+ η ;

Step 4: If TolJ ≤ then OUTPUT ( 1+kz ); (The procedure was successful.) STOP. Step 5: Set 1+= kk zz ; 1+= kk ; Go back to step 2. Step 6: OUTPUT(‘The method failed after N iterations,

=n ’, k ); (The procedure was unsuccessful.) STOP. The results produced using the method proposed are in table 3.

Page 4: [IEEE 2009 5th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM) - Beijing, China (2009.09.24-2009.09.26)] 2009 5th International Conference

TABLE2. THE RESULTS OF THE EXAMPLE 2

Algorithm1 proposed

0x k 1+kx )( 1+kxp

/510−

-13.5 5 -13.00000 0.9121

8 -13.00000 0

-11.5 5 -11.00000 1.39914

7 -11.00000 0

10.5 6 10.000000 17.8945

8 10.000000 0

12.5 4 12.000000 1.55366

7 12.000000 0

14.5 4 14.000000 6.0878 7 14.000000 0

Newton- Horner’s

rmethod [8]

11 - 13.99990 53995

11 - 12.00016 36801

9 - 9.999949 19707

- - -11.00006 144897

- - -12.99991 279434

TABLE 3. THE RESULTS OF THE EXAMPLE 3

Algorithm2 proposed

0z k 1+kz )( 1+kzA

/1610−

0.30 5 0.333333333 2.220446

0.55 6 0.500000000 0

IV. CONCLUDING REMARKS We knew from the table 1 to table 3 that the algorithm

proposed can rapidly and precisely calculate the real or complex roots of polynomials which were not solved by some

traditional methods at all. All the results in three examples are almost exact with less computation. The results in table1 illustrated that the approach proposed had much higher accuracy and much rapider convergence than Müller’s method. Furthermore, the equation )(xp in example 1 has only four real roots and never complex roots, thus, the complex roots: i162758.0356062.0 ±− produced by Müller’s method are not the actual roots of the equation. The results in example 2 (see to table 2) showed clearly that the roots produced using the approach proposed were much more precise than Newton- Horner’s method. The results in example 3 with the double zero at 5.0=x (see to table 3) illustrated the validity of the algorithm presented with very high accuracy and very rapid convergence.

In summary, the algorithm 1 and algorithm 2 proposed will play a very important role in the many fields of science and engineering.

REFERENCES [1] Richard L. Burden, J. Douglas Faires. Numerical ANALYSIS (Seventh

Edition).Thomson Learning, Inc.Aug. 2001,pp47-103 [2] Zeng Zhe-zhao, Wen Hui. Numerical Computation (First Edition). Beijing:

Qinghua University Press,China, Sept. 2005,pp88-108 [3] Xu Changfa, Wang Minmin and Wang Ninghao. An accelerated iteration

solution to nonlinear equation in large scope. J. Huazhong Univ. of Sci. & Tech.(Nature Science Edition), 34(4):122-124, 2006

[4] Householder, A. S. The numerical treatment of a single nonlinear equation. McGraw-Hill, New York, 1970, 176-179

[5] Jenkins, M. A. and J. F. Traub. A three-stage algorithm for real polynomials using quadratic iteration. SIAM Journal on Numerical Analysis 7, No.4(1970), 545-566

[6] Brent, R. Algorithms for minimization without derivatives. Prentice-Hall, Englewood Cliffs, NJ, 1973, pp.195

[7] Young, D.M. and R.T. Gregory. A survey of numerical mathematics. Vol.1, Addison-Wesley, Reading, MA,1972, pp.533

[8] Ling Cheng-seng. Numerical computational method [M]. Beijing: Science Press, 1998, pp.37-38

[9] Zeng zhe-zhao. Signal and linear system [M]. Beijing: Qinghua University Press, 2007, pp. 267-268