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

Emberfire

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æ.

en.m.wikipedia.org/wiki/Location_arithmetic

This is a translation of Napier's book. Flip to the back for the bit on square roots
sliderulemuseum.com/Papers/Napier_John.Rabdologiae.1617.Edinburgh.pdf

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.

Attached: IMG-20180318-215630~2.jpg (92 KB, 594x417)

TalkBomber

To find the square root of 420, first convert the value to abbreviated form and place the value underneath the bottom row:

420-256= 164
164-128= 36
36-32= 4
4-4 = 0

420= cfhi

Attached: IMG-20180317-162605~2.jpg (124 KB, 688x500)

DeathDog

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.

Attached: IMG-20180317-162937~2.jpg (131 KB, 697x525)

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.

Attached: IMG-20180317-163455~2.jpg (114 KB, 660x485)

Stupidasole

This is the final step to Napier's method which clarifies the answer as ce with a remainder of ce.

Attached: IMG-20180317-163720~2.jpg (110 KB, 646x486)

Illusionz

k

Booteefool

My first method shifts the calculi and their values to make more space to perform calculation.

A marker is placed next to the right column to track the number of shifts. This marker is moved up one square each time the board is shifted.

The square marked out on the board is shifted up-left each time, corresponding to the value being doubled twice, once for each side.

The remainder is shifted left twice each time, corresponding to the value shift of the square.

Attached: IMG-20180318-170123~2.jpg (128 KB, 812x578)

King_Martha

After each shift calculus are added to the board in the same manner as before

Attached: IMG-20180318-170702~2.jpg (115 KB, 694x529)

SomethingNew

Continue until complete or an arbitrary precision has been reached

Attached: IMG-20180318-170819~2.jpg (175 KB, 858x649)

takes2long

Attached: IMG-20180318-170936~2.jpg (156 KB, 819x615)

Bidwell

To expedite this I'm going to combine a few steps

Attached: IMG-20180318-171509~2.jpg (146 KB, 845x623)

Inmate

Attached: IMG-20180318-171922~2.jpg (156 KB, 824x599)

Attached: IMG-20180318-172354~2.jpg (95 KB, 668x492)

Burnblaze

This is as far as I carried out the calculation because of space limitations.

The answer and remainder are represented by the values on and under the bottom row

Shifted remainder: abcdefg

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 remainder: 1/e+1/i+1/j+1/+1/k+1/l+1/m+1/n+1/o

Attached: IMG-20180318-173012~2.jpg (126 KB, 694x528)

Evilember

My second method uses an expanded grid to create space for calculation

Attached: IMG-20180318-191837~2.jpg (159 KB, 638x702)

Flameblow

The process is the same as the other method without shifting so I won't post an explanation

Attached: IMG-20180318-192154~2.jpg (177 KB, 662x725)

TalkBomber

Attached: IMG-20180318-192746~2.jpg (178 KB, 719x774)

SniperWish

Attached: IMG-20180318-193714~2.jpg (168 KB, 665x705)

WebTool

Attached: IMG-20180318-194151~2.jpg (163 KB, 646x694)

TurtleCat

Attached: IMG-20180318-200516~2.jpg (178 KB, 684x723)

RumChicken

Attached: IMG-20180318-202101~2.jpg (169 KB, 668x690)

StonedTime

Attached: IMG-20180318-203100~2.jpg (169 KB, 654x699)

TechHater

Attached: IMG-20180318-211814~2.jpg (171 KB, 622x702)

eGremlin

Just use Newton's method, kid.

FastChef

Attached: IMG-20180318-213532.jpg (400 KB, 720x1280)

he said, completely missing the point

Dreamworx

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)

Boy_vs_Girl

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?

5mileys

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

idontknow

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

Burnblaze

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.

StonedTime

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

kizzmybutt

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

Skullbone

You're cute, OP

Snarelure

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

Flameblow

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

New_Cliche

wtf are you even talking about OP

Attached: 1516484272808.png (99 KB, 609x714)

Crazy_Nice

Which part are you having trouble with?

Dreamworx

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

Skullbone

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)

CodeBuns

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.

Stupidasole

I suspected the math was a little funny. Good catch

eGremlin

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)

Boy_vs_Girl

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