[HN Gopher] How to Multiply Roman Numerals
___________________________________________________________________
How to Multiply Roman Numerals
Author : tontonius
Score : 49 points
Date : 2022-05-09 08:29 UTC (1 days ago)
(HTM) web link (rbutterworth.nfshost.com)
(TXT) w3m dump (rbutterworth.nfshost.com)
| jacobolus wrote:
| Binary (halving and doubling) multiplication is one (but not the
| only) way people multiplied, not just in Rome but in many times
| and places. The oldest extant example is from the famous Rhind
| Mathematical Papyrus from three and a half millennia ago.
| https://en.wikipedia.org/wiki/Ancient_Egyptian_multiplicatio...
|
| Romans did not, in general, use Roman numerals directly for
| arithmetic. Roman numerals are a kind of serialization format for
| the state of a counting board. If you want to do arithmetic like
| a Roman, you need a bunch of lines on a paper (or the ground, or
| a board, or a piece of cloth) and a pile of tokens or pebbles.
| Deserialize your input numbers onto the counting board(s),
| perform your algorithm there, then serialize the result back into
| your record.
| gumby wrote:
| Similar to the abacus or knuckle methods.
|
| Btw, the word for pebbles is _calx_ , hence calculate/calculus.
| credit_guy wrote:
| A few weeks ago I wrote a comment here on HN with the details
| of the Roman arithmetics. I'll copy/paste it here.
|
| -------------------------
|
| You often hear that it was next to impossible to calculate with
| Roman numerals. That's not true at all. People developed a very
| ingenious scheme to do additions and multiplications using
| pebbles. Since the word for pebble in Latin is calculus, we now
| call calculus calculus. How did it go? You represented the
| digits of a number by a pebble. You drew some lines in the
| sand, some rows and columns. The rows represented the digit
| magnitude (I, V, X, etc). The columns were for the operands.
| Two columns for a number. Why two? Because Roman numerals
| sometimes use negative digits. Let's see a concrete example.
| You want to do the addition 28+44. That is XXVIII + XLIV. You
| first draw the lines and put the pebbles in the corresponding
| squares. Note that XLIV has two negative digits (44 = XLIV =
| -10 + 50 -1 + 5). So the pebble for 10 and the one for 1 are
| put on the left side. The first number does not have any
| negative digits, so no pebbles in its left column.
| --------------------------------------------------------------
| L | || | o X | oo || o |
| --------------------------------------------------------------
| V | o || | o I | ooo || o |
| --------------------------------------------------------------
|
| So, now that we set the pebbles, we need to do the calculation.
| We can do it in many ways. Let's start by first canceling the
| digits that can be canceled: a positive 10 pebble with a
| negative 10 pebble, and a positive 1 pebble with a negative 1
| pebble. The table looks now like this:
| --------------------------------------------------------------
| L | || | o X | o || |
| --------------------------------------------------------------
| V | o || | o I | oo || |
| --------------------------------------------------------------
|
| At this point we reduced the initial addition 28 + 44 (XXVIII +
| XLIV) to the equivalent one XVII + LV ( 17 + 55). Now we just
| move the pebbles from the fourth column to the second column.
| --------------------------------------------------------------
| L | o || | X | o || |
| --------------------------------------------------------------
| V | oo || | I | oo || |
| --------------------------------------------------------------
|
| We are almost done. We got the result as LXVVII. But this is
| not a valid Roman numeral, we need to do the simplification VV
| = X. We remove the two 5-pebbles and add a 10-pebble. Oh, and
| let's get rid of the last 2 columns.
| -------------------------------- L | o ||
| X | oo || --------------------------------
| V | || I | oo ||
| --------------------------------
|
| So now our final result, in correct form, is LXXII, or 72.
| Multiplication can be also performed, and it's quite a lot of
| fun. I'll explain it in the post below.
|
| Multiplication of Roman numerals. Here we need 3 columns, one
| each for the multiplicands and one for the result. Our example
| will be 12 * 61 = XII * LXI. I chose this example so that we
| don't need to use negative digits; negative digits can be
| handled easily, but you can get the idea without them. We start
| with the operands on the first two columns. 12 has one pebble
| at the X row and 2 at the units row; 61 has one pebble at the L
| row, one at the X row and one at the I row. The column for the
| result is now empty. D | || C |
| || ------------------------------ L | o ||
| X o | o || ------------------------------ V |
| || I oo| o || ------------------------------
|
| We start removing pebbles from the first multiplicand. For each
| pebble in the multiplicand, we perform the multiplication with
| the second multiplicand, which in our case means we "copy" the
| multiplicand in the results column with an appropriate shift in
| rows. Since the first mutiplicand has 3 pebbles, there are
| three steps: Step 1: D | || C |
| || ------------------------------- L | o || o
| X o | o || o ------------------------------- V
| | || I o | o || o
| -------------------------------
|
| Step 2: D | || C | ||
| ------------------------------- L | o || oo X o
| | o || oo ------------------------------- V |
| || I | o || oo
| -------------------------------
|
| Step 3: D | || o C | ||
| o ------------------------------- L | o || oo
| X | o || oo o ------------------------------- V
| | || I | o || oo
| -------------------------------
|
| So, the result is DCLLXXXII. Of course, LL is not really
| "legal", so we replace it with a C, so we get DCCXXXII, or 732,
| which is indeed the correct number.
| jacobolus wrote:
| > _You drew some lines in the sand, some rows and columns.
| The rows represented the digit magnitude (I, V, X, etc). The
| columns were for the operands. Two columns for a number. Why
| two? Because Roman numerals sometimes use negative digits._
|
| Note that this is speculative. We don't actually have
| descriptions of how Romans set up or used their counting
| boards, only indirect evidence that they did most arithmetic
| and accounting with them. The digits probably went left to
| right or right to left rather than top to bottom (there is
| some written account of IIRC Greek and Egyptian counting
| boards going opposite directions).
|
| The more specific and complete evidence we have today is from
| medieval Europe, where typically digits were rows and tokens
| on the lines were used for 1, 10, 100, etc. with tokens in
| spaces between the lines used for 5, 50, 500. However, since
| counting board arithmetic was a skill taught directly as oral
| tradition, most practical algorithms (especially those used
| by specialists for more obscure operations) have been lost.
| We can do some additional speculation based on methods used
| today on bead-on-rod sorobans/suanpans from
| Japan/Korea/China.
|
| We can speculate (from occasional examples in writing of IX
| to represent VIIII, etc.) that Romans may have (sometimes?
| often?) represented "negative" counts on the other side of a
| dividing line, but this does not have direct evidentiary
| support.
|
| * * *
|
| For more elaborate speculation about setup and algorithms,
| Steve Stephenson has done quite a bit of thinking about
| practical uses of counting boards. It's impossible to judge
| how close this is to what ancient people actually did, but
| it's interesting in itself, and IMO worth teaching to young
| children today as a complement to pen and paper (and mental)
| arithmetic. I think it is a better intellectual tool than the
| sliding-bead soroban. My kids use some nice metal buttons as
| counters:
|
| https://ethw.org/Ancient_Computers
| [deleted]
| robot_no_419 wrote:
| How to really multiply Roman numerals: convert them to Arabic
| numeral notation, multiply them (use a calculator or your
| favorite algorithm), and convert them back to Roman numerals.
|
| It's very interesting to discuss this from a cultural or
| anthropological point of view. It doesn't seem very interesting
| from a mathematical POV. I'm disappointed that there's no mention
| of the history of Roman arithmetic or content related to actual
| Romans doing math.
|
| I feel like anyone who is even asking the question "how can I do
| arithmetic with Roman numerals?" knows enough math to make this a
| trivial observation.
| throw93232 wrote:
| Nice, but this was mostly unused. Sea and trade was dominated by
| Greeks and their numerical system. It is almost as practical as
| decimal.
|
| https://en.m.wikipedia.org/wiki/Greek_numerals
| nh23423fefe wrote:
| distributive property and rewrite rules 1 5
| 10 50 100 500 1000 i v
| x l c d m
|
| x moves down, v moves over 17 * 42 =
| xvii * xxxxii = x*xxxx + x*ii + v*xxxx + v*ii +
| ii*xxxx + ii*ii cccc + xx + llll + vv + xxxxxxxx +
| iiii = cccc + llll + xxxxxxxxxx + vv + iiii =
| cccc + cc + c + x + iiii = ccccccc + x + iiii =
| dccxiiii = 714
| jhallenworld wrote:
| Use Claude Shannon's THROBAC-I
|
| https://cacm.acm.org/blogs/blog-cacm/235492-calculating-with...
| DonaldFisk wrote:
| The Romans used an abacus to multiply numbers:
| https://en.wikipedia.org/wiki/Roman_abacus
| ipnon wrote:
| If you ask me to multiply Roman numerals in an interview then I'm
| going to multiply the perceived value of your offer by 0.
| NAR8789 wrote:
| Hm! I've come across this as "Russian Peasant Multiplication"
| https://www.wikihow.com/Multiply-Using-the-Russian-Peasant-M...
|
| Easier to digest I think to break TFA into two conceptual pieces
|
| 1. the representational complexities of roman numerals (remember
| not to use prefix notation; what does each character mean)
|
| 2. the actual meat of the multiplication algorithm (russian
| peasant method)
___________________________________________________________________
(page generated 2022-05-10 23:01 UTC)