Hark and gather, for I have performed labors that only Veeky Forums might favor:

I stumbled upon location arithmetic and thought I might be able to use it to learn something applicable to an unrelated project, but after I read the rest of the page I found that square roots was missing. Some searching on Google revealed that no websites had information on square roots and that all used the same source material, and so I decided to reproduce the missing section from Napier's Rabdologiæ.

I was dissatisfied with the remainders left by Napier's method and so I decided to expand his work. Presented are two methods I've devised for computing square roots to an arbitrary precision with a known remainder. I seem to be the first person to have generalized this process.

Next, move the highest value, perfect square calculi to the diagonal of perfect squares. In some cases you will need to use the next highest value, perfect square calculi if the remaining calculus do not have high enough values for the next step.

Next, place three calculus such that they form a square pattern with the first calculi. It may be necessary to skip over some number of rows or columns to accomplish this.

Note: This is where Napier's method stops calculation because of the lack of space.

The counter is on the seventh row and so the answer must be shifted right (halved) seven times and the remainder must be shifted to the right fourteen times.

Final answer: ec+1/c+1/d+1/e+1/f+1/g+1/h Final remainder: 1/e+1/i+1/j+1/+1/k+1/l+1/m+1/n+1/o

I carried out the calculation one step past this, but for clarity I'm going to stop here instead.

The answer is read off of the middle line (the one with "a" on the diagonal of perfect squares) and the remainder is read off of whichever line it's on (in this case the bottom row)

Lucas Long

I'm confused when you do this stepHow do you determine when to stop shifting and how do you determine where to add pieces to the square and how do you get the new bottom row?

Benjamin Sanchez

The easiest way to explain it would be that you attempt to place the calculi each time you've shifted the board. The remainder isn't large enough to place all of the calculi required by the next step and so we shift again for better resolution.

The new bottom row is the old bottom row doubled twice as part of shifting the board

Michael Young

I think I misunderstood your question. You subtract the values of the calculus placed in the square from the bottom row. Check out that wiki page to learn the basic arithmetic for location numerals

Parker Russell

After playing around with it, I figured out what was going on.

It's pretty nifty. After doing n places, you need to check the 2n+1 spaces around the edge to see if a shift is required.

The offset between the remainder and the edge of the square hints at how far the next shift will be. The hardest part is doing the subtraction lol.

Leo Thompson

Nailed it. Really well put too. I'll probably use that when I write the wiki section

Jose Smith

in the time to make the second table and cut/place the pieces of paper you could have learned a simple programming language and implement the algorithm on any sized grid and also cleanly formulate it so you dont need to draw anything

Liam Lopez

You're cute, OP

Parker Myers

I might do up a calculator program for fun and portability, but that was not the point of this exercise

Jace Martinez

I hope that hairy shit in the bottom of the pic isn't your pubes

To simplify the calculation, I only keep track of the remainder, r, and the edge of the square, x, as well as the shift value. This only requires two rows instead of the whole square. Loop{ If 2x+1> r, shift=shift+1, x=2x r=4r Else x=x+1, r=r-(2x+1) } return x/2^shift

Charles Myers

Oops I did the else wrong. It should be to find sqrt(r): shift = -2*floor(log(r)/log(4)) r=r*(2^shift) x=0 Loop{ If 2x+1> r shift=shift+1 x=2x r=4r Else r=r-(2x+1) x=x+1 } return x/(2^shift)

Sebastian Edwards

That's a neat innovation. It also reduces the space necessary for a calculation.

The square that's formed seems to be a fractal pattern which makes me wonder if fractals can be used for efficient calculation and what value this particular fractal will be centered around, if any.

Julian Murphy

I suspected the math was a little funny. Good catch

Aaron Bailey

I can do cube roots too! shift = -3*floor(log(r)/log(8)) r=r*(2^shift) x=0 Loop{ If 3x^2+3x+1> r, shift=shift+1, x=2x, r=8r Else r=r-(3x^2+3x+1), x=x+1 } return x/(2^shift)

Jace Johnson

Nice. It looks like your method can be generalized for any radical. I'll play around with that concept in a bit. I suspect that larger radicals get out of hand quickly in a physical medium so I might try to incorporate extended form numerals to keep the calculation area compact