Babylonian False Shares Algorithm, numerical analysis, history of math & computers


This page is under development. Comments are welcome, but please load any comments in the comments section at the bottom of the page. Please include your wiki MONIKER in your comment with the same courtesy that I will give you. Its very hard to reply intelligibly without some background of the correspondent. Thanks,gold



Introduction

goldHere is some TCL starter code for calculating the false shares method from Babylonian math problems. The false shares method or false shares problem is of historical interest, but seems to be the Babylonian tool of choice for expanding into new math horizons. Most of the testcases involve replicas or models, using assumptions and rules of thumb.

The Babylonian false shares method algorithm from clay tablets was loaded into an TCL calculator. The Babylonians did not use algebra notation, so the reader will have to bear some anachronisms in the TCL pseudocode. The false shares method is defined as the method used by scribes to portion multiple shares of a quantity, including wages, land division, and bricks. Succesive or iterated math solutions are called algorithms and the false shares method algorithm is one of the earliest algorithms documented. The TCL procedures are descendants of this idea. For restating the problem in a computer algorithm, the sides and field area will be in meters and square meters, respectively.

Cases

Testcase 1 in generic units. The work standard for moving 9*60 bricks over 30 rods per day is 15 units of barley, ref Friberg. In this testcase, 4 men share the work and pay in proportions of 7,11,13,14. The Babylonians did not use algebraic notation, but the algebraic solution is shown here for quicker understanding for the modern reader and for psuedocode for the TCL procedure. Tabbing the false shares as $X, the initial setup is 7*$X+11*$X+13*$X+14*$X=15,45*$X=15, $S=(sum of shares)/ (total pay units), $S= 15/ 45= (1/3) unit pay per shares. 1st= 7*(1/3),2nd=11*(1/3),3ird=13*(1/3),4th=14*(1/3). Check that expr { 7*(1./3)+11*(1./3)+13*(1./3)+14*(1./3) } = 15. Order here is increasing pay, but (tablet) norm was that order was in decreasing amounts. Ref. Friberg on YBC 10722. Ref AO8862, four-sided prism from Larsa, probably 1800? BCE. Note: AO8862 sets the problem up but the method of solution was either not recorded or illegible on AO8862. Some uncertaincy must be recognized in the problem solution.

# following statements can be pasted into eTCL console
set project 1.0

Testcases Section

In planning any software, it is advisable to gather a number of testcases to check the results of the program. The math for the testcases can be checked by pasting statements in the TCL console. Aside from the TCL calculator display, when one presses the report button on the calculator, one will have console show access to the capacity functions (subroutines).

Testcase 1

Testcase 2

Testcase 3

Testcase 4

Testcase 5

Testcase 6


Testcase 7


Screenshots Section

figure 1.


References:

  • Bricks and mud in metro-mathematical cuneiform texts,
  • Joran Friberg
  • O. Neugebauer and A. Sachs, Mathematical Cuneiform Texts,
  • American Oriental Society, Series 29. New Haven, 1945.
  • A Remarkable Collection of Babylonian Mathematical Texts,
  • Joran Friberg
  • the historical origins of algebraic thinking, essay,
  • Luis g. Radford*

Appendix Code

appendix TCL programs and scripts


Pushbutton Operation

For the push buttons, the recommended procedure is push testcase and fill frame, change first three entries etc, push solve, and then push report. Report allows copy and paste from console.

For testcases in a computer session, the eTCL calculator increments a new testcase number internally, eg. TC(1), TC(2) , TC(3) , TC(N). The testcase number is internal to the calculator and will not be printed until the report button is pushed for the current result numbers. The current result numbers will be cleared on the next solve button. The command { calculate; reportx } or { calculate ; reportx; clearx } can be added or changed to report automatically. Another wrinkle would be to print out the current text, delimiters, and numbers in a TCL wiki style table as

  puts " %| testcase $testcase_number | value| units |comment |%"
  puts " &| volume| $volume| cubic meters |based on length $side1 and width $side2   |&"  

gold This page is copyrighted under the TCL/TK license terms, this license .

Comments Section

Please place any comments here, Thanks.