If you want to talk about mechanical computing tools, you can’t ignore the abacus. It’s the oldest computing tool in the world; and it’s still very commonly used. It’s also about as different from the slide rule as you could imagine. The abacus is really fundamentally an addition device; the slide-rule is fundamentally a multiplier. And the slide rule is very complicated – all those different scales, in logarithmic relationships; the abacus is thoroughly simple – just beads hanging on wires. But don’t let that fool you: the abacus is is a remarkable device, which is capable of a really huge number of computations: addition. subtraction, multiplication, division, even square and cube roots.
The abacus is, basically, sort of like a *better* piece of paper. Any kind of numerical calculation that you can do using piece of paper and a pencil, you can do on an abacus; only it’s a whole lot faster on the abacus.
There are a lot of different variants on the abacus. A few examples with pictures:
1. The Chinese abacus, or suan-pan. Each column on the abacus is split into two “decks”, with five beads on the lower and two on the upper.
2. The Japanese abacus, or Soroban. Each column is split into two decks, with 4 beads on the lower, and one on the upper.
3. The Roman abacus. The basic idea of the roman abacus is similar to the soroban; lower deck with four beads, upper with one. The roman generally had seven columns, plus sometimes a couple of extras for fractions. The main different mechanically is that the roman abacus doesn’t put the beads on the wires; instead it has its beads just sitting in grooves.
4. The Lee chinese abacus (named after its inventor, Lee Kai-Chen). This looks like two small soroban stacked on top of a suan-pan. The two upper mini-sorobans are used for place-keeping and sub-calculations, and sliding markers on the beams separating the decks. The Lee calculus is a really amazing piece of work. Unfortunately, they’re quite rare. (I’d love to own one, but I’ve never been able to find one for less than $400!)
I’m going to talk about the Chinese abacus, the suan-pan. The main reason that I
prefer the suan-pan is that the way that it’s beads are set 5/2 lets you
simplify some things; you can do things like delay a carry until you’re ready;
and it makes some 5’s complement stuff easier to do.
If you’re interested in the abacus at all, I recommending looking [here][abacus-site]; it’s an absolutely wonderful website with information about all of the different kinds of abacuses (abaci?), a Java applet that simulate the suan-pan abacus; scanned images of books about how to do things on the abacus, information about where to buy yourself an abacus, and more. It’s great. The images that I’ll be using were generated using the suan-pan applet on that site.
————-
So, let’s take a look at how to do some simple arithmetic on the Chinese abacus.
First we need to see how to do basic numbers. The abacus is set to zero with all of the beads on the lower deck down against the bottom beam; and all of the beads in the upper deck pushed up against the upper beam, like so: *(Commenter JuanCarlos pointed out that I messed up the original version of this image; I didn’t line up correctly, and as a result, didn’t have any beads down in the upper deck of the fifth column, so instead of being 5, it was 0. Thanks for the catch!)*
To read numbers, each column represents one decimal digit. Each bead on the lower rack moved up counts adds one to value in the column; each bead on the upper rack moved down counts adds “5” to the column value. So in the following image, the columns from left to right read 9 (4 lower + 1*5 upper); 8 (3 lower + 1*5 upper), 7, 6, 5, 4, 3, 2, 1:
To add on an abacus, you use basically the same process as adding on paper: you move from right to left, adding numbers in each column. You start by putting the first of two numbers to add in the columns to the right. Then, for each digit in the second number from right to left, you move beads to represent your addition. To add 1, move one bead from the lower deck up; when all five beads on the lower rack are up, you move them all down and lower one bead from the upper deck. When both beads on the upper deck are down, you can move both of them back up, and raise one bead from the lower deck of the next digit to the left.
That will become clearer after an example. Suppose we want to add 47281 + 23153. We’ll start by putting 47281 onto the abacus:
We start at the right-most column. We want to add three there; so we move three beads up on the lower deck:
Now we move to the next digit. To add 5, we can just lower one bead on top. Since that gives us two beads on the upper deck, which means that we need to carry one to the next column. So we raise both beads on the upper deck of the second column, and raise one bead from the lower deck of the third column. So far, the abacus reads 47334:
In the third digit, we want to add one, so we raise one bead in the third column. The abacus now reads 47434:
We move on to the fourth column. We need to add 3, so we raise three beads on the lower deck. That gives us five raised beads on the lower deck. So we can lower all five beads, and also lower one bead from the upper deck. The abacus now reads 4(10)434:
With two beads down on the upper deck, we need to carry one to the left. So we shift them up, and add one to the lower deck of the next column, so that we correctly read 50434:
Now, we finally move on to the fifth column. Since the lower deck has 5 beads up, we can lower all of the beads on the lower deck, and one from the upper deck. Then we add two. So we wind up with 70434:
See? It’s basically exactly the same as addition on paper, only we’re moving beads instead of writing down numbers. It’s the same mechanism; right-to-left adding digits, carrying one to the left each time a digit is 10 or higher.
There’s one neat trick that you can use on the abacus to make things easier, based on fives-complement arithmetic. In base 5, adding a single digit in the *i*th position is equivalent to adding 1 to the the digit in the *i+1*th digit, and subtracting (5-n) to the *i*th digit. So, for example, if we have 3241 in base 5, and we want to add 4 to the third digit (2), we can do it by adding one to the fourth digit, and *subtracting* 5-4=1 from the third digit, giving us 4141.
On the abacus, we can use this trick. The two decks in a single column are effectively two base-5 digits. So adding n to a column is the same as *lowering* one bead from the upper deck of that column, and *lower* 5-n beads from the lower deck of that column.
For example, if we’re adding 34 + 53, we’d start with 4 raised beads in the lower deck of the first column; and 3 raised beads in the lower deck of the second column. We want to add 3 to the first column; we can do that by lowering one bead from the upper dock, and two beads from the lower deck. That basically means adding five and subtracting two – which is adding three. Many things can be done much faster on the abacus by playing with fives-complement this way.
[abacus-site]: http://www.ee.ryerson.ca/~elf/abacus/
Okay, so the Soruban is explicitly base-10; you can only represent up to 9 in each column. You have to carry immediately, though, moving the upper deck as soon as you go past 4 on the lower deck, and moving the next column as soon as you go past 9. I see how the Suan Pan lets you ‘store’ the carry for a while, so you can do it when convenient.
As for the 5-complement business, I would guess that this is mostly employed to eliminate carrying? Depending on the size of the number you’re adding to a particular digit, you can either do it forward (normally) or backward (using the 5-complement) to avoid having to mess with carries as often. Can you eliminate all carries with this, or do you just eliminate most?
And one small nitpick: The two registers can’t be thought of as two base-5 numbers, but rather as a pairing of a binary digit and a base-5 digit. Using them together creates a base-10 digit. If they were both base-5, you’d get a combined base-25 digit.
Aw, you didn’t get to the other scales on the slide rules: Trig, canned conversions, stats, special purpose rules, and maybe 10^-40 : 10^+40 on the decimal keeper scale at http://www.antiquark.com/sliderule/sim/n904t/virtual-n904-t.html — large enough to cover lengths from sub-planck scale to beyond the observable universe: http://en.wikipedia.org/wiki/Orders_of_magnitude_(length)
Xanthir:
I considered whether to say two base-5 values or to be more precise; I decided that it was reasonable to think about the upper deck as a base-5 that just never got incremented above
2. The 5s complement doesn’t actually eliminate carries. Looking back at the article, I wasn’t very clear. The 5s complement is actually just a physical motion optimization. In adding 3+3, instead of sliding up two on lower, down one on upper, down all five on lower, then up 1 on lower, it’s one motion: down one on upper, and down 2 on lower. If you’re good at the abacus, you use your thumb on the lower deck, and your first finger on the upper, and you just put both fingers on the right beads and push them down at the same time. It’s *very* fast; faster than you even think about the numbers.
The 6th column of the second image (when the “simple arithmetic on the Chinese abacus” begins) red 0 (zero), right?
So the columns from left to right read 9, 8, 7, 6, 5, 0, 4, 3, 2, 1… or am I wrong?
JuanCarlos:
You’re right; I made a mistake in the simulator when I snapped the image; there was suppose to be one bead down in the upper deck. I’ll correct it; thanks.
Ah, I see. It sort of reduces carries within a column (from the lower to the upper register), but not between columns. Still a big labor saver (as you showed).
I was just wondering, where did you get the abacus program?
jivemasta:
Sorry, I meant to include a link! There’s a wonderful website full of abacus information, including the Java applet that I used to generate the images, at http://www.ee.ryerson.ca/~elf/abacus/.
I have a home-made hex/octal/binary abacus,
Split 7/2. That nerdy enough for you 😉 ?
Nice post! So where does one get an abacus? I saw a few on Amazon and some other sites, but I’m wary buying something like that online. I’d want to check the construction and stuff, make sure it ain’t going to fall apart. Any nat’l brick and mortars carry them, or is there a particular brand you recommend?
PR
Patrick:
I just tried ordering one from amazon, to see what it’s like. I’ll let you know if it’s any good.
In general, the best way to get a good abacus is to head for a chinese market, if there’s one near where you live. They’ll have an assortment made of different sizes and materials, and their prices will be better than what you’d typically find online.
I’m also doing some experimenting with building a Lee abacus myself. If I can find cheap materials that turn out well, I’ll post the plans.
There were counting boards even before the abacus [Jacksonville University].
http://users.ju.edu/ssundbe/salamis.html
Charles Seife in ‘ZERO: the biography of a dangerous idea’ discusses the Greek knowledge of 0 as a placeholder, possibly borrowed from Babylonia on pages 37-39. Figure 2 page 15 demonstrates Babylonian use of 0 while Figure 1 page 14 lists two Greek methods of counting with one style similar to Roman numerals and the other style apparently using a part of the alphabet as numeric symbols sometime around 300-500 BCE. This is nearly a thousand years before the introduction of Arabic numerals.
Since Arabic numerals were apparently first developed in Hindu India ~ 400 BCE [1], one can speculate if there was some type of Indo-European numeric system throughout all lands the civilizations of these languages occupied. Both the Greeks and Romans were great engineers which would be cumbersome with only Roman numerals available. Perhaps this was state secret information?
[1] http://en.wikipedia.org/wiki/Arabic_numerals
Thanks Mark!
I recall regularly watching the cashier at my favourite sushi joint check her math on an electronic calculator with an attached abacus. She’d tally with the electronic calculator part and then double check the result with the abacus bit.
I have problem sheet generators on my web site:
Addition and subtraction:
http://www.uitti.net/stephen/soroban/soroban_sheets.pl
Multiplication:
http://www.uitti.net/stephen/soroban/multiplication.pl
Of course, you can use multiplication problems for division.
The idea here is that the app is up on a web site somewhere, you ask your browser to print the results. No installation. No advertisments. Pretty fast.
Your post triggers a flood of childhood memories. I learned arithmetic on the Chinese SuanPan when I was six, before I started elementary school when I learned it on paper.
I’ve written up how abacus addition is really done in a post on my blog:
http://www.weiqigao.com/blog/2006/10/03/real_world_arithmetic_on_the_abacus_part_i_addition.html