Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

A method to compute roots other than sqrt.

  1. Mar 11, 2006 #1
    is there a method to compute roots other than sqrt?, like 10th root or 13th root of a number?

    and, what are they?
     
  2. jcsd
  3. Mar 11, 2006 #2

    VietDao29

    User Avatar
    Homework Helper

    This one is a good candidate for Newton's method. We choose an arbitrary value x0, then use:
    [tex]x_{n + 1} = x_n - \frac{f(x_{n})}{f'(x_{n})}[/tex].
    And then let n increases without bound to obtain the answer.
    [tex]x = \lim_{n \rightarrow \infty} x_n[/tex].
    For example:
    Find [tex]\sqrt[3]{4}[/tex]
    Let [tex]x = \sqrt[3]{4} \Rightarrow x ^ 3 = 4 \Rightarrow x ^ 3 - 4 = 0[/tex]
    We then define f(x) := x3 - 4.
    Say, we choose x0 = 1, plug everything into a calculator, use the formula:
    [tex]x_{n + 1} = x_n - \frac{x_{n} ^ 3 - 4}{3 x_{n} ^ 2}[/tex].
    and we'll have:
    x1 = 2
    x2 = 1.6666667
    x3 = 1.5911111
    x4 = 1.5874097
    x5 = 1.5874010
    x6 = 1.5874010
    ...
    So the value of xn will converge quite fast to [tex]\sqrt[3]{4}[/tex], as n tends to infinity.
     
  4. Mar 11, 2006 #3

    matt grime

    User Avatar
    Science Advisor
    Homework Helper

    Of course, the most obvious question is 'what is this method you have for computing arbitrary square roots'
     
  5. Mar 13, 2006 #4

    jim mcnamara

    User Avatar
    Science Advisor
    Gold Member

    FWIW - Logarithms work well for this. Especially if you're a programmer, and are happy with the inherent imprecision of floating point numbers.

    If you take
    result = (log(x) / n)

    and then convert the result back ie.,

    nth_root = exp(result)

    you can generate all roots of x.
     
  6. Mar 13, 2006 #5
    If you're doing fractions then you can use Newton's binomial expansion

    For instance, work out the fifth root of 31 by expanding [tex](1+x)^{\frac{1}{5}}[/tex] with x = -1/32

    [tex](1+x)^{\frac{1}{5}} = 1 + \frac{1}{5}x + \frac{1}{5}\left(-\frac{4}{5}\right)\frac{1}{2!}x^{2} + ....[/tex]

    Put in x = -1/32 (which gives excellent convergence) to get

    [tex]\left( \frac{31}{32} \right)^{\frac{1}{5}} = 1 + \frac{1}{5}\left(-\frac{1}{32}\right) + \frac{1}{5}\left(-\frac{4}{5}\right)\frac{1}{2!}\left(-\frac{1}{32}\right)^{2} + .... = 1 - \frac{1}{160} - \frac{1}{12800} = \frac{12719}{12800}[/tex]

    [tex]\frac{(31)^{\frac{1}{5}}}{2} = \frac{12719}{12800}[/tex]

    [tex](31)^{\frac{1}{5}} = \frac{12719}{6400}[/tex]

    In decimal form this is 1.9873475. Raise it to the 5th power and get 31.00023361. A nice approximation for 2 minutes work.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?