§ **4 ****Approximate computation of real roots**

Let *f* ( *x* ) be a known continuous function and *ξ* be the equation

*f* ( *x* )* =* 0

The roots of , where the equation can be a general equation (algebraic or transcendental) . The range of the roots is given in practical problems, such as algebraic equations

*f* ( *x* )=* a *_{0 }*x ^{n}* +

The range of the root *ξ* is

| *ξ *| ￡ 1+ max{ | *a *_{1 }| , | *a *_{2 }| , L , | *a ** _{n}* | }

Therefore, it can be assumed that the equation has only one root in the interval ( *a* , *b* ) (if there are two roots, replace one endpoint of the interval with a point where ( *x* )=0 ) . And from the continuity of the function, generally Said that *f* ( *x* ) is of opposite sign near the root (except when ( *ξ* )=0 or otherwise), so in the various approximations described below, it is assumed that *f* ( *a* ) and *f* ( *b* ) are of opposite sign ._{}_{}_{}

1. Qin Jiushao method *

Qin Jiushao's method is basically a method of obtaining the approximate value of the root through successive experiments. The more the number of experiments, the closer the obtained approximate value is to the true value of the root . This process is systematically continued until the number of digits of the predetermined significant figures is reached . this method .

Example equation

*f* ( *x* ) =(1)_{}

The root of to five significant digits .

Applying the Cartesian rule of symbols shows that this equation has a positive root . Since *f* (1) = - 11 and *f* (2) = 14 , this positive root is between ( 1,2) .

Now apply Qin Jiushao's method to find the approximate root of this equation . Suppose , here is the distance from 1 to the sought root . Applying the polynomial Taylor formula ( Qin Jiushao's method , see § 2, 1 ) , the equation of_{}_{}_{}

_{} (2)

Its formula is

_{}_{}

Now to find the approximate value of pure decimals, since the value of the third power or quadratic power of pure decimals is smaller, the first two terms of equation (2) can be temporarily discarded to calculate 21 - 11 = 0 , that is, = 0.5238 .... The last two terms are positive, and this value appears too large . When = 0.500 , the sum of the left-hand terms of equation (2) is still positive (0.375) , and when = 0.400 , the left-hand terms of equation (2) The sum of is negative ( -2.056 ). Therefore, let , i.e. , again applying Taylor's formula for the polynomial, we get the equation for *h*_{}_{}_{}_{}_{}_{}_{}

_{} (3)

Its formula is

* Qin Jiushao, an ancient Chinese mathematician , gave an approximate value for finding the root of an algebraic equation in his book << Nine Chapters of the Book of Numbers >> ( 1247) .

method, this method is generally called Hena method in books . In fact, Hena only proposed this method in 1819 , more than Qin Jiu

Shaowan more than five hundred years ago .

_{}_{}

Now find the approximation of the decimal *h* , discard the first two items, and find *h* = 0.08609.... Because the two positive quantities are discarded, the obtained *h* is too large, so set *h* = 0.08 , _{}that is, apply the above method to obtain the equation of_{}_{}

_{} (4)

As above, from the last two terms of equation ( 4 ) , we can obtain the_{}_{}_{}_{}

_{} (5)

The approximate value obtained from the last two terms = 0.0008..., since all positive quantities are discarded, the root of equation (5) is between 0.0008 and 0.00081 ._{}_{}

Now add the approximations 0.4, 0.08, 0.004, 0.0008 of (2), (3), (4), (5), to the sum of 0.4848 , and then add to the first approximation 1 , so the equation (1) has The root is between 1.4848 and 1.48481 , taking five significant figures as 1.4848.

The Qin Jiushao method can also be used to find negative approximations . If you want to find all negative real roots of *f* ( *x* ) = 0 , you can first find the positive real roots of *f* ( - *x* ) , and then change the sign to get the negative real roots .

2. Dichotomy

Assuming that *f* ( *x* ) is continuous on [ *a, b* ] , and *f* ( *a* ) *f* ( *b* )<0 (here it is assumed that *f* ( *a* )<0, *f* ( *b* )>0 ) , take the interval [ *a, b* ] The midpoint of , if = 0 , then the root of *f* ( *x* )=0 is *ξ* = . Otherwise, if > 0 , then let *a *_{1} = *a* , *b *_{1} = ; if < 0_{}_{}_{}_{}_{}_{}_{}* _{}*, then let

Then take the midpoint of [ *a *_{1} , *b *_{1} ] , if = 0 , then *ξ* = . If > 0 , then let *a *_{2} = *a *_{1} , *b *_{2} = ; if <0 , then let *a *_{2} = , *b *_{2} = *b *_{1} . A new interval [ *a *_{2} , *b *_{2} ] is thus formed , whose length is equal to that which contains the roots of the equation *f* ( *x* ) *=* 0 *ξ* . …_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}_{}*If the allowable error **ε* = , the interval [ *a *_{1} , *b *_{1} ], [ *a *_{2} , *b *_{2} ], [ *a *_{3} , *b *_{3} ], L , [ *a ** _{n}* ,

*ξ *^{*} =_{}

is the approximate root of the equation *f* ( *x* ) *=* 0 with an error of no more than

| *ξ* - *ξ *^{* }| ￡ ￡_{}_{}^{}

The dichotomy method is the simplest and most effective method in the approximate calculation of real roots. It only requires the function to be continuous, so it has a wide range of use and is easy to implement on electronic computers . However, it cannot find multiple roots, nor can it find virtual root .

3. Iterative method

Express the equation *f* ( *x* ) *=* 0 in its equivalent form

*x* = *j* ( *x* )

or generally

*f *_{1} ( *x *) = *f *_{2} ( *x* )

where *f *_{1} ( *x* ) is a function: for any real number *c* , it is easy to find the real root of the equation *f *_{1} ( *x* ) = *c* with high accuracy . If for any *a* ￡ *x *_{1 }￡ *b* , *a *￡ *x *_{2 }￡ *b* , the following formula holds:

_{}

Then the following iterative process is convergent .

First start from an approximate root *x *_{0} ( *x *_{0} can be roughly estimated by the graphical method), substitute the right side of the equation, and solve the equation

*f *_{1} ( *x *) = *f *_{2} ( *x *_{0} )

get the first approximate root *x* = *x *_{1} , then solve the equation

*f *_{1} ( *x *) = *f *_{2} ( *x *_{1} )

Obtain the second approximate root *x* = *x *_{2} , L , and similarly by the *nth* approximate root *x _{n}* , solve the equation

*f *_{1} ( *x *) = *f *_{2} ( *x _{n}* )

Get the *n* +1th approximate root *x* = *x _{n}*

*x *_{0} ,* x *_{1} ,* x *_{2} , _{} L ,* x _{n}* , L

It converges to the root *ξ* of the equation (Figure 3.3 ) .

The rate of convergence (that is, the rate of error disappearance) is comparable to *a ^{n}* , while

*a*_{}

use

_{}

Substituting *x *_{2} can speed up the convergence . In the formula, D *x *_{1} = *x *_{2} - *x *_{1} is the first-order difference of x 1, and *D *_{2 }x ^{0 }*= *_{D} x 1 *- *_{D} x 0 *is *_{the} second -order difference of *x *_{0} .^{}_{}_{}_{}_{}

For the equation *x* = *j* ( *x* ) , as long as *j* ( *x* ) is continuous on [ *a* , *b* ] and *q* < 1 , then its root can be given by_{}

*x *_{1} =* j* (* x *_{0} )

*x *_{2} =* j* (* x *_{1} )

L L L L

*x _{n}*

to approach (Fig. 3.4 ) .

4. Newton's method

1 . General Newton's method

Let *f* ( *x* ) be continuous on [ *a* , *b* ] and also be continuous, and 1 0, 1 0 , *f* ( *a* ) *f* ( *b* )<0 (let *f* ( *a* )<0, *f* ( *b* )>0 ) , through the point ( *a* , *f* ( *a* )) (or the point ( *b* , *f* ( *b* ) ) ) as a tangent to the curve:_{}_{}_{}

_{}(or )_{}

It intersects the *x -axis at **x* = *a* - (or *x* = *b* - )_{}_{}

with iterative formula

*x _{n}*

and take the initial value

*x *_{0} =_{}

An approximation of the roots of the equation *f* ( *x* )=0 can be calculated (Fig. 3.5 ) . The error ï *x* – *x ** _{n}* ï does not exceed

_{}

Generally, the initial value *x *_{0} selected must satisfy the inequality

_{}

2 . Approximate Newton's method

If it is not easy to calculate, the difference quotient can be used instead to obtain an approximate Newton method iterative program:_{}

*x _{n}*

3 . Sequential Compression Newton's Method

find algebraic equations with real coefficients

*f* ( *x* )=* a *_{0 }*x ^{n}* +

When the single real root of , after finding a real root *x *_{0} by Newton's method , the degree of the polynomial can be reduced once, and the polynomial coefficient *b _{k}* after the reduced degree is

*b *_{0} = *a *_{0}

*b _{k}* =

Then, using the obtained real roots as the initial approximation, use the same method to obtain the real roots of the polynomial with the reduced degree again, and then obtain all the single real roots .

4 . Newton's Method for Solving Nonlinear Systems of Equations

Assuming a nonlinear system of equations

_{}

There exists a set of approximate solutions *P *_{0} =( *x *_{0} , *y *_{0} ) , and

_{}

Available iterative formulas:

*x _{n}*

*y _{n}*

where *P _{n}* is the point (

_{}

5. Chord intercept method (linear interpolation method)

Assuming that *f* ( *x* ) is continuous on [ *a* , *b* ] , , are invariant, and *f* ( *a* ) *f* ( *b* )<0 (it is assumed here that f *(* a *)* <0, *f* ( *b* )>0 ) . The line at points ( *a* , *f* ( *a* )) and ( *b* , *f* ( *b* )) is:_{}_{}

_{} ( or )_{}

It intersects the *x -axis at **x* = *a* - (or *x* = *b* - ) ._{}_{}

( *a* ) When > 0 , use the iterative formula_{}

_{}

The approximate roots of the equation can be found (Fig. 3.6( *a* ) ) .

( *b* ) When < 0 , with the iterative formula_{}

_{}

The approximate roots of the equation *f* ( *x* )=0 can be found (Fig. 3.6( *b* ) ) .

6. Combined method (Newton's method and chord cut method are used in combination)

Assume that *f* ( *x* ) is continuous on [ *a* , *b* ] , , are invariant, and *f* ( *a* ) *f* ( *b* )<0 (here it is assumed that *f* ( *a* )<0, *f* ( *b* ) >0 ._{}_{}

( *a* ) When *f* ( *a* ) has the same sign (Fig. 3.7( *a* ) ), use the iterative formula_{}

*x1 *_{=}* a* __{}

_{}= *b*_{}

*x2 _{}* =

_{}=_{}

L L L L L L L

*x _{n}* =

_{}=_{}

The approximate roots of the equation *f* ( *x* )=0 can be found .

( *b* ) When *f* ( *a* ) has an opposite sign (Fig. 3.7( *b* ) ), using the iterative formula_{}

*x1 *_{=}* a* __{}

_{}= *b*_{}

*x2*_{} =* x1 *_{_}_{ _}_{}_{}

_{}=_{}

L L L L L L L L

*x _{n}* =

_{}=_{}

The approximate roots of the equation *f* ( *x* )=0 can be found .

error or ._{}_{}

7. Parabolic method (Mueller method)

*Find the nth* degree equation with real coefficients

*f* ( *x* )=* x ^{n}* +

approximate root of .

A root *x* = *r of **f* ( *x* )=0 can be found first , then

*
f ( x* )=(* x* -* r* )* g* (* x* )

=( *x* - *r* )( *x ^{n}*

In the formula, *g* ( *x* ) is a polynomial of degree *n* - 1 , and then find the roots of *g* ( *x* ) , and so on, you can find all real roots of *f* ( *x* )=0 .

First select three points on the *x* -axis: *x *_{0} , *x *_{1} , *x *_{2} , through the three points on the curve *y* = *f* ( *x* ) : ( *x *_{0} , *f* ( *x *_{0} )), ( *x *_{1} , *f* ( *x *_{1} ) ), ( *x *_{2} , *f* ( *x *_{2} )) as a parabola *y* = *P* ( *x* ) (i.e. Lagrangian interpolation polynomial, see Chapter 17, § 2 , 3), the parabola and *x*The axis has two points of intersection, take the point closer to *x *_{2} as *x *_{3} ; then three points ( *x *_{1} , *f* ( *x *_{1} )), ( *x *_{2} , *f* ( *x *_{2} )), ( *x *_{3} , *f* ( *x *_{3} )) to draw a parabola ( dotted line in Figure 3.8 ), which has two intersection points with the *x -axis, take the point closer to **x *_{3} as *x *_{4 }L , and make points *x *_{i}_{ -2} , *x *_{i}_{ - according to this method }_{1} , *x ** _{i}* , after three o'clock (

For a predetermined allowable error *e* , when the iterative process proceeds to

ï *x _{i}*

, take *x _{i}*

The resulting sequence is convergent . The limit is the root of the equation *f* ( *x* )=0 ._{}

The iterative steps are as follows:

( 1 ) According to experience, the above formula ( 1 ) is desirable

*x *_{0} =-1,* x *_{1} =1,* x *_{2} =0 _{} _{}

as the initial value, so

*f* ( *x *_{0} )=(-1)* ^{ n}* +(-1)

*f* ( *x *_{1} )=1+* a *_{1} + L +* a _{n}*

*f* ( *x *_{2} ) =* a _{n}*

or with an approximation around *x* = 0

*f* ( *x *_{0} ) » *a _{n}*

*f* ( *x *_{1} ) » *a _{n}*

*f* ( *x *_{2} ) =* a _{n}*

( 2 ) set

l * _{i}* = , d

*g _{i}* =

*h _{i}* =

From this * _{,}* l

l _{i}_{ +1} =_{}

( *h _{i}* >0 , the radical takes the positive sign;

When *f* ( *x _{i}*

( 3 ) According to the formula

*x _{i}*

Calculate *x _{i}*

8. Lin Shizhen - Zhao Fangxiong's method (split factor method)

Since it is easy to solve quadratic equations, in finding real coefficient algebraic equations

*f* ( *x* )=* x ^{n}* +

*If you find a quadratic factor of f* ( *x* ) when you find the complex roots of , it is equivalent to finding a pair of complex roots of the equation .

Let an approximate quadratic factor (chosen arbitrarily) of *f* ( *x* ) be

w ( *x* ) = *x *^{2} + *px* + *q*

It can be refined in the following ways:

( 1 ) Divide *f* ( *x* ) by *w* ( *x* ) to obtain the quotient *Q* ( *x* ) and the remainder *R* ( *x* ) , namely

*
f ( x* )=* w* (* x* )* Q* (* x* )+* R* (* x* )

=( *x *^{2} + *px* + *q *)( *x ^{n}*

The coefficients of the quotient and remainder in the formula can be calculated by the following recursive formula:

*b _{k}* =

*b *_{-1} = 0,* b *_{0} =1 _{}

*r *_{1} = *b _{n}*

*r *_{2} = *b _{n}* +

( 2 ) *Divide xQ* ( x *)* by w *( * x *)* to get the remainder

*R *^{[}^{ 1]} (* x* ) =* R *_{11 }*x* +* R *_{21`}

where *R *_{11} , *R *_{21} are calculated by the following recursive formula:

*c _{k}* =

*c *_{-1} = 0,* c *_{0} =1 _{}

*R *_{11} = *b _{n}*

*R *_{21} =- *qc _{n}*

( 3 ) Divide *Q* ( *x* ) by w ( *x* ) to get the remainder

*R *^{[}^{ 2]} (* x* ) =* R *_{12 }*x* +* R *_{22`}

where *R *_{12} , *R *_{22} are calculated from the following formula:

*R *_{12} = *b _{n}*

*R *_{21} = *b _{n}*

( 4 ) Solve binary linear equation system

_{}

get *u* , ._{}

( 5 ) The corrected quadratic formula is

*w*^{ [1]} (* x* )=* x *^{2 }+( *p* +* u* )* x* +(* q* +)_{}

If it is not accurate enough, repeat steps ( 1 ) to ( 5 ) to correct it until it is accurate enough .

The Lin Shichen - Zhao Fangxiong method for finding complex roots of algebraic equations with real coefficients has the advantage of avoiding complex operations, but the disadvantage is that the program is more complicated .

9. Descending method

Transcendental equations for arbitrary real coefficients

_{}
(1)

Define the objective function

*F* ( *x *_{1 }, *x *_{2} , L , *x _{n}* )=

If *F* ( *x*_{ 1} , *x*_{ 2} , L , *x _{n}* ) <

The specific calculation steps are as follows:

( 1 ) Take any set of initial values *x *_{1 }^{(0)} , *x *_{2 }^{(0)} , L , *x _{n}*

( 2 ) Calculation

*F _{m}* =

( 3 ) If *F _{m}* <

_{}[ *F* ( *x *_{1 }^{( m )} , *x *_{2 }^{( m )} , L , *x _{i}*

*H _{i}* =

( 4 ) Calculation

*x _{i}*

in the formula

_{}

Get a set of { *x _{i}*

Contribute a better translation