# Logarithms using Square Roots

### Introduction

In the last post we discussed that a proper theory of logarithmic function can not be developed without using the analytical approach (or methods of calculus in simpler language). Here we discuss more about the common logarithms (i.e. logarithms to the base 10) which are normally introduced to students in secondary classes without using any calculus. The basic idea is simple enough: if $y = 10^{x}$ then we write $x = \log_{10}y$ and say that $x$ is the common logarithm of $y$. The difficulty with this approach is that the meaning of $10^{x}$ cannot be explained properly without using calculus if $x$ is irrational. However in the examples and exercises given the exponent is either a symbol (like $a, b, c, x$) or is a rational number so there is no confusion when the concept of logarithm is presented via this approach. And the student is able to learn the fundamental properties of logarithms and their practical usage in computation with relative ease.

### Calculation of Logarithms

The point of usefulness of logarithms in calculations can hardly be overestimated. With cheap calculators available nowadays no one uses logarithms for the purposes of calculation in real life. But back in days when such calculating machines were not available these tables of logarithms helped a lot in performing various calculations. This raises the question: how were these tables of logarithms made? When I first learnt the analytic approach to logarithms I believed that the computation of logarithms was done by the following formula: \begin{align}\log(1 + x) &= x - \frac{x^{2}}{2} + \frac{x^{3}}{3} - \frac{x^{4}}{4} + \cdots\notag\\ \log_{10}x &= \frac{\log x}{\log 10}\notag\end{align} Obviously some algebraic tricks are needed to use the first formula because it is valid only for $-1 < x \leq 1$ and is useful in practice only when $x$ is small enough like $|x| \leq 0.5$.

Sometime later I came to know of a method of calculating logarithms which avoids the logarithmic series (and other analytical formulas) altogether and instead is based on a very intuitive idea. This method uses a series of square root extractions to find the logarithms. This post aims to explain this method and probably surprise the reader (like I was surprised when I first learnt it).

### Logarithms using square roots

It is obvious that any positive number can be expressed in scientific notation as $x \times 10^{n}$ where $1 \leq x < 10$ and $n$ is a suitable integer and hence while calculating $\log_{10}x$ we can assume that $1 \leq x < 10$. Also since $\log_{10}1 = 0$ it is OK to assume $1 < x < 10$ so that $y = \log_{10}x$ lies in the interval $(0, 1)$. The fundamental trick now used is that we can express $y$ in binary (base 2 as opposed to decimal) notation.

Thus let $$y = 0.b_{1}b_{2}b_{3}b_{4}\ldots = \frac{b_{1}}{2^{1}} + \frac{b_{2}}{2^{2}} + \frac{b_{3}}{2^{3}} + \frac{b_{4}}{2^{4}} + \cdots$$ where each $b_{i}$ is either $0$ or $1$. If we use the slightly convenient notation $\exp(a, x)$ instead of $a^{x}$ we see that \begin{align} x &= \exp(10, y) = \exp\left(10, \frac{b_{1}}{2^{1}} + \frac{b_{2}}{2^{2}} + \frac{b_{3}}{2^{3}} + \frac{b_{4}}{2^{4}} + \cdots\right)\notag\\ &= \exp\left(10, \frac{b_{1}}{2^{1}}\right)\exp\left(10, \frac{b_{2}}{2^{2}}\right)\exp\left(10, \frac{b_{3}}{2^{3}}\right)\exp\left(10, \frac{b_{4}}{2^{4}}\right)\cdots\notag\\ &= \left\{\exp\left(10, \frac{1}{2^{1}}\right)\right\}^{b_{1}}\left\{\exp\left(10, \frac{1}{2^{2}}\right)\right\}^{b_{2}}\left\{\exp\left(10, \frac{1}{2^{3}}\right)\right\}^{b_{3}}\left\{\exp\left(10, \frac{1}{2^{4}}\right)\right\}^{b_{4}}\cdots\notag\end{align} The expression in large curly braces above are nothing but repeated square roots of 10 which can be calculated by hand (with some labor involved). The exponents $b_{1}, b_{2}, \ldots$ are either 0 or 1 and hence their calculation is simple enough. The procedure to calculate them is as follows:

Let $i$ be the least positive integer such that $x \geq \exp(10, 1/2^{i})$. Then $b_{1} = b_{2} = \cdots = b_{i - 1} = 0, b_{i} = 1$ and set $x_{1} = x / \exp(10, 1/2^{i})$. If $x_{1} = 1$ then all b's after $b_{i}$ are zero and we stop. If this is not the case we repeat the procedure and find least positive integer $j$ such that $x_{1} \geq \exp(10, 1/2^{j})$. Then we have $i < j$ and $b_{i + 1} = b_{i + 2} = \cdots = b_{j - 1} = 0, b_{j} = 1$ and set $x_{2} = x_{1} / \exp(10, 1/2^{j})$. Repeat if $x_{2} > 1$ and continue till sufficient number of b's have been calculated to give the value of $y = \log_{10}x$ upto desired precision.

Before beginning the calculation first a table of repeated roots of 10 is made. A sample table with a precision of upto 12 decimal points is given below:
\begin{array}{|r|c|r|c|}
\hline\\
n & 10^{1/2^{n}} & n & 10^{1/2^{n}}\\
\hline\\
1 & 3.162277660168 & 11 & 1.001124941400\\
2 & 1.778279410039 & 12 & 1.000562312602\\
3 & 1.333521432163 & 13 & 1.000281116788\\
4 & 1.154781984689 & 14 & 1.000140548517\\
5 & 1.074607828321 & 15 & 1.000070271789\\
6 & 1.036632928437 & 16 & 1.000035135277\\
7 & 1.018151721718 & 17 & 1.000017567484\\
8 & 1.009035044841 & 18 & 1.000008783704\\
9 & 1.004507364254 & 19 & 1.000004391842\\
10 & 1.002251148292 & 20 & 1.000002195919\\
\hline\end{array}
We will use the above table to calculate the value of $\log_{10}3$. Clearly we can see from the above table that we expect to have at least accuracy upto 5 places of decimals.
\begin{array}{|r|c|c|l|c|}
\hline\\
n & c_{n} = 10^{1/2^{n}} & x & DECISION/CALC & b_{n}\\
\hline\\
1 & 3.162277660168 & 3.000000000000 & x < c_{n} & 0\\
2 & 1.778279410039 & 3.000000000000 & x > c_{n}, x/c_{n} \to x & 1\\
3 & 1.333521432163 & 1.687023975571 & x > c_{n}, x/c_{n} \to x & 1\\
4 & 1.154781984689 & 1.265089510286 & x > c_{n}, x/c_{n} \to x & 1\\
5 & 1.074607828321 & 1.095522381765 & x > c_{n}, x/c_{n} \to x & 1\\
6 & 1.036632928437 & 1.019462498684 & x < c_{n} & 0\\
7 & 1.018151721718 & 1.019462498684 & x > c_{n}, x/c_{n} \to x & 1\\
8 & 1.009035044841 & 1.001287408289 & x < c_{n} & 0\\
9 & 1.004507364254 & 1.001287408289 & x < c_{n} & 0\\
10 & 1.002251148292 & 1.001287408289 & x < c_{n} & 0\\
11 & 1.001124941400 & 1.001287408289 & x > c_{n}, x/c_{n} \to x & 1\\
12 & 1.000562312602 & 1.000162284328 & x < c_{n} & 0\\
13 & 1.000281116788 & 1.000162284328 & x < c_{n} & 0\\
14 & 1.000140548517 & 1.000162284328 & x > c_{n}, x/c_{n} \to x & 1\\
15 & 1.000070271789 & 1.000021732757 & x < c_{n} & 0\\
16 & 1.000035135277 & 1.000021732757 & x < c_{n} & 0\\
17 & 1.000017567484 & 1.000021732757 & x > c_{n}, x/c_{n} \to x & 1\\
18 & 1.000008783704 & 1.000004165200 & x < c_{n} & 0\\
19 & 1.000004391842 & 1.000004165200 & x < c_{n} & 0\\
20 & 1.000002195919 & 1.000004165200 & x > c_{n}, x/c_{n} \to x & 1\\
\hline\end{array}
Clearly we now have: \begin{align} y &= \log_{10}3 = \frac{1}{2^{2}} + \frac{1}{2^{3}} + \frac{1}{2^{4}} + \frac{1}{2^{5}}\notag\\ &\,\,\,\,\,\,\,\,+ \frac{1}{2^{7}} + \frac{1}{2^{11}} + \frac{1}{2^{14}} + \frac{1}{2^{17}} + \frac{1}{2^{20}}\notag\\ &= 0.4771203994751\notag\end{align} This value agrees with actual value of $\log_{10}3 = 0.47712125471966\ldots$ upto 5 places of decimals.

The procedure above is laborious in terms of finding the square roots as well as performing division of decimals, but the nice part is that the calculation of final answer always involves repeated division by 2 and is very suitable for hand calculation. Also the labor involved in calculating square roots is a one time effort and the resulting table of square roots can be used repeatedly to find logarithms of various numbers. So in effect the real cost involved is the cost of decimal division. This method was first used by Henry Briggs to develop the table of logarithms.

Briggs method is simple to understand and does not use any ideas which are beyond a secondary school syllabus. Therefore this method could have been described in a secondary school textbook but unfortunately it is not. It only reiterates the fact that many topics of mathematics are assumed to be unnecessarily complex inspite of the fact that these are simple enough in reality (see this post).

P.S.: If we are willing to accept a little bit of calculus then square roots can also be used to calculate the natural logarithm of any number. Since we know that $$\lim_{n \to \infty}n(a^{1/n} - 1) = \log a$$ we have the approximation $$\log a \approx n(a^{1/n} - 1)$$ and now we replace $n$ by $n = 2^{m}$ to get $\log a \approx 2^{m}(a^{1/2^{m}} - 1)$.

Thus we need to perform a repeated root extraction of a number upto say 20 levels, subtract 1 from the result and then keep on multiplying the result with 2 upto 20 times. The only problem with this approach is that here we need to apply root extraction for each number whose natural logarithm we wish to calculate whereas in Briggs approach one has to calculate the square roots of the base 10 only. Thus in this approach of calculating natural logarithms the root extraction becomes the key operation whereas for the Briggs method the decimal division is the primary operation.