The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » sci.math.* » sci.math

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Root
Replies: 21   Last Post: Jul 14, 1999 3:46 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
William L. Bahn

Posts: 1,134
Registered: 12/6/04
Re: Root
Posted: Jul 11, 1999 12:06 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

I know that some very good algorithms exist for extracting roots by hand,
but if you gave me a blank piece of paper and this task and did not give me
the opportunity to search out one of those algorithms (the infamous, "You
are stranded on a desert island and ..." scenario) then this is how I would
approach it extracting square roots).

Let's assume that I am comfortable with the multiplication tables through
the tens.

Given a number, say 1894, I want to find the number x that, when square,
yields this number.

I know that this can be written as:

18*100 + 94

I also know that x can be written in the form

x = 10a+b

so that

x^2 = 100a^2 + 20ab + b^2

Equating the first terms, I know that "a" must equal the square root of the
largest perfect square that is smaller than 18. So I know that a=4.

Using this, I now have:

x^2 = 1600 + 80b + b^2 = 1894
b^2 + 80b = 294

The largest that "b" can be is either sqrt(294) or 294/80. Since "b" is a
single digit, the limit is going to be imposed by 294/80 in this case, which
is between 3 and 4. So me upper limit is 3. Plugging this in, I get

294 - (9 + 240) = 45.

So I have a=4 and b=3 and (1894 - 43^2) = 45

Now I will play a slight twist on the game I played above:

I know the following from my prior work:

1894 - 43^2 = 45 => 43^2 = 1849

(x-43)^2 = x^2 - 2(43)(x) + 43^2
(x-43)^2 = 1894 - 86x + 1849
(x-43)^2 = 3743 - 86x

x = [ 3743 - (x-43)^2 ] / 86

Now, I don't know what (x-43)^2 is, but I do know that 0<(x-43)<1, so it's
square is even smaller. So ignoring it will have only a small impact.

x = 3743 / 86

I can carry this division out to as many decimal places as I want, although
I know that there is an error associated with ignoring the (x-43)^2 term
above. So I can't get too carried away. I know that the numerator is
affected in the fifth sig fig and the denominator has no error in it, so I
should get an answer to four or more sig figs with this step.

Doing this for four sig.figs. I get

x ~= 43.52

Another way I could have gotten to this point is to note that

x = 43 + y where 0<=y<1

x^2 = (43+y)^2 = 1849 + 86y + y^2 = 1894

Again, noting that y^2 is less than 1, we have

y = 45/86

We only pick up two sig. figs. in y, which is consistent with four sig.
figs. in x.

Doing this division to two sig. figs. gives us

y = 0.52

which is what we would expect.

Now, is our estimate too big or too small. It is too big (ignoring the
rounding that went on at the last sig. fig.) since our actual numerator was
smaller than the one we used. Personally, I like working with positive
values (less chance of stupid errors) so what I should have done was simply
subtract one from the numerator and been sure to round down. If I go back
and do that, I get.

y = 0.51

And, as expected, the second digit is pretty good and any third digit we
might have calculated would have been junk.

We can keep on playing this same game, and each time we will probably pick
up a couple of sig figs.

Our next step would be the following:

43.51^2 = (43^2) + (86*0.51) + (0.51)^2
= 1849 + 43.86 + 0.2601
= 1893.1201

x^2 = (43.51+y)^2 = 1893.1201 + 87.02y + y^2 = 1894

We know that 0.00 <= y <= 0.01, so we will take y at it's maximum value and
subtract off 0.0001 to ensure that we stay below the actual value.

87.02y = 1893.9999 - 1893.1201 = 0.8798

y = 0.8798 / 87.02

On this one I am allowed four sig figs, so I'll take them.

y = 0.01011

I now have

x~= 43.52011

Prasanth Kumar wrote in message ...
>There might be more efficient ways but one method is the itterative
>application of "newton's method". Newton's method attempts to find
>the zeros of a function with an initial guess getting closer with each
>itteration. Thus you would use this on a function f(x)=x^2-n
>where n is the number you want to find the root to. Obviously you
>would need to do math at the desired precision level (eg. 80 decimal
>points) to do it accurately.
>User <> wrote in message

>> Does anyone know how to go about doing a square root or cube root
>> calculation?
>> If I gave you a number (no calculators), and a blank piece of paper,
>> can you describe the steps one by one how you go about calculating
>> the cube or square root? (or any root for that matter).
>> I also assume I can say... I want it to a precision of 80 decimal points.
>> You would go about using your method and you would come up with
>> 80 decimal points (or less if it rounds off perfectly).
>> Where can I find procedures on doing this? Is there a very simply
>> way to do this? using basic operators (no log sin cos, etc).
>> Thank you.
>> Thank you.


Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.