Finding the value of for is equivalent to seeking a positive number whose square yields : . In other words, the solution to .

We can find by solving . It is by mere inspection. can also be obtained by solving , again, by mere inspection. But ‘mere inspection’ can only go so far. For Example, what is ?

Method for finding the square root of a positive real number date back to the acient Greek and Babylonian eras. Heron’s algorithm, also known as the Babylonian method, is an algorithm named after the – century Greek mathematician Hero of Alexandria, It proceeds as follows:

Begin with an arbitrary positive starting value .

Let be the average of and

Repeat step 2 until the desired accuracy is achieved.

This post offers an analysis of Heron’s algorithm. Our aim is a better understanding of the algorithm through mathematics.

Let us begin by arbitrarily choosing a number . If , then is , and we have guessed the exact value of the square root. Otherwise, we are in one of the following cases:

Case 1:

Case 2:

Both cases indicate that lies somewhere between and .

Let us define as the relative error of approximating by :

The closer is to , the better is as an approximation of .

Since ,

By (1),

Let be the mid-point of and :

and, the relative error of approximating ,

We have

By (5),

i.e., lies between and .

We can generate more values in stages by

Clearly,

.

Let

.

We have

and

Consequently, we can prove that

by induction:

When .

Assume when ,

When .

Since (11) implies

(10) and (13) together implies

It follows that

and

(15) indicates that the error is cut at least in half at each stage after the first.

Therefore, we will reach a stage that

It can be shown that

by induction:

When ,

Assume when k = p,

When ,

From (17) and (18), we see that the error decreases quadratically.

Illustrated below is a script that implements the Heron’s Algorithm:

/*
a - the positive number whose square root we are seeking
x0 - the initial guess
eps - the desired accuracy
*/
square_root(a, x0, eps) := block(
[xk],
numer:true,
xk:x0,
loop,
if abs(xk^2-a) < eps then return(xk),
xk:(xk+a/xk)/2,
go(loop)
)$

Suppose we want to find and start with . Fig. 2 shows the Heron’s algorithm in action.

The stages of a two stage rocket have initial masses and respectively and carry a payload of mass . Both stages have equal structure factors and equal relative exhaust speeds. If the rocket mass, , is fixed, show that the condition for maximal final speed is

.

Find the optimal ratio when .

According to multi-stage rocket’s flight equation (see “Viva Rocketry! Part 2“), the final speed of a two stage rocket is

Let , we have

and,

Differentiate with respect to gives

It follows that implies

.

That is, . i.e.,

It is the condition for an extreme value of . Specifically, the condition to attain a maximum (see Exercise-2)

When , solving

yields two pairs:

and

Only (3) is valid (see Exercise-1)

Hence

The entire process is captured in Fig. 2.

Fig. 2

Exercise-1 Given , prove:

Exercise-2 From (1), prove the extreme value attained under (2) is a maximum.

The stages of a two-stage rocket have initial masses and respectively and carry a payload of mass . Both stages have equal structure factors and equal relative exhaust speed . The rocket mass, is fixed and .

According to multi-stage rocket’s flight equation (see “Viva Rocketry! Part 2“), the final speed of a two-stage rocket is

Let , it becomes

where . We will maximize with an appropriate choice of .

That is, given

where . Maximize with an appropriate value of .

The above optimization problem is solved using calculus (see “Viva Rocketry! Part 2“). However, there is an alternative that requires only high school mathematics with the help of a Computer Algebra System (CAS). This non-calculus approach places more emphasis on problem solving through mathematical thinking, as all symbolic calculations are carried out by the CAS (e.g., see Fig. 2). It also makes a range of interesting problems readily tackled with minimum mathematical prerequisites.

The fact that

is a monotonic increasing function

where

or

(1) can be written as

where

,

.

Since means

.

That is

.

Solve

for gives if .

Hence, (1) is a quadratic equation. For it to have solution, its discriminant must be nonnegative, i.e.,

Consider

If , (3) is a quadratic equation.

Solving (3) yields two solutions

,

.

Since ,

(4) implies

and, the solution to (2) is

or

i.e.,

or

We prove that (4) is true by showing (5) is false:

Consider :

where

.

It can be written as

where

,

,

.

Since (see Exercise 1) and,

solve (7) for yields

.

It follows that for .

Consequently, is a negative quantity. i.e.,

which tells that (5) is false.

Hence, when , the global maximum is .

Solving for :

,

we have

.

Therefore,

attains maximum at .

In fact, attains maxima at even when , as shown below:

Solving for , we have

or .

Only is valid (see Exercise-2),

When ,

where

Solve quadratic equation for yields

.

The coefficient of in is , a negative quantity (see Exercise-3).

The implication is that is a negative quantity when .