Calculating Any Root
Date: 10/13/97 at 18:07:00 From: Lee Tat Subject: Calculating any root I need to find an algorithm to determine any root of a number, i.e. the 3rd root, 4th root, 5th root, or any root. I was told I could determine the estimated value by using Newton's Method. Can you help? I don't remember what Newton's Method is. Any information you can provide would be appreciated. Thanks, Lee
Date: 10/14/97 at 13:54:24 From: Doctor Tom Subject: Re: Calculating any root Hi Lee, There's a trivial way to take the n-th root of a number using logarithms. root = antilog(log(number)/n) So to take the fifth root of 37, find: antilog(log(37)/5) = antilog(3.61091791264/5) = antilog(.722183582528) = 2.05892413648 (according to my calculator). To check, when I multiply 2.05... by itself 5 times, I get: 37.0000000002 - pretty good. Newton's method works for any function, so it's more general than the method above. What you're trying to do is to solve the equation: x^n - number = 0 where you're trying to take the n-th root of "number". For the example above, you're trying to solve: x^5 - 37 = 0. Newton's method is used to solve equations of the form f(x) = 0, so in this case, f(x) = x^5 - 37. It works by taking an initial guess g-old and getting a new guess g-new using this equation: g-new = g-old - f(g-old)/f'(g-old) where f' is the derivative of f. Repeat this operation over and over and the method will zero in on the root. For the example x^5 - 37 = f(x), f'(x) = 5x^4, so the iteration is: g-new = g-old - (g-old^5 - 37)/(5g-old^4). Suppose (same example), that your first guess is 3. The next guess is: 3 - (3^5 - 37)/(5*3^4) = 2.49135802469. Plug 2.49... in as the old guess and get the next approximation: 2.18516863143 Next guess: 2.07269258474 Next guess: 2.05910584704 Next guess: 2.05892416855 Next guess: 2.05892413648 which is accurate to 10 places. -Doctor Tom, The Math Forum Check out our web site! http://mathforum.org/dr.math/
Date: 05/02/2005 at 17:44:51 From: Jack Subject: Dont understand antilog and relations to root calculations When I did the log(37) in the link above, I got 1.568201724, not the number you received. What am I doing that's different than your method? Also, what is antilog? It's apparently important in the link and there's no antilog on my calculator. I would like it if you could tell me what it is or its numerical value so I can complete the problem.
Date: 05/02/2005 at 23:11:26 From: Doctor Peterson Subject: Re: Dont understand antilog and relations to root calculations Hi, Jack. Dr. Tom apparently used the natural log ("ln" on the calculator) rather than the common log ("log" on the calculator) in his calculation. It doesn't matter which log you use, as long as you use the corresponding antilog; you'll get different intermediate numbers but the same end result. The antilog of the common logarithm is 10^x, and the antilog of the natural logarithm is e^x. (The Windows calculator accessory uses "inv log" and "inv ln" for those functions, making it clearer that they are the inverses of the logs, or antilogs, but harder for someone who doesn't already know that to figure out how to do exponential functions.) So Dr. Tom did the following (supposing he used the Windows calculator, for the sake of choosing a readily available standard): 37 ln / 5 = inv ln but he could have done this to get the same final answer: 37 log / 5 = inv log In the latter case, the work as he wrote it would look like antilog(log(37)/5) = antilog(1.568201724/5) = antilog(0.3136403448) = 2.05892413648 If you have any further questions, feel free to write back. - Doctor Peterson, The Math Forum Check out our web site! http://mathforum.org/dr.math/
Search the Dr. Math Library:
Ask Dr. MathTM
© 1994- The Math Forum at NCTM. All rights reserved.