11
$\begingroup$

It has been a while since I started thinking about this problem: a fast method to evaluate (in an approximate way) mentally the $n-$th root of a number $N$. I'm talking about great numbers, because otherwise one could handle with the first terms of a Taylor series.

I found time ago a really cute approximation for the square root, which runs like this: you have $N$, and you always can write $N$ as

$$N = q^2 + s$$

Where $q^2$ is the nearest $N$ perfect square, and $s$ is the remainder. Trivial example: $50 = 49 + 1$.

Thanks to that, one can approximate

$$\sqrt{N} = \sqrt{q^2 \pm s} \approx q \pm \frac{s}{2q}$$

Fast example

$$\sqrt{43} = \sqrt{36 + 7} \approx 6 + \frac{7}{12} = 6 + 0.58333 = 6.58333(..)$$

Where actually

$$\sqrt{43} = 6.55743(...)$$

So somehow one may compute it mentally in a quite easy and fast way.

The $n-$th problem

I started then to think about if such a method could be generalized for some $n-$th square root. With intuition (and a lot of naiveness) I thought about a sort of "mathematical symmetry", something like

$$\sqrt[n]{N} = \sqrt[n]{q^n \pm s} \approx q \pm \frac{s}{nq^{n-1}}$$

But I don't know if that may work in general. For example:

$$\sqrt[4]{600} = \sqrt[4]{625 - 25} = \sqrt[4]{5^4 - 25} \approx 5 - \frac{25}{4\cdot 5^{4-1}} = 5 - 0.05 = 4.95$$

And surprisingly

$$4.95^4 = 600.3725(...)$$

BUT if we mind with the plus sign...

$$\sqrt[4]{600} = \sqrt[4]{256 + 344} = \sqrt[4]{4^4 + 344} \approx 4 + \frac{344}{4\cdot 4^3} = 1.34375 = 5.34375$$

Where

$$5.34375^4 = 815.4259(...)$$

So it seems like it works if we pick the correct sign namely when the remainder $s$ is quite small.

What I'm asking for is for the existence of a pretty simple form to approximate roots, namely something like

$$\sqrt[n]{N} = \sqrt[n]{q^n + s} \approx q + f(s, q, n)$$

In which $f(s, q, n)$ is some good simple function (simple = not a sum of terms, just one).

Or my "intuition" is good enough to work? (Always with picking the correct decision about $\pm$ et cetera)

Thank you all!

$\endgroup$
3
  • 1
    $\begingroup$ This is a really nice question. $\endgroup$
    – Airdish
    Commented Mar 26, 2016 at 18:36
  • 1
    $\begingroup$ There is a pretty simple form to approximate roots, called Newton-Raphson method. $\endgroup$ Commented Mar 27, 2016 at 7:37
  • 1
    $\begingroup$ Its not really about the sign, but pick the one with the least 'distance'. The smaller the 'h', the more accurate is the answer. Of course, if you are good at mental calculations, you could always use the second (h square) term of the expansion $\endgroup$
    – Shailesh
    Commented Mar 29, 2016 at 16:52

3 Answers 3

4
$\begingroup$

Let $f(x) = x^{1 \over n}$.

Then $f(N+h) \approx f(N) + hf'(N)$ becomes

$(N+h)^{1 \over n} \approx N^{1 \over n} + \dfrac{hN^{1 \over n}}{nN}$

So, if you want to approximate $600^{1 \over 4}$:

  • $4^4 = 256 \lt 600 \lt 625 = 5^4$
  • Choose $N = 5^4 = 625$ and $h = 600-625 = -25$.
  • $600^{1 \over 4} \approx 5 - \dfrac{25 \cdot 5}{4 \cdot 600} = 5.00 - 0.052 = 4.948$
  • To the nearest thousandth, $600^{1 \over 4} = 4.949$

Of course, the smaller $h$ is, relative to $N$, the better the approximation will be.

Approximation of error

\begin{align} (N+x)^{1 \over n} &= N^{1 \over n} \left( 1 + \dfrac hN \right)^{1 \over n} \\ &= N^{1 \over n} \sum_{k=0}^\infty \binom{1 \over n}{k}\left( \dfrac hN \right)^k \\ &\approx N^{1 \over n} \left( 1 + \left( \dfrac 1n\right)\left( \dfrac hN\right) - \left( \dfrac{n-1}{2n^2}\right)\left( \dfrac{h^2}{N^2}\right) \right)\\ &\approx N^{1 \over n} \left( 1 + \dfrac{h}{nN} - \dfrac{(n-1)h^2}{2n^2 N^2} \right) \end{align}

Which implies that the relative error is roughly

$100\dfrac{(n-1)h^2}{2n^2 N^2} \approx \dfrac{50}n \left( \dfrac hN \right)^2\%$

For the above example, this is $\dfrac{50}4 \left( \dfrac{25}{625} \right)^2\% = 0.02\%$

$\endgroup$
1
  • 1
    $\begingroup$ By far the best answer here $\endgroup$ Commented Mar 29, 2016 at 15:30
2
$\begingroup$

There is a pretty simple form to approximate roots, called Newton-Raphson method:

Function (input value, input degree, input num_of_iterations, output root):
    Set root = value
    Repeat num_of_iterations:
        Set temp = root^(degree-1)
        Set root = root-(root*temp-value)/(degree*temp)

Python implementation:

def Function(value,degree,num_of_iterations):
    root = float(value)
    for n in range(0,num_of_iterations):
        temp = root**(degree-1)
        root = root-(root*temp-value)/(degree*temp)
    return root

$3$ or $4$ iterations are typically sufficient for a good approximation.

$\endgroup$
2
  • $\begingroup$ Newton Raphson isn't really a "mental" method, though. $\endgroup$
    – MT_
    Commented Mar 27, 2016 at 8:04
  • 1
    $\begingroup$ @Soke: Not sure what "mental" stands for in this case, but I do agree that it is not an "intuitive" solution (which, if I understand correctly, is what OP means by "mental"). It nevertheless answer the What I'm asking for is for the existence of a pretty simple form to approximate roots part of the question, so I felt it might contribute something to this topic. $\endgroup$ Commented Mar 27, 2016 at 9:00
1
$\begingroup$

I experimented with this method on a graphing calculator. The method you are using is sound, but you are confusing yourself with the $\pm$; it is not necessary! Instead, use $$ \sqrt[n]{N} = \sqrt[n]{q^n+s} \approx q + \frac{N-q^n}{n \cdot q^{n-1} } $$

Notice the intent of the final expression. It defines a line tangent to the graph of $ f(x) = \sqrt[n]{x} $. This is known as Linear Approximation, which can be used to approximate a value on any function.

$q = f(x) $, where $ x \approx N^n $,

$ \frac{1}{n \cdot q^{n-1} } = \frac{df(x)}{dx} $ (the slope of the tangent line of $f(x)$),

and

$ {N-q^n} $ is the signed error of $x$.

The sign of the final term in the expression is not a "decision" to be made, rather it is a fact of the calculation.

Additionally, notice that the graph of $f(x)$ is concave down, where $x$ is positive. This means that your mental approximation of $f(x)$ will always be an overestimate, unless of course $f(x)$ is an integer.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .