# Counting Boards And Frames, Design And Praxis

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
I haven’t been able to find any coherent threads on this forum discussing calculi and free-form abaxes, the slotted Roman hand abax, ancient Chinese counting rods, counting frames like soroban / suan pan, European counting tables with jetons, the origins of modern backgammon and checkers boards, the lead-up to double-entry bookkeeping, etc. Which seems a bit weird, as these tools are much more amenable to experimentation with different positional number bases than written Hindu–Arabic style arithmetic is.

It’s clear that historically most people did calculation using some form of counting board or frame, and then wrote their finished calculations down using some symbols (roughly) directly representing the state of the counting board. The evolution of tally marks into unique symbols for each numeral (or the adoption of alphabetic letters for numbers) was a more recent development, often initially somewhat incoherent, and probably at first just used for recording calculations still done by abax. But the precise instructions/methods and most of the materials for doing the counting have by now been lost, since the former were mostly transmitted as an oral culture (much like early music, etc.) and the latter were often made of wood, cloth, hides, or lines in the dirt, etc. or confused by archaeologists for game boards and pieces.

Anyway, I’m curious to hear how people set up counting boards, ideally with some pictures of what is involved. There are many possibilities, including using two-sided counters or multiple types of counters, arranging various kinds of grids and assigning the sections of the grids multiple meanings, putting multiple counting boards side by side, using counting boards for accumulation with other scratch work done using pen+paper arithmetic to the side, etc.

* * *

This is all apropos of an interesting site I came across by Steve Stephenson, a retired engineer (and more recently a retired secondary school math teacher) who spent a decade or two researching ancient counting boards and speculatively inventing possible algorithms for them.

His specific speculations are vaguely plausible but probably not quite historically accurate (again, there’s not a whole lot of direct evidence from, say, 500 BCE, or even 1000 CE), but I thought the system he worked up was pretty interesting.

His page is here http://ethw.org/Ancient_Computers

Looking at the Salamis Tablet and the Roman hand abacus and various Babylonian cuneiform tablets with sexagesimal numbers written on them, he speculates (a bit fancifully perhaps) that the basic form of the counting board went unchanged for ~2 millennia, and was very similar to the form of the Salamis tablet, originally designed for sexagesimal computations and later repurposed for decimal computations by the Greeks and for duodecimal fractions by the Romans. (Stephenson speculates that the Romans would use a {2:2:3} base for duodecimal fractions, but I personally recommend {4:3})

Salamis Tablet:

Here’s an example demonstrating his way of writing 1946d on such a table:

He proposes using the left column for negative counters, and the right for positive, allowing a significant reduction in the number of counters needed to represent any given number, and suggests that this is the origin of the IV = 4, IX = 9 conventions in writing Roman numerals, and certain unusually notated cuneiform numbers.

E.g. he proposes {A, B, C, D} in the above represent 19, {E, F, G, H} represent 18, and {I, J} might represent 18;20 (i.e. 20 – 1 – 0;40)

He then suggests that the extra grid lines at the top could be used to store an exponent, so that the full number would be “floating point”, think of scientific notation.

For solving multiplication and division problems, he proposes putting three such two-column grids side by side.

Anyway, I wouldn’t suggest that Stephenson’s speculation is necessarily historically accurate, but I think it’s a pretty nice setup for practical arithmetic, well worth trying, especially by anyone trying to come to grips with sexagesimal or similar bases.

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
For those interested in abaxes, general arithmetic methods/tricks, or particularly the design of a fixed-frame soroban / suan pan style abacus, I’d also recommend Parry Moon’s book The Abacus https://amzn.com/0677019602/. Among other things he proposes using counting frames with more beads than necessary (multiple representations for specific numbers), frames with several sections (e.g. using beads with values 1, 2, and 5 for decimal arithmetic), sections with “negative” beads, etc.

He tries to semi-systematically study the “bead efficiency” of various addition/subtraction operations on particular devices (how many beads and how many groups of beads must be moved for given arguments).

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM

wendy.krieger
wendy.krieger
One can understand a good deal about number notation, if one supposes the purpose of this is to populate a stone-board.

We suppose that for a right-handed operator, the smallest point is on the lowest right hand side, they progress upwards, and then leftwards. The board does not have to be read that way, one can read from bottom to top in the columns, (four-and-twenty, for example).

If the numerals represent spots on the stoneboard, you do not need an empty column marker, but an empty-bag marker is still useful. The egyptians did not need to show the zero in 108, but they do need to show 0 in that number.

The chinese fashion of reading medial but not trailing zeros, is also an example. The number 5040 would be read 5m04, meaning start 5 in the thousand column, then go 0, 4 in the next columns.

One might note here, that when DoubleSharp is showing the workings of arithmetic, his calculations start at the most significant column, and works across, whereas we in the west are taught to start at the units. So his calculations have a slant like \, while ours slant thus /.

The first of jrus's posts shows english and roman abacuses side by side, giving hint on how the OE and Wendy derive different words for 'thousand'. The arguments about hundred, thousand, etc, as basis of columns of abacus, and the carry rules are based on this sort of thing.

wendy.krieger
wendy.krieger
If we use stones representing +1 and -1, then the set Z can be represented.

If we now suppose infinite carryless columns, then the set ZP1 is represented. For columns to the left of the units column, this would then represent the $$\Sum z_n x_n$$ where z is in Z.

If we now suppose a carry, in the form of 1x^c to any combination of stones to the right, we have effected a solution in some equation, based on ZP1 mod some polynomial. This is how one makes an abacus in terms of some irrational polynomial.

The numbers that can be represented on this ZP1 mod P system, is the span of the polynomial. So we have, if P is the polynomial x^3 = x^2 + 2x - 1, then any number in the form of ax^2 + bx + c where a,b,c in Z, is in the set SP, the span of P.

The possible sets ZP1 mod P, merge to form the 'algebraic integers', which we shall call the set Y. The intersection of the sets Y and Q is Z: any rational algebraic integer is a regular integer. Every element of the set Y divides some number in Z, and this can be determined by the determinate of the number Y.

Note that if P is a prime polynomial, the only member of the span of P that has a zero determinate is 0.

Since the modulo polynomial is a carry rule, we essentially get a view of not just the roots of the equations, but all sorts of interesting things.

The equation x³ = 2, admits a carry of 1000 = 2. The cube of 11 is 1331, which is equal to 333. One notes that 11 itself is not a multiple of 3, but its cube is. Also 10³ = 1000 = 2. One notes here that 10 and 11 are 'direct' primes, in as much as there is a power of the number which is the product of a prime and a unit.

The equations x^n = -1, form the cyclotomic numbers CZn, or the eutactic stars of the polygon {n}. In general, this polynomial is composite, and is the product of 'algebraic roots' of the even divisors of 2n. This is used somewhat in geometry, but there is a more useful set.

The number formed by a = 1,0;1 represents the shortchord of the polygon {n}, is something i use very heavily. The series that this equation forms the chords of the polygon {n}, and represents the real part of the CZn, called Zn.

Dozens Demigod
icarus
Dozens Demigod
Joined: Apr 11 2006, 12:29 PM
It is a good thing to try and understand our predecessors' computation instruments. People often look down on those who came before us, especially if it's thousands of years. They didn't have anesthesia or automobiles, cell phones or video games, they didn't have "science", goes the thinking. Yet they were as intelligent as we are today and likely had superior memory for they never relied on audio and video recording.

I like to think of the number base as one of the "fundamental machines", only intellectual, like a mental lever. It is reasonable to think that a brilliant specialist might've devised these instruments and that their use became as important as today's computers among at least the elite, maybe many merchants.

We can learn a lot from these instruments. They won't supply everything we need to know, and we have to be careful about conjecture, but it is plausible that very bright people found ways to do quite a lot with them, since they likely attracted brilliant people, and the "intelligence" "arms race" between rival groups likely necessitated innovation to make computation more efficient and easy.

Wouldn't it have been nice if someone kept the "instruction manual" to the Salamis Table? The users probably scowled and never read it and crammed it back into the amphora with the extra counters.

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
And more to the point for modern use:

(1) We should stop teaching children (and everyone else) that e.g. Roman numerals were an incompetent system designed by people who couldn't comprehend place value and had an understanding of numeration which left them barely capable of basic computations like multiplication or division.

(2) We should teach children to compute mechanically before (or at least concurrently as) we try to teach them pen and paper methods. There's a huge pedagogical benefit to taking abstractions one step at a time instead of making 5 unexplained leaps of inference at once and expecting them to intuit the whole chain of reasoning. Mechanical methods make it easy to take steps like (possibly in another order):

- first count objects directly
- then make piles of representative counters, and learn to add piles
- learn to solve subtraction problems first explicitly as inverse addition (find the number to add so that both sides are the same)
- learn multiplication as a combinatorial matching of pairs of counters in two piles
- then put the counters into groups and count the groups
- we can then shortcut addition by adding piles and singles separately
- we can shortcut subtraction by subtracting piles; if we run out of singles, we can break up a pile
- we can shortcut multiplication by taking combinations of singles with singles, piles with singles, and piles with piles (these multiply to a bigger type of pile, whose size we can find by matching each single in a deconstructed pile with the other pile)
- talk about doubling and halving as concrete operations, relate doubling to multiplication and show how halving is the inverse operation
- at this point we can probably introduce general division as inverse multiplication; explicitly try to count up the size of the quotient until the product of quotient and divisor is the same size as the dividend
- make our work much easier by replacing each pile with a single counter representing the pile. whenever we get a pile we can replace it with a higher-order counter, and whenever we need extra lower-order counters we can break one apart into a pile
- notice that we can keep replacing piles of higher-order counters with new single counters representing new types, and thus represent bigger and bigger numbers
- extend our concept of division down past the units, showing how we can create a type of counter representing a fraction of a unit, and break the unit up into a pile of fractional counters, notice how addition, subtraction, and multiplication work just fine for these fractional counters, except that when we multiply a fraction times a fraction we need to break it down to yet a smaller type (this is a subtle point which even many adults don't properly understand)
- draw a grid of some kind on paper, and show that we can use position on the grid as an alternative to various types of counters
- show how we can make an explicit notion of "anti-counters" which cancel 1:1 with regular counters, and thus simplify subtraction
- see how this allows us to sometimes get "negative number" results, if we are left with a pile of anti-counters after an addition/subtraction operation.
- show how anti-counters multiply like (–1)(–1) = 1
- introduce a concept of "floating point", an integer exponent which shifts a whole number toward meaning something larger or smaller. Show how multiplication of numbers involves addition of their exponent part.

In a separate track we can talk about writing systems:
- direct writing, tally marks with a pencil or cut into a stick
- grouping writing, where we group our tallies and write them in little ordered collections on the papge
- new symbols for higher-order groupings, corresponding to our different types of counters
- grouping writing, where we make a separate symbol for each size of pile / type of higher-order counter
- now finally show how we can assign a symbol to each number of counters in a place, explain the difference between the Greek/Hebrew writing style and the Hindu–Arabic style; introduce the concept of an explicit zero in a place to correspond to an empty abacus row
- show how in the Hindu–Arabic numeral style, addition and subtraction behave the same across different places, so that we can remember particular relations without needing to consider the place each time
- see how multiplication of "simple" numbers like 400 times 60000 involves additive combination/sliding of places
- introduce a units indicator / decimal point, and more explicitly talk about multiplication/division by the base shifting numbers left or right
- show how to break multiplication problems combinatorially up into partial products written on paper, where each partial product includes the appropriate place shift
- show how we can use a "floating" point, counting the number of places to the left of the decimal point and recording it as an integer, and then adding/subtracting these when we multiply/divide
- talk about arbitrary ratios, how to write down fractions, how to factor numbers and cancel like parts, etc.

next (or concurrently with the later parts of the above)
- talk about different kinds of units and the different kinds of quantities numbers can represent, e.g. direct displacements (without reference to a unit), ratios of displacements, including measurements with units, translations, velocity and other rates, scalings, etc.
- start talking about replacing numbers with abstract letters
- start talking about functions and graphs, starting with lots of lines and conics
- start talking about general symmetries of various objects and patterns and games
- learn about composition of geometric transformations
- study metrical relationships in planar shapes
- study 3-dimensional shapes
- talk about the relationship between affine and projective geometry
etc.

Dozens Demigod
icarus
Dozens Demigod
Joined: Apr 11 2006, 12:29 PM
jrus I tutor middle school math.

the common core seems to be rehashing and breaking down "base 10" computation. One of the exercises is breaking a problem like 47 x 25 into (40 + 7) x (20 + 5) presumably in an effort to "leave no child behind", e.g., going through this sort of study ad nauseam. It is amazing that kids seem to get multiplication very early, say, 3rd grade and they seem to be endlessly disassembling a problem like this, learning nothing new.

I would hate to be an advanced learner nowadays. At once the "system" seems to behave as if the kids won't learn something unless they break it down completely, and others, the kids seem to be expected to make intuitive leaps that don't necessarily follow given what they are explained.

btw this is my *1000th post! triquath? great-grossth? anyway I made dozen^3 posts with this one. Yay!

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
I think standard “middle school math” can probably be learned by age 7–8, and practical computational fluency can continue to be practiced alongside harder conceptual problems for years afterward.

Each of these inferential steps is independently fairly easy to learn/follow/discover under guidance, with careful teaching and engaged students and the right collection of problems to solve. It’s possible to blow through them relatively quickly, IF the students are following all the parts along the way.

The problem is when a whole bunch of the steps get skipped, the subject is treated as something to learn by rote, and teachers don’t have enough experience or insight to figure out where the gaps are in student understanding and fill them.

Maybe 10 years ago, I tutored many 11th–12th grade students, and even some college science students, who didn’t really understand fractions properly, and didn’t yet fully understand place values in a deep way.

When considered all together, the ideas involved are non-trivial, with lots of subtleties and potential misconceptions.

* * *

We see something similar with undergraduate teaching of computer programming. A single course tries to cram in teaching about (a) the unix environment and command line shell how to use a text editor [c] the concepts of compiler/assembler and configuration and build scripts (d) sometimes also debugging tools (e) basics of data structures and algorithms (f) program profiling, algorithmic runtime analysis, and optimization (g) the computer architecture, memory, registers, stack and heap, etc. (h) arcane syntax details of some non-obvious programming language like C (i) pointer arithmetic, and then sometimes some linear algebra and sometimes some details of a particular problem domain like drawing graphics or network communication or whatever.

It’s not that the basics of any of these are inherently too difficult for any given person to learn. It’s just too many new things all at once.

The result is that students with significant past experience breeze through, students who are deeply committed or geniuses struggle but manage to keep up, and everyone else flames out and is convinced that programming is some arcane art beyond the reach of mortals.

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
when DoubleSharp is showing the workings of arithmetic
Wendy, do you have a link for this?

wendy.krieger
wendy.krieger
http://z13.invisionfree.com/DozensOnlin ... p=22177448 Here, Double Sharp multiplies left to right, where we would had written the lines in reverse order.

Herehttp://z13.invisionfree.com/DozensOnlin ... p=22177402 we see again, Oschar doing a left to right calculation, and in the next post, i do it in right-to-left fashion.

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
Seems to me that if doing arithmetic with pen and paper, the order by which we write partial products in rows before summing the column for each place is pretty arbitrary and irrelevant, no? Consider, the actual summing of partial products at the end seems to be little-endian in all of those examples

Main advantage of big endian order is that we can drop noise terms after we’ve hit enough significant digits, as long as we’re willing to suffer possible round-off error.

Little endian order is more in line with exact integer arithmetic thinking, and making sure we can just deal with carries in order and don’t need to touch any digit again after it’s settled.

In a floating point context in a CPU accumulating addends in little endian order reduces roundoff errors, and the specific order used tends to not affect runtime.

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
wendy.krieger @ Nov 22 2016, 12:09 PM wrote: If we now suppose infinite carryless columns, then the set ZP1 is represented.&nbsp; For columns to the left of the units column, this would then represent the $$\Sum z_n x_n$$ where z is in Z.
"ZP1" is presumably polynomials with integer coefficients? I don’t know what you mean by Sum(znxn), maybe Laurent polynomials with integer coefficients?

wendy.krieger
wendy.krieger
P1 is the set of polynomials in one variable. P6 has six variables, etc.

ZS, means that the set S with coefficients from Z. So ZP1 means the set of polynomials with integer coefficients. This is the carryless base. I read the page on Laurent Polynomials, and did not understand a word they said.

If substutute for say x³ by some expansion x²+2x-1, or something, then eventually you will get the remainder or modulus against the polynomial -x³+x²+2x-1. The coefficients themselves are not being reduced, just the number of exponents in the polynomial.

Because this polynomial is a prime, and there are three incomeasurables, the system is 'class 3'. Class-3 systems represent the mapping of a cubic lattice onto a line, in a way that every point is separate. The isomprphism is that there are three solutions, and thus three axies where the cubic might be mapped onto.

Because the underlying space is ZP1, we bring in all of the properties of ZP1, (communitive, associative, closed to multiplication, &c), and the modulus operator simply removes a class of primes. [Prime numbers are a little chunk of zero, and zero itself is the accumulation of primes].

Most of the number theory is done to assist polytope theory. The fact i pull modular sets from ZP1 leads directly that any modular subset of ZP1, in intersection with Q, gives Z.

In any case, the modular operation is the essential element to do carries.

The class-2 subsets of ZP1 (ie x²=bx+c), are such that you can have an ordered spelling, that is, you can set exclusion rules up so that a number forms in one way, and the relative size depends entirely on the first digit where they differ. This has largely been proven by construction.

It is this class-2 feature that draws me to using abacus-like structures to deal with these numbers. One of the serieshttp://oeis.org/A265041 was found by using using upper and lower limits on an abacus-like structure.

The general span of a polynomial of the form bX^n = \sum z_c x^c, for c=0 to n-1, is the set BbY, that is an algebraic number multiplied by a base-b number.

wendy.krieger
wendy.krieger
The step intemediate from fractions to decimals, is 'added fractions'. These were old news in Fibonacci's 'Liber Abaci', the book of calculations. This and invoice arithmetic, allows for in-line calculations with all sorts of weird units.

Added fractions can best understood in terms of weight (as can all fractions). One supposes as with the romans, that 1 = 1 lb. A pound is 12 ounces, and so one finds out how many ounces go into something, and a residue.

In added fractions, it is the residue that keeps going, and the whole number cast out as a remainder. So for example, 1/7 is 1 oz + 5/7 (oz). The 1 oz is remainder, and we carry the 5/7 to the next unit, where we decide 1 oz = 8 drachms, and 5/7 oz is 40/7 dr = 5 dr 5/7. Each time we leave the whole, and carry the residue to the next unit.

So 1/7 lb is 1 oz 5 dr 2 scr 0 carat 3 grain, 10 mites &c.

The series of added fractions derived from this is to write the numerator over the denominator, where the denominator is the full column, so

1/7 = $$\frac 1{12} \frac 5 8 \frac 2 3 \frac 0 6 \frac 3 4 \frac {10}{24}$$

In turn, this can be implemented in some 'look-up' table, where the denominator preceeds the numerator. This is how tables are set up: the column is titled oz, the entry is '5'. (d)n means divide into 'denominator, take numerator' This notation is superior in addition because the carry-divisor is between the columns that it works over. Ounces must accumulate to 12 to become pounds, ie 1(12)0 = 0(12)12.

1/7 = 0 (12) 1 (8) 5 (3) 2 (6) 0 (4) 3 (24) 10

You can eliminate units or regroup them, as long as the product of numerators remain the same. So it is possible here to eliminate the drachm and carat, to get (8) 5 (3) 2 becomes (24) 17, that is 5 drachm 2 scruples is 17 scruples.

1/7 = 0 (12) 1 (24) 17 (24) 3 (24) 10

One can convert these into a different series of remainders, by inserting say (12) at the end, and then converting this to twelfths, so

1/7 = 0 (12) 1 &#124; (24)17 (24)3 (24)10 (12)

We wish to convert from the bar to twelfths, so

1/7 = 0 (12)1 (12)8 (2)1 (24)3 (24)10
= 0 (12)1 (12)8 (12)6 [ (4)3 (24)10 ] [ (96)82 = (12)10 (8)2 ]
= 0 (12)1 (12)8 (12)6 (12)10 12(3) [(8)2 = (12)3 ]

 Posts 237
Regular
jrus
Regular
Joined: Oct 23 2015, 12:31 AM
wendy.krieger @ Nov 23 2016, 07:23 AM wrote: I read the page on Laurent Polynomials, and did not understand a word they said.
A Laurent polynomial just means it includes negative exponents.

Something like x–4 + 2x–1 + 5 + 3x3.