0% found this document useful (0 votes)
850 views15 pages

Bracketing Methods: Methods Because Two Initial Guesses For The Root Are Required. As The Name Implies, These

This chapter discusses bracketing methods for finding the roots of equations. These methods exploit the fact that a function changes sign near a root. Two initial guesses are required that bracket, or are on either side of, the root. Graphical methods can provide rough estimates of roots by plotting the function and observing where it crosses the x-axis. Bracketing methods then systematically reduce the width of the bracketing interval to home in on the root. The bisection method is introduced, which divides the bracketing interval in half at each step to locate where the function changes sign.

Uploaded by

Zaynab Msawat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
850 views15 pages

Bracketing Methods: Methods Because Two Initial Guesses For The Root Are Required. As The Name Implies, These

This chapter discusses bracketing methods for finding the roots of equations. These methods exploit the fact that a function changes sign near a root. Two initial guesses are required that bracket, or are on either side of, the root. Graphical methods can provide rough estimates of roots by plotting the function and observing where it crosses the x-axis. Bracketing methods then systematically reduce the width of the bracketing interval to home in on the root. The bisection method is introduced, which divides the bracketing interval in half at each step to locate where the function changes sign.

Uploaded by

Zaynab Msawat
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 15

CHAPTER

5
Bracketing Methods

This chapter on roots of equations deals with methods that exploit the fact that a function
typically changes sign in the vicinity of a root. These techniques are called bracketing
methods because two initial guesses for the root are required. As the name implies, these
guesses must “bracket,” or be on either side of, the root. The particular methods described
herein employ different strategies to systematically reduce the width of the bracket and,
hence, home in on the correct answer.
As a prelude to these techniques, we will briely discuss graphical methods
for depicting functions and their roots. Beyond their utility for providing rough guesses,
graphical techniques are also useful for visualizing the properties of the functions and
the behavior of the various numerical methods.

5.1 GRAPHICAL METHODS


A simple method for obtaining an estimate of the root of the equation f(x) 5 0 is to
make a plot of the function and observe where it crosses the x axis. This point, which
represents the x value for which f(x) 5 0, provides a rough approximation of the root.

EXAMPLE 5.1 The Graphical Approach


Problem Statement. Use the graphical approach to determine the drag coeficient
c needed for a parachutist of mass m 5 68.1 kg to have a velocity of 40 m/s after free-
falling for time t 5 10 s. Note: The acceleration due to gravity is 9.81 m/s2.
Solution. This problem can be solved by determining the root of Eq. (PT2.4) using the
parameters t 5 10, g 5 9.81, y 5 40, and m 5 68.1:
9.81(68.1)
f (c) 5 (1 2 e2(cy68.1)10) 2 40
c
or
668.06
f (c) 5 (1 2 e20.146843c) 2 40 (E5.1.1)
c
Various values of c can be substituted into the right-hand side of this equation to compute

123
[1]
124 BRACKETING METHODS

c f (c)
4 34.190
8 17.712
12 6.114
16 22.230
20 28.368

These points are plotted in Fig. 5.1. The resulting curve crosses the c axis between 12 and
16. Visual inspection of the plot provides a rough estimate of the root of 14.75. The valid-
ity of the graphical estimate can be checked by substituting it into Eq. (E5.1.1) to yield
668.06
f (14.75) 5 (1 2 e20.146843(14.75)) 2 40 5 0.100
14.75
which is close to zero. It can also be checked by substituting it into Eq. (PT2.3) along
with the parameter values from this example to give
9.81(68.1)
y5 (1 2 e2 (14.75y68.1)10) 5 40.100
14.75
which is very close to the desired fall velocity of 40 m/s.

FIGURE 5.1
The graphical approach for determining the roots of an equation.

f (c)

40

20

Root

0
4812 20 c

–10
5.1 GRAPHICAL METHODS 125

Graphical techniques are of limited practical value because they are not precise. However,
f (x) graphical methods can be utilized to obtain rough estimates of roots. These estimates can be
employed as starting guesses for numerical methods discussed in this and the next chapter.
Aside from providing rough estimates of the root, graphical interpretations are im-
portant tools for understanding the properties of the functions and anticipating the pitfalls
of the numerical methods. For example, Fig. 5.2 shows a number of ways in which roots
x
can occur (or be absent) in an interval prescribed by a lower bound xl and an upper
(a)
bound xu. Figure 5.2b depicts the case where a single root is bracketed by negative and
f (x) positive values of f(x). However, Fig. 5.2d, where f(xl) and f(xu) are also on opposite
sides of the x axis, shows three roots occurring within the interval. In general, if f(xl)
and f(xu) have opposite signs, there are an odd number of roots in the interval. As indi-
cated by Fig. 5.2a and c, if f(xl) and f(xu) have the same sign, there are either no roots
or an even number of roots between the values.
x
(b) Although these generalizations are usually true, there are cases where they do not
hold. For example, functions that are tangential to the x axis (Fig. 5.3a) and discontinu-
f (x) ous functions (Fig. 5.3b) can violate these principles. An example of a function that is
tangential to the axis is the cubic equation f(x) 5 (x 2 2)(x 2 2)(x 2 4). Notice that
x 5 2 makes two terms in this polynomial equal to zero. Mathematically, x 5 2 is called
a multiple root. At the end of Chap. 6, we will present techniques that are expressly
designed to locate multiple roots.
x
(c) The existence of cases of the type depicted in Fig. 5.3 makes it dificult to develop
general computer algorithms guaranteed to locate all the roots in an interval. However,
f (x) when used in conjunction with graphical approaches, the methods described in the

FIGURE 5.3
x Illustration of some exceptions to the general cases depicted f (x)
in Fig. 5.2. (a) Multiple root that occurs when the function is
xl xu
tangen- tial to the x axis. For this case, although the end
(d) points are of op- posite signs, there are an even number of
axis intersections for the interval. (b) Discontinuous function
FIGURE 5.2 where end points of oppo- site sign bracket an even number of
Illustration of a number of roots. Special strategies are required for determining the
roots for these cases. x
general ways that a root may
occur in an interval prescribed (a)
by a lower bound xl and an
upper bound xU. Parts (a) and f (x)
(c) indicate that if both f(xl) and
f(xU) have the same sign, either
there will be no roots or there
will be an even number of roots
within the interval. Parts (b) and
(d) indicate that if the function
has different signs at the end x
points, there will be an odd xl xu
number of roots in the interval.
(b)
5.2 THE BISECTION METHOD 127

5.2 THE BISECTION METHOD


When applying the graphical technique in Example 5.1, you have observed (Fig. 5.1)
that f(x) changed sign on opposite sides of the root. In general, if f(x) is real and con-
tinuous in the interval from xl to xu and f(xl) and f(xu) have opposite signs, that is,
f (xl) f (xu) , 0 (5.1)

then there is at least one real root between xl and xu.


Incremental search methods capitalize on this observation by locating an interval
where the function changes sign. Then the location of the sign change (and consequently,
the root) is identiied more precisely by dividing the interval into a number of subinter-
vals. Each of these subintervals is searched to locate the sign change. The process is
repeated and the root estimate reined by dividing the subintervals into iner increments.
We will return to the general topic of incremental searches in Sec. 5.4.
The bisection method, which is alternatively called binary chopping, interval halving,
or Bolzano’s method, is one type of incremental search method in which the interval is
always divided in half. If a function changes sign over an interval, the function value at
the midpoint is evaluated. The location of the root is then determined as lying at the
midpoint of the subinterval within which the sign change occurs. The process is repeated
to obtain reined estimates. A simple algorithm for the bisection calculation is listed in
Fig. 5.5, and a graphical depiction of the method is provided in Fig. 5.6. The following
example goes through the actual computations involved in the method.

FIGURE 5.5
Step 1: Choose lower xl and upper xU guesses for the root such that the function changes
sign over the interval. This can be checked by ensuring that f(xl)f(xU) , 0.
Step 2: An estimate of the root xr is determined by
xl 1 xU
xr 5
2
Step 3: Make the following evaluations to determine in which subinterval the root lies:
(a) If f(xl)f(xr) , 0, the root lies in the lower subinterval. Therefore, set xU 5 xr and
return to step 2.
(b) If f(xl)f(xr) . 0, the root lies in the upper subinterval. Therefore, set xl 5 xr and
return to step 2.
(c) If f(xl)f(xr) 5 0, the root equals xr; terminate the computation.
128 BRACKETING METHODS

12 16

14 16

FIGURE 5.6 15
A graphical depiction of the
14
bisection method. This plot
conforms to the first three
iterations from Example 5.3.

EXAMPLE 5.3 Bisection


Problem Statement. Use bisection to solve the same problem approached
graphically in Example 5.1.
Solution. The irst step in bisection is to guess two values of the unknown (in
the present problem, c) that give values for f(c) with different signs. From Fig. 5.1, we
can see that the function changes sign between values of 12 and 16. Therefore, the initial
estimate of the root xr lies at the midpoint of the interval
12 1 16
xr 5 5 14
2
This estimate represents a true percent relative error of et 5 5.3% (note that the true
value of the root is 14.8011). Next we compute the product of the function value at the
lower bound and at the midpoint:
f (12) f (14) 5 6.114 (1.611) 5 9.850
which is greater than zero, and hence no sign change occurs between the lower bound
and the midpoint. Consequently, the root must be located between 14 and 16. Therefore,
we create a new interval by redeining the lower bound as 14 and determining a
revised root estimate as
14 1 16
xr 5 5 15
2
which represents a true percent error of et 5 1.3%. The process can be repeated to
obtain reined estimates. For example,
f (14) f (15) 5 1.611(20.384) 5 20.619
5.2 THE BISECTION METHOD 129

Therefore, the root is between 14 and 15. The upper bound is redeined as 15, and the
root estimate for the third iteration is calculated as
x 5 14 1 15 5 14.5
r
2
which represents a percent relative error of et 5 2.0%. The method can be repeated until the result is accurate enough to satisf

In the previous example, you may have noticed that the true error does not decrease
with each iteration. However, the interval within which the root is located is halved with
each step in the process. As discussed in the next section, the interval width provides an
exact estimate of the upper bound of the error for the bisection method.

5.2.1 Termination Criteria and Error Estimates


We ended Example 5.3 with the statement that the method could be continued to obtain a
reined estimate of the root. We must now develop an objective criterion for deciding
when to terminate the method.
An initial suggestion might be to end the calculation when the true error falls below
some prespeciied level. For instance, in Example 5.3, the relative error dropped to 2.0
percent during the course of the computation. We might decide that we should terminate
when the error drops below, say, 0.1 percent. This strategy is lawed because the error
estimates in the example were based on knowledge of the true root of the function. This
would not be the case in an actual situation because there would be no point in using the
method if we already knew the root.
Therefore, we require an error estimate that is not contingent on foreknowledge of
the root. As developed previously in Sec. 3.3, an approximate percent relative error ea
can be calculated, as in [recall Eq. (3.5)]
xrnew 2 xrold
ea 5 ` ` 100% (5.2)
xrnew
where xnew is the root for the present iteration and xold is the root from the previous it-
r r
eration. The absolute value is used because we are usually concerned with the magnitude
of ea rather than with its sign. When ea becomes less than a prespeciied stopping cri-
terion es, the computation is terminated.

EXAMPLE 5.4 Error Estimates for Bisection


Problem Statement. Continue Example 5.3 until the approximate error falls below a
stopping criterion of es 5 0.5%. Use Eq. (5.2) to compute the errors.
Solution. The results of the irst two iterations for Example 5.3 were 14 and 15. Sub-
stituting these values into Eq. (5.2) yields
15 2 14
Ze Z5 ` ` 100% 5 6.667%
a
15
130 BRACKETING METHODS

Recall that the true percent relative error for the root estimate of 15 was 1.3%. Therefore,
ea is greater than et. This behavior is manifested for the other iterations:

Iteration xl xu xr Ea (%) et (%)

1 12 16 14 5.413
2 14 16 15 6.667 1.344
3 14 15 14.5 3.448 2.035
4 14.5 15 14.75 1.695 0.345
5 14.75 15 14.875 0.840 0.499
6 14.75 14.875 14.8125 0.422 0.077

erminated.
to the fact that, for bisection, the true root can lie anywhere within the bracketing interval. The true and approximate errors are far apart when the
5.3 THE FALSE-POSITION METHOD 135

5.3 THE FALSE-POSITION METHOD


Although bisection is a perfectly valid technique for determining roots, its “brute-force”
approach is relatively ineficient. False position is an alternative based on a graphical insight.
A shortcoming of the bisection method is that, in dividing the interval from xl to xu
into equal halves, no account is taken of the magnitudes of f(xl) and f(xu). For example,
if f(xl) is much closer to zero than f(xu), it is likely that the root is closer to xl than to
xu (Fig. 5.12). An alternative method that exploits this graphical insight is to join f(xl)
and f(xu) by a straight line. The intersection of this line with the x axis represents an
improved estimate of the root. The fact that the replacement of the curve by a straight
line gives a “false position” of the root is the origin of the name, method of false position,
or in Latin, regula falsi. It is also called the linear interpolation method.
Using similar triangles (Fig. 5.12), the intersection of the straight line with the
x axis can be estimated as
f (xl) f (xu)
5 (5.6)
xr 2 xl xr 2 xu
which can be solved for (see Box 5.1 for details).

f (x )(xulu2 x )
x 5ru x 2 (5.7)
f (xl ) 2 f (xu)

FIGURE 5.12
A graphical depiction of the f (x)
method of false position.
Similar triangles used to
derive the for- mula for the f (xu)
method are shaded.

xr
xl
xu x

f (xl)
136 BRACKETING METHODS

Box 5.1 Derivation of the Method of False Position

Cross-multiply Eq. (5.6) to yield then adding and subtracting xu on the right-hand side:
f (xl)(xr 2 xu) 5 f (xu)(xr 2 xl) 2 f (xxl)f2(xfu)(x )
xr 5 1 xu f ( x l )
f (x ) 2 f (x )2 x
xu u

Collect terms and rearrange: l u l u

Collecting terms yields


xr [ f(xl ) 2 f (x u )] 5 xu f (xl) 2 xl f
(xu)
Divide by f(x ) 2 f(x ):
x 5 xu xu f ( x u ) xl f ( x u )
l u 1 f (x ) 2 f (x 2 f (x ) 2 f(x )
r )
l u l u
r x u f (x l ) 2 x l f (x u ) or
x5 f (x ) 2 f (x ) (B5.1.1)
l u
f (x u )(x l 2 xu)
This is one form of the method of false position. Note that it al- xr 5 xu f (x ) 2 f (x )
2
l u
lows the computation of the root xr as a function of the lower and
upper guesses xl and xu. It can be put in an alternative form by which is the same as Eq. (5.7). We use this form because it involves
expanding it: one less function evaluation and one less multiplication than Eq.
(B5.1.1). In addition, it is directly comparable with the secant
xu f ( x l ) xl f ( x u )
xr 5 f (x ) 2 f (x )2 f (x ) 2 f (x ) method, which will be discussed in Chap. 6.
l u l u

This is the false-position formula. The value of xr computed with Eq. (5.7) then replaces
whichever of the two initial guesses, xl or xu, yields a function value with the same sign
as f(xr). In this way, the values of xl and xu always bracket the true root. The process is
repeated until the root is estimated adequately. The algorithm is identical to the one for
bisection (Fig. 5.5) with the exception that Eq. (5.7) is used for step 2. In addition, the
same stopping criterion [Eq. (5.2)] is used to terminate the computation.

EXAMPLE 5.5 False Position


Problem Statement. Use the false-position method to determine the root of the same
equation investigated in Example 5.1 [Eq. (E5.1.1)].
Solution. As in Example 5.3, initiate the computation with guesses of xl 5 12 and
xu 5 16.

First iteration:
xl 5 12 f (xl) 5 6.1139
xu 5 16 f (xu) 5 22.2303
22.2303(12 2 16)
xr 5 16 2 6.1139 2 5 14.309
(22.2303)
which has a true relative error of 0.88 percent.

Second iteration:
f (xl) f (xr) 5 21.5376
5.3 THE FALSE-POSITION METHOD 137

Therefore, the root lies in the irst subinterval, and xr becomes the upper limit for the
next iteration, xu 5 14.9113:
xl 5 12 f (xl) 5 6.1139
xu 5 14.9309 f (xu) 5 20.2515
xr 5 14.9309 2 20.2515(12 2 14.9309)
6.1139 2 (20.2515) 5 14.8151

which has true and approximate relative errors of 0.09 and 0.78 percent. Additional
iterations can be performed to reine the estimate of the roots.

A feeling for the relative eficiency of the bisection and false-position methods
can be appreciated by referring to Fig. 5.13, where we have plotted the true percent
relative errors for Examples 5.4 and 5.5. Note how the error for false position decreases
much faster than for bisection because of the more eficient scheme for root
location in the false-position method.
Recall in the bisection method that the interval between xl and xu grew smaller
during the course of a computation. The interval, as deined by ¢xy2 5 Z xu 2 xl Z y2
for the irst iteration, therefore provided a measure of the error for this approach. This
is not the case

FIGURE 5.13
Comparison of the relative
errors of the bisection and the
false-position methods.
True percent relative error

10

Bisection

10– 1

False position
10– 2

10– 3

10– 4

0 3 6
Iterations
138 BRACKETING METHODS

for the method of false position because one of the initial guesses may stay ixed through-
out the computation as the other guess converges on the root. For instance, in
Example 5.5 the lower guess xl remained at 12 while xu converged on the root. For
such cases, the interval does not shrink but rather approaches a constant value.
Example 5.5 suggests that Eq. (5.2) represents a very conservative error criterion.
In fact, Eq. (5.2) actually constitutes an approximation of the discrepancy of the previous
iteration. This is because for a case such as Example 5.5, where the method is converg-
ing quickly (for example, the error is being reduced nearly an order of magnitude per
iteration), the root for the present iteration xrnew is a much better estimate of the true value
than the result of the previous iteration xold
r . Thus, the quantity in the numerator of Eq. (5.2)
actually represents the discrepancy of the previous iteration. Consequently, we are assured
that satisfaction of Eq. (5.2) ensures that the root will be known with greater accuracy
than the prescribed tolerance. However, as described in the next section, there are cases
where false position converges slowly. For these cases, Eq. (5.2) becomes unreliable, and
an alternative stopping criterion must be developed.

5.3.1 Pitfalls of the False-Position Method


Although the false-position method would seem to always be the bracketing method of
preference, there are cases where it performs poorly. In fact, as in the following example,
there are certain cases where bisection yields superior results.

EXAMPLE 5.6 A Case Where Bisection Is Preferable to False Position


Problem Statement. Use bisection and false position to locate the root of
f(x) 5 x10 2 1
between x 5 0 and 1.3.
Solution. Using bisection, the results can be summarized as

Iteration xl xu xr sa (%) st (%)

1 0 1.3 0.65 100.0 35


2 0.65 1.3 0.975 33.3 2.5
3 0.975 1.3 1.1375 14.3 13.8
4 0.975 1.1375 1.05625 7.7 5.6
5 0.975 1.05625 1.015625 4.0 1.6

Thus, after ive iterations, the true error is reduced to less than 2 percent. For
false position, a very different outcome is obtained:

Iteration xl xu xr sa (%) st (%)


1 0 1.3 0.09430 90.6
2 0.09430 1.3 0.18176 48.1 81.8
3 0.18176 1.3 0.26287 30.9 73.7
4 0.26287 1.3 0.33811 22.3 66.2
5 0.33811 1.3 0.40788 17.1 59.2
5.3 THE FALSE-POSITION METHOD 139

f (x)

10

0
1.0 x

FIGURE 5.14
Plot of f (x) 5 x10 2 1, illustrating slow convergence of the false-position method.

by examining a plot of the function. As in Fig. 5.14, the curve violates the premise upon which false position was based—that is, if f(xl) is much clos

The forgoing example illustrates that blanket generalizations regarding root-location


methods are usually not possible. Although a method such as false position is often supe-
rior to bisection, there are invariably cases that violate this general conclusion. Therefore,
in addition to using Eq. (5.2), the results should always be checked by substituting the root
estimate into the original equation and determining whether the result is close to zero. Such
a check should be incorporated into all computer programs for root location.
The example also illustrates a major weakness of the false-position method: its one-
sidedness. That is, as iterations are proceeding, one of the bracketing points will tend to
stay ixed. This can lead to poor convergence, particularly for functions with signiicant
[32] curvature. The following section provides a remedy.
142 BRACKETING METHODS

PROBLEMS

5.1 Determine the real roots of f (x) 5 20.5x2 1 2.5x 1 4.5:


5.10 Find the positive real root of f (x) 5 x4 2 8x3 2 35x2 1
(a) Graphically.
450x 2 1001 using the false-position method. Use initial
(b) Using the quadratic formula.
guesses of xl 5 4.5 and xu 5 6 and perform ive iterations.
(c) Using three iterations of the bisection method to determine the
Compute both the true and approximate errors based on the
highest root. Employ initial guesses of xl 5 5 and xu 5 10.
fact that the root is 5.60979. Use a plot to explain your results
Compute the estimated error ea and the true error et after each
and perform the compu- tation to within es 5 1.0%.
iteration. 5.11 Determine the real root of x3.5 5 80: (a) analytically and
5.2 Determine the real root of f (x) 5 5x3 2 5x2 1 6x 2 2:
(b) with the false-position method to within es 5 2.5%. Use initial
(a) Graphically.
guesses of 2.0 and 5.0.
(b) Using bisection to locate the root. Employ initial guesses
5.12 Given
of xl 5 0 and xu 5 1 and iterate until the estimated error ea
falls below a level of es 5 10%. f (x) 5 22x6 2 1.5x4 1 10x 1 2
5.3 Determine the real root of f (x) 5 225 1 82x 2 90x2 1
Use bisection to determine the maximum of this function. Employ
44x3 2 8x4 1 0.7x5: initial guesses of xl 5 0 and xu 5 1, and perform iterations until
(a) Graphically. the approximate relative error falls below 5%.
(b) Using bisection to determine the root to es 5 10%. Employ 5.13 The velocity y of a falling parachutist is given by
initial guesses of xl 5 0.5 and xu 5 1.0. gm
(c) Perform the same computation as in (b) but use the false- y5 (1 2 e2(cym)t)
position method and es 5 0.2%. c
5.4 (a) Determine the roots of f (x) 5 212 2 21x 1 18x2 2 where g 5 9.81 mys2. For a parachutist with a drag
2.75x3 graphically. In addition, determine the irst root of the coeficient c 5 15 kg/s, compute the mass m so that the velocity
function with (b) bisection, and (c) false position. For (b) and (c) is y 5 36 m/s at t 5 10 s. Use the false-position method to
use initial guesses of xl 5 21 and xu 5 0, and a stopping criterion determine m to a level of es 5 0.1%.
of 1%. 5.14 Use bisection to determine the drag coeficient needed so
5.5 Locate the irst nontrivial root of sin x 5 x2 where x is in radi- that an 82-kg parachutist has a velocity of 36 m/s after 4 s of
ans. Use a graphical technique and bisection with the initial free fall. Note: The acceleration of gravity is 9.81 m/s 2. Start
interval from 0.5 to 1. Perform the computation until ea is less with initial guesses of xl 5 3 and xu 5 5 and iterate until the
than es 5 2%. Also perform an error check by substituting your approximate relative error falls below 2%. Also perform an
inal answer into the original equation. error check by sub- stituting your inal answer into the original
5.6 Determine the positive real root of ln (x2) 5 0.7 (a) graphi- equation.
cally, (b) using three iterations of the bisection method, with 5.15 As depicted in Fig. P5.15, the velocity of water, y (m/s),
initial guesses of xl 5 0.5 and xu 5 2, and (c) using three iterations discharged from a cylindrical tank through a long pipe can be
of the false-position method, with the same initial guesses as in computed as
(b).
5.7 Determine the real root of f (x) 5 (0.8 2 0.3x)yx:
(a) Analytically.
(b) Graphically.
(c) Using three iterations of the false-position method and initial
guesses of 1 and 3. Compute the approximate error ea and
the true error et after each iteration. Is there a problem with
the result?
5.8 Find the positive square root of 18 using the false-position
method to within es 5 0.5%. Employ initial guesses of xl 5 4
and xu 5 5.
5.9 Find the smallest positive root of the function (x is in
radians) x2Z cos 1x Z 5 5 using the false-position method. To
locate the re- gion in which the root lies, irst plot this function
for values of x between 0 and 5. Perform the computation
until ea falls below es 5 1%. Check your inal answer by
substituting it into the orig- inal function.
[33]

You might also like