It's interesting how the notation used can encourage or retard progress. For example, Leibniz's calculus notation was vastly superior to Newton's, and calculus theory advanced much more quickly where Leibniz's notation was used.
I mean, its the only one that is both not confusing for beginners (because it doesn't trick them into the "cool, let's `simplify` the dx at the denominator with the next one" mindset) and it also translates easily to code (or other 1D encoding), like you can write "second derivative of f with respect to x" as D[f, x, 2] and "integral of a with respect to t" as "D[a, t, -1]".
My point is mainly that there is nothing rational at all in how humans choose notations... without some obscure historic events, we'd probably still be using some derivative of roman numerals or maybe even sexagesimals! (https://en.wikipedia.org/wiki/Sexagesimal)
(I imagine the reason is because "highly performing" individuals have their own "internal" language to think in, so general language is just a for communication, so a political decision... unfortunately for education :()
I think a lot of my confusions when I first learned calculus would have been eliminated with a notation that clearly expressed that derivatives operate on whole functions, not on values. So the derivative of f(x) at x=0 is not some function of f(0), but it is derivative(f)(x). Also, even without derivatives, sometimes the expression f(x) refers to the whole function, sometimes just a particular value of it at a specific x.
I don't know if higher-order functions are really that tough to teach/understand but I think it would actually simplify and demistify many things.
Currently, of the widespread notations I like this one best:
f(x0) = d/dx (sin(x)*cos(x)+x^2) | x=x0 (with the last part in subscript)
I also miss variable scoping from math writing and it disturbs me that variable names often carry semantics, like p(x) and p(y) can be the probability density functions of random variables X and Y (so p is a different function depending on the name of the input variable that you substitute so it doesn't actually operate on real numbers, but (string, number) pairs). I'd prefer to explicitly mark the functions as p_X(x) and p_Y(y).
Similar things come up a lot with differential equations where you don't really know whether something (like y or u) is supposed to be a function (of x or t) or "just" a variable.
Despite the general opinion among laypeople that math notation is very precise and unambiguous, I find that it's often very sloppy and unless you already understand the context very well, it can easily be misleading. Math notation is somewhere between normal natural language and programming languages, and depending on the writer it may be closer to one or the other.
One can argue that this is necessary for compactness.
Part of it is the brevity, and part of it is the shortcuts. E.g. when I did my masters, one thing I quickly realised was that papers that expressed an algorithm using mathematical notation almost always lacked essential details.
My impression is that it's too obvious when there are too large leaps in code, whereas in mathematical notation everyone accepts leaps that can obscure that essential details have been left out.
E.g. you'd have papers on thresholding of images for OCR (deciding what is background and what is foreground) where it turned out the results were highly dependent on certain values represented by certain variables that were never defined, for example, putting in a situation of reconstructing parameters by trial and error if you wanted to reproduce the results.
Today I'm immediately suspicious if results are presented as maths outside of fields where the maths is essential (and sometimes even then) as I see it as having a tendency to be used to gloss over sloppy work or save space by leaving out essential details.
I'm sure this is not the case in all fields, and that people with a more extensive maths background will be able to fill in more of those leaps without much effort, and so it might very well be acceptable in some fields. But to me a notation that makes it that easy to hide missing details is a liability.
Code's easy for me (unless "mathy" in appearance like Haskell) but mathematical notation's always made me feel dyslexic.
I'd love to see this beauty or clarity or whatever that people find in mathematics, but I've never caught even a hint of it. Seems like it needs a good IDE to make up for deficiencies in its language.
That's because code has documented and testable semantics whereas mathematical notation is more by convention than anything. It's in between natural language and code in terms of ambiguity, but is sufficiently flexible and clear to practitioners that it remains the best way to communicate to other practitioners.
...that's the thing actually: in programming syntax defines semantics because "syntax" is executed and in practice "it means what it does (what is executed)".
(Linguists would want to murder me for saying this, I know.)
That's why some programming languages can even be defined by implementation. (Though as a programmer I try my best to avoid these languages...)
I think one of the problems is that calculus teaches us the ideas that there's an construction called a derivative, but in reality there's lots of different kinds of derivatives with different semantics and types. For the vast amount of applied math and engineering work, the two we need are the total (Fréchet) derivative:
Candidly, unless you really know your problem, we virtually always want the total derivative since it gives rise to things like gradients and Hessians, which are useful objects that we can store in memory.
Now, the reason that I bring these two up is that their spaces, or really their types, are different. Given a function f:X->Y, the total derivative is a linear operator from X to Y:
(total) f'(x) \in L(X,Y)
The directional derivative is an element in the space Y:
(dir) f'(x;dx) \in Y
Now, at this point, the notation is screwed up since we used Lagrange notation for both. The reason that we can get away with this is that under certain assumptions, that are mostly satisfied in the things we care about, we have that:
f'(x)dx = f'(x;dx)
Alright, so why should we care? Leibniz and Newton notation do a terrible job at capturing this information. Lagrange and Euler notation do a good job at this. For your example:
f(x0) = d/dx (sin(x)cos(x)+x^2) | x=x0
The types don't line up because sin(x)cos(x)+x^2 is value, literally a real number, not a function. Using the above, I would write this as:
(x \in R |-> sin(x)cos(x)+x^2)'(x0)
In LaTeX |-> would be \mapsto. This types correctly in the definitions above since
x \in R |-> sin(x)cos(x)+x^2 \in [R -> R]
and
(x \in R |-> sin(x)cos(x)+x^2)'(x0) \in L(R,R)
Of course, you probably wanted the value and not the function, which explains why we cheat in 1-D. So, we really should write:
(x \in R |-> sin(x)cos(x)+x^2)'(x0) 1 \in R
where we feed it the direction 1. And, yes, this is slightly more cumbersome that we may want, which is why there's a huge number of different notations. However, I do assert that the above generalizes properly all the way into infinite dimensions (Hilbert spaces) and provides a good foundation for typing out mathematical codes.
By the way, if anyone is looking for a book that does this right in my opinion, Rudin's "Principles of Mathematical Analysis" is amazing and his notation is good. For infinite dimensions, I prefer Zeidler's "Nonlinear Functional Analysis and Its Applications." Personally, what I look for is what I call properly typed notation that gives us easy access to useful tools like gradients, Taylor series, chain rule, and implicit and inverse function theorems. Again, most engineering and applied math work requires these theorems everywhere, so I find it best to keep them clean.
It's actually pretty common notation in a lot of fields, and mathematicians frequently switch between whichever of these notations is most convenient for a particular problem. Your point of course still stands for why isn't it the main one used in Calculus 1 courses, but it's common in differential equations courses in my experience (and PDE's often simplifies it further to just have D_x f as f_x). And many times where the "derivative" is not necessarily the "calc 1" derivative, you use notation similar to that, for example the covariant derivative [1] is sometimes written like that but with a 'nabla' instead of a 'D'. Some authors even use 'D' for covariant derivative along a path.
It's not much more useful than Newton's. The greatest point of Leibniz' notation is that you can do those things such as simplifying dx, or moving dy to the other side of the equality.
It is confusing to beginners, but it's very useful once you understand it.
What I can't understand is why anybody still used Newton's notation. Also, at least for me Leibniz notation tends to make pen-and-paper symbol manipulation simpler.
Notation is extremely important. It's basically a way to organize how you abstract a problem. If your abstraction is "bad" it will be harder to solve certain problems.
It's really not much different everywhere else in society. Different programming languages/frameworks/etc. are doing essentially the same thing (if you ignore the speed of execution). All the languages are Turing complete and can do more or less the same IO. But it's still much easier for people to use certain tools for certain problems than others.
The right notation allows you to focus on what's important and forget what is not.
This couldn't really be stated any more clearly[1]; well put. I'll only add that this is true for any variety of abstraction, natural language included. Abstractions encode the biases of their creators[2]. The 'power' of an abstraction comes from the set of things that are easily and concisely expressible; its primitives. However, this is balanced by the truths that are no longer easily expressible, because the encoding doesn't allow for it. There's a certain intuition that semantics and abstraction are tied tightly in this sense; you don't can't really convey what something means unless it's concisely expressible in the abstraction you're using. Slang, idioms, calculus, etc.
---
[1] and yet, I guess I'll just babble on adding more words anyway...
[2] be they mathematical concepts, programming paradigms, or cultural norms and quirks.
I learned this in designing the D programming language. The original syntax for lambdas seemed natural from a compiler point of view, but from a user point of view it was awkward and pretty much unusable. Changing the syntax was a complete transformation in its usage.
Another excellent example of the power of good notation to aid understanding and increase efficiency is Dirac, or Bra-Ket notation[1] used in Quantum Mechanics.
This allows you to do all sort of calculations with wave functions without constantly grinding to a halt bogged down by integrals and conjugates all over the place.
The ladder operators (aka raising & lowering), really put this notation to good use[2]. It would be tremendously tedious to manipulate such expressions repeatedly without the simplifying properties of Bra-Kets. Once you are done manipulating them you then use the rules of the bra-kets to transform it back into a plain old integral, evaluate, and you're done.
I used to think they were very mysterious until I realised they were (essentially) notational convenience.
The same is true in the sense that they're actively helpful in 'hiding away' a large amount of complexity in relatively innocent-looking expressions, though Feynman diagrams are less of a tool of hiding information and more of a computational aide (e.g. it gives rise to a set of operations and a nice way of organizing them).
You could see this as an actively distinct concept (Feynman diagrams are graphs which give rise to some algebraic structure, whereas Dirac's notation is an algebra in itself) or you can see them both as just a means of abstracting away many operations (e.g. in Dirac's notation, this would be multiplication by operators and inner products, both of which are integrals in some sense, as just a non-commutative type of multiplication) in really powerful notation.
Mohammad al Khwarizmi's treatise on Algebra (the word comes from the title of the treatise) was written in plain Arabic prose. No notation at all.
It takes a good amount of intelligence to read it, and it took an amazing genius to write it. But put it in plain notation, and it's a collection of 7th grade algebra problems.
I prefer Mathematica's notation over Leibniz's, because it is not as ambiguous (dx can also mean d TIMES x, as a simple example, but also dy^2 can mean d(y^2) and (dy)^2)
I'd go stronger than this and say that Leibniz's notation is actively harmful. It is very useful for quickly doing certain kinds of computations, but at the expense of conceptual understanding for students. Obviously, it's fine to use whatever computational aids you want when you understanding things, but most students are taught nothing but this fragile notation.
It's useful for solving (or partially solving for a set of conditions) linear differential equations, say in the fields of mechanics or electromagnetism. One can work with dx and dt as if they were just factors and move them around quite intuitively.
In the same line, it's great at shining a light on the substitution rule for integration.
Given that your point that it can be obscure at first remains valid, I'd walk the middle line of introducing students to the f'(x) notation first; and after the introduction to integrals introduce this notation to them.
Yea, I agree that, in addition to computational speed, the Leibniz gives some reasonable intuition for some formulas. However, it can also give bad intuition in a multi-variate setting, e.g., dxdyx/dzdw.
A good self-check is to see if you can convert from Leibniz notation to a more rigorous one at any given step in the computation and understand that step rigorously. Personally, I find that functional notation (using D as an operator on the space of functions, etc.) to be as simple to use and much more likely to alert me when I'm about to confuse myself.
I would point out it is d because latin typesetters back then often didn't have a greek typeface to print with and it is the closest to the greek letter delta δ. Once one understands it's δx and δy (or Δx and Δy) and today still today most people don't know how to get delta characters on their latin keyboards, then it is easy just to not use d in algebra and use for differential calculus only. Finally (Δx)^2 and Δ(x^2) are the same thing in differential calculus.
> Finally (Δx)^2 and Δ(x^2) are the same thing in differential calculus.
Isn't Δ(x^2) = 2xΔx ≠ (Δx)^2 ? The object Δ(x^2) has one infinitesimals while (Δx)^2 has two, and the number of infinitesimals is conserved. (You can only get finite quantities by taking the ratio of equal numbers of infinitesimals.)
It really isn't that ambiguous in cursive, though. When writing out "dx" as product in cursive, the "d" and "x" characters are written separately. When writing "dx" as an infinitesimal, the characters are connected. Never had any issue with higher degree derivatives, either.
But I see how it can be confusing with printed characters. I guess Leibniz just took ligatures for granted when he came up with his stuff.
A similar notation is Lagrange notation, which is really useful for studying derivatives as a member of a larger class of operators.
The derivative w.r.t. x of f(x) is D_x f in Lagrange notation. It looks a bit like matrix multiplication for a good reason—a matrix is just a representation of a linear operator on a finite dimensional vector space.
An important facet to mathematics in general, that most are unaware of before studying it, is that the majority of proofs, especially those done in bachelor university courses, are purely notation. Other problems often become trivial to solve by using a different notation (e.g. polar form vs. points on the complex plane) as well.
An important facet to mathematics in general ... is that the majority of proofs ... are purely notation.
To the extent that this is true, how much do you think that is due to the notation itself, and how much is due to someone identifying the essential underlying concepts and then making those the basis for a good notation?
Could you please elaborate. Just to take two elementary examples: the intermediate value theorem and the theorem that any two bases of a finite-dimensional vector space have the same number of vectors. I would have thought that both require mathematical ideas and not just notation.
"By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race."
I always thought that roman numerals would be a simpler way to do basic arithmetic and might lend itself more to simple commerce. For example: III represents 3 things, so III + II = IIIII For simple commerce application that is simpler, I just have to then remember that IIIII = V, and VV = X and XXXXX = L, LL = C. Armed with just those simple rules I could probably get by in the market place in Rome.
With Arabic numbers, I have to learn that 1 is one thing, 2 represents 2 things, 3 represents 3 things and so on. Then I have to remember that 2 + 2 = 4, and 3 + 2 = 5, there is more memorization required.
Where Roman Numerals for someone with little or no education could get by in the market square with some simple rules and even use twigs as a primitive calculator. It is not until you get to much more complex ideas that the Arabic notation wins out.
So perhaps, different notations lend themselves better or worse depending on the application ?
Just some random thoughts that this very interesting post brought to mind.
>1 is one thing, 2 represents 2 things, 3 represents 3 things and so on
I follow you thus far.
>Then I have to remember that 2 + 2 = 4, and 3 + 2 = 5
No you don't.
You have to remember that 1 + 1 = 2; 2 + 1 = 3; ...; 9 + 1 = 10; and then the rules repeat themselves, respecting columns for addition. All mathematics between 1 and 10 like 4 + 5 are already known at this point.
Roman numerals, on the other hand, give you no easily repeatable pattern to follow as the order of magnitude increases. I + I = II, III + II = V, V + V = X, X + X + X + X + X = L, LL = C, and I only got this far because of what you said. What comes next? C * 5 = x_1, x_1 * 2 = x_2, x_2 * 5 = x_3, ..., x_n * 5 = x_n+1, x_n+1 * 2 = x_n+3
The complexity is unbounded. Sure, if you constrain yourself to "getting by in the market place in Rome", that's one thing, but even then I would imagine arguments around arithmetic could go either way.
You’re speaking from a position of bias and ignorance (we all do this sometimes, but it’s important to be aware of), with a lifetime of familiarity with Hindu–Arabic number notation and almost no experience reading/writing Roman notation or translating back and forth between written numbers and pebbles or other tokens on a counting board, which is how most calculations were done in Roman times (persisting to this day in our word calculate, from the Latin word for pebble).
If you spent several decades working with a counting board and had only occasionally seen Hindu–Arabic arithmetic, you would likely feel the opposite (as, indeed, people did for the first few centuries after written arithmetic was introduced to Europe – for example our word cipher, meaning secret code, comes from the word for the Arabic 0, reflecting people’s early confusion about pen and paper arithmetic).
The Romans (and others in the Roman empire) were the premier engineers, merchants, bureaucrats, astronomers, etc. of their era and region. They didn’t have any problem doing extremely complex computations.
As for your specific concerns: the easy pattern is that the letter for a group of five literally looks like half of the letter for a group of ten.
V = X/2, L = C/2, D = ↀ/2, ↁ = ↂ/2, etc.
So you need to remember the meanings and relations for the symbols for I, X, C, ↀ, ↂ and then just count them. The patterns that: IIIII = V; XXXXX = L; CCCCC = D, ↀↀↀↀↀ = ↁ are really not that hard to remember. The groups of five are mostly there as a shorthand, because writing nine of the same symbol in a row is harder to count and takes up more space.
These patterns are certainly no harder than remembering the English words ten, hundred, thousand (or Latin words unus, decem, centum, mille), which are also arbitrary symbols.
Since the numbers are always written in order, you can learn to separate them by digits. People would have “chunked” a long string of these symbols into the word for each each digit, and pronounced them using words pretty much like modern languages. Just like in our natural languages, the system is not strictly positional – you just skip writing/pronouncing any lines on the counting board with no pebbles.
So if you see DCCCXXXXVII you think of it / read it as “eight hundred forty seven”, first split into the groups DCCC XXXX VII, with the digit represented by the pattern and the order of magnitude represented by the symbols used. Or alternately, you would have seen them as the visual patterns “three pebbles on the hundred line and one in the space above; four pebbles on the tens line; two pebbles on the one line and one in the space above”.
When you’re thinking of the meaning of these symbols, you’re going to be fluently translating them in your head back and forth between three representations: verbal, counting board, and written. Once these have all been worked with extensively, there’s not much friction. It’s just like learning to read, or learning music notation. Someone experienced can read a musical phrase on a score and hear the sound of the whole expression in their head, rather than trying to count which line each note is on, count out the tempo, etc.
Objectively, the Roman system is easier to teach up to a basic level, especially to someone illiterate. Basic calculations on a counting board are straight forward and easy to explain and motivate. Multi-digit multiplication gets a bit annoying in both cases because it involves the summation of many partial partial products. Long division and square roots get nasty in both systems.
Where the Hindu–Arabic system really shines is when people need to frequently work with very large numbers, very precise numbers (though remember there were no decimal fractions per se in Europe until >1600), or numbers of different orders of magnitude, have access to cheap and abundant paper, and can spend years training to do basic arithmetic. The biggest advantages of pen and paper methods for basic arithmetic are that it’s easy to see the whole work process, and therefore more easily check for mistakes, and that writing the final answer doesn’t take as much space. It’s also much easier to write down and explain pen and paper arithmetic methods in a printed book. The counting board methods are often faster to perform.
But more importantly still, pen and paper arithmetic is easy to generalize to more sophisticated mathematical notation for fractions, algebraic equations, etc.
>You're speaking from a position of bias and ignorance
I made a fairly concise point, but you're right about one thing
>we all do this sometimes
Because you most certainly just did
>As for your specific concerns: the easy pattern is that the letter for a group of five literally looks like half of the letter for a group of ten.
That's not the issue with the "easily repeatable pattern". The issue is this:
>V = X/2, L = C/2, D = ↀ/2, ↁ = ↂ/2, etc.
Do you see that "etc" you post? That's because, to represent 10^n, you need to know 2*n + 1 characters.
This is an obvious downfall that Hindu-Arabic numerals obviously do not have. Even if you ignore the shorthand (which would be foolish, parsing 5-9 characters in a row can take a serious moment of focus), you still need to know an unbounded amount of characters to represent the integers alone, and let's not even discuss the obvious fallacy of fractions etc..
Also,
>Objectively, the Roman system is easier to teach up to a basic level
Even this is an unfounded statement. Make an argument. Prove it. Objectivity of teachability can't possibly be something you just throw out casually in an argument, let alone an argument where you told someone they were biased and ignorant for, as far as I can tell, no reason at all.
That was not a personal judgment, just a straight-forward factual assertion. (Unless you have spent a decade doing calculations on a counting board...?) Pretty well everyone, including myself, is speaking from a position of bias and ignorance when discussing Roman numerals and counting boards, because these are not pervasively used for basic calculation in our society. We should bear that in mind and try to get outside of our preconceptions before making off-hand judgments.
It’s very seldom that anyone in the Roman empire – or medieval Europe – would need bigger numbers than, say, one million, especially for writing final answers down. But at least one counting board we know about from 300 BCE probably had lines for 10 orders of magnitude, and it’s not like more couldn’t easily be added if necessary. http://www.akg-images.fr/archive/-2UMDHU23V18G.html
As for fractions: Roman fractions were mostly twelfths (think inches and ounces).
Roman numerals and counting boards are obviously not an ideal system for writing down very large or very precise numbers, as I said. I’m not here claiming that they are a better basis for society’s numeration than more strictly positional Hindu–Arabic numerals.
My point is that we shouldn’t be so hasty to dismiss them out of hand or exaggerate their flaws. They were a highly effective system for doing complex calculations: precisely estimating the positions of stars and planets centuries into the past/future, running a bureaucracy overlooking an empire of 60+ million people, building large-scale engineering projects, and so on.
When it comes to teaching, I can only go by my own anecdotal experience trying to teach young children about numbers, the writings of various elementary math teachers, and the fragmentary remnants of debates in medieval Europe. I don’t know of any modern peer-reviewed research about Roman or medieval European counting boards, sorry.
(There is lots of evidence that learning place value using Hindu–Arabic numerals is very difficult for children, compared to other concepts and skills, requiring several years of study before primary school students really figure it out.)
I remember learning Roman numerals in 1st or 2nd grade and finding them to be a lot easier for basic arithmetic.
I mean, all of the examples we used in school to learn basic arithmetic had things like "(picture of 4 apples) + (picture of 2 apples) = (picture of 6 apples)". Roman numerals are kind of a pictograph in a way.
I'm not 100% sure, but through anecdotal experience and from what I've read (although haven't vetted), we lose track of counters at ~8 of them. That is, III is easily discernable as 3 'I's, but take IIIIIIIII, and try to recognize how many 'I's are there immediately.
This, and another theory states that V is kind of similar to an open hand, i.e. five fingers, making it a convenient abbreviation. Consequently, X is just two V's joined at the vertex.
I must be below average in that regard; I never have trouble being able to distinguish the number of things when there are three or fewer, but it's somewhat difficult for me to tell four and five apart, and I essentially have to resort to manually counting for five and six.
Curious, why do you have to remember that 2 + 2 = 4 & 3 + 2 = 5? Once you know the values the symbols represent, at that point isn't it similar in simplicity to roman numerals?
II + II = IIII
2 + 2 = 4
Don't see how the latter problem lends itself to any more memorization beyond symbols
Because if you don't memorize your 'primitive' algebraic rules you'll end up just doing a pullback with roman numerals in the middle. Integers don't have any values, they're mathematical objects with certain properties. Asking about 'the value of 5' doesn't make sense unless you're trying to convert to another, already known, number system.
What is 2 + 5? Well 2 is II and 5 is V which is IIIII. So then we have IIIIIII which is (IIIII)II or VII which is 7.
Sure, but that notation was likely born out of convenience by people who wanted a shorthand for situations where it's easier to represent a number as a subtraction but it does make the number system more complicated.
Personally I wish we had a good notation and separate single-syllable pronunciation for negative digits –1 through –9, and were willing as a society to accept numbers written with a mix of positive and negative digits.
Decimal arithmetic becomes quite a bit easier if you normalize your numbers to the digits from –5 to 5, and it would help prepare students for algebra.
An ugly thing about using negative digits with base ten (or any even base) is that you either have ambiguity on how to write numbers, or you have a different number of positive and negative digits.
For example, if you do base ten with digits EDCBA012345 (E=-5, D=-4, etc.) -- that's 11 digits -- then five can be written as 5 or 1E; fifteen is 15 or 2E, etc.
So you either:
- Accept that some numbers can be written in more than one way, which seems a huge disadvantage over what we have today.
- Rule out certain sequences of digits (E can only follow a negative digit, 5 can only follow a positive digit, if 5 follows a 0, then it depends on the digit before the 0, etc.). Not only is this inelegant, but it adds seemingly arbitrary rules for people to memorize when they're first learning how to write numbers.
- Remove one of the digits (e.g., remove E). Then things aren't symmetric around zero -- e.g. five is 5, but minus five is A5.
That numbers have interesting relationships to each-other is not an “ugly thing”, but rather a beautiful thing. The relationships exist whether we pay attention to them or not, so giving people a way to write and pronounce those relationships is a nice way to improve numeracy.
Writing numbers in multiple possible ways is really not that big a problem for most uses (for record-keeping in business transactions maybe). Personally I recommend becoming familiar with two different normalizations: all same-signed digits (the form we use now) or [–5, 5] with digits before a terminal 5 rounded away from zero. But in general for personal scratch work numbers don’t need to be normalized unless you feel like it. As long as you understand that 20–3 is the same as 10+7, it doesn’t really matter which one you think of as primary.
We use multiple number representations all the time, with e.g. the vulgar fraction 11/8 alternately representable as the “mixed number” 1 + 3/8, or as the decimal fraction 1.375, the simple continued fraction [1; 2, 1, 2], the percentage 137.5%, or the common logarithm ~10^(0.1383). Figuring out that 1.375, 1.385̅, 1.42̅5̅, 1.43̅5, and 2.6̅2̅5̅ are the same number isn’t that hard, with some practice.
You'd think you could just collect all the numbers and then translate, i.e. if I add some things and get XXVVVVVIIIIIIIIIII, I know that's XXVVVVVVVI = XXXXXVI = LVI.
> For example: III represents 3 things, so III + II = IIIII For simple commerce application that is simpler, I just have to then remember that IIIII = V, and VV = X and XXXXX = L, LL = C. Armed with just those simple rules I could probably get by in the market place in Rome.
I'm not sure having to look at all the possible conversions of a context free grammar to reduce the state to its minimum is actually easier than some simple arithmetic in our current system.
Just thinking about how they work here, it looks like Roman numerals are effectively a base 5 notation, with a special behavior for 5n - 1.
In base 10 math there are 18 outcomes for adding two digits, and you have to do carry operations for 9 of them. With carries there are 20 and you have special cases for 10. In Roman numerals there are 10 outcomes, you have to do carries for 5 of them, special casing for two (4 and 9), the numbers are at least one digit longer and non uniform, so it's harder to line up the columns to do an addition in the first place.
And I'm betting that the 5n-1 behavior was probably only used by those with education, and may have even been a class distinguishing numeric feature, with the benefit of making numerals slightly impenetrable to those who didn't know the trick.
In the general case maybe not, but to get by in a marketplace you'd need just those one he listed... like.. 3 or 4 things. 5, 10, 100, 1000. Most people can remember 3 or 4 things. Children can do it, let alone market vendors who are used to considering that 5 chickens = 1 goat. (Inflation these days!)
That's just addition. Do you only need addition in a marketplace? Subtraction requires you convert to another form prior to actually subtracting, so you have to know what form you want. Multiplication and division? Harder.
It's literally just addition in reverse. Instead of having reduction passes where you convert IIIII to V, etc., you'd have an expansion passes to convert V to IIIII.
Yes, that's what I said. But you chose a simple case. Try subtracting more complex numbers, specifically something more complex for the subtrahend. E,g, 42 - 13, which is XLII - XIII. Not only to you have to convert, but you have to convert both sides, and to either a similar format that can be subtracted, or to a lowest common format as suggested above (which is not roman numerals, BTW, so you need to know two systems, Roman numerals, and the alternate format with no prefixes to use to arithmetic).
And that still isn't event touching multiplication or division, which are very common in simple commerce. 100 coins for 8 chickens, or 60 coins for 5 chicken. What's the better deal? I want 7 of these 3 coin breads. You say that's 30 coins? Guess I should check that...
For many cases one can ignore division, but yes, as the article said that generally required an abacus.
Multiplication doesn't in general require an abacus if you're trained in roman numerals. Let's take your "more complicated numbers", 42 * 13.
Expand XLII * XIII = X * XLII + XLII + XLII + XLII, the first requires you to know a times table to see that it's CDXX, the rest you'd add mentally, LLL - XXX = CXX, so it's CDXX + CXXVI = DXLVI. Five hundred forty six.
Like, I'm not saying it's as clean as 42 * 13 = 420 + 126 = 546, it's not. But it's not educationally prohibitive either.
I think we can all agree addition is fairly easy. Multiplication, since it can be explained in terms of addition, it also not really that hard. Subtraction and division are harder, as I originally noted, and by extension division, are harder, as there is not one simple rule for conversion before subtraction that won't require additional conversions unless you go to the simplest form, which is unwieldy (along string of I's).
From my example, which was meant for subtraction, not addition or multiplications, we get the following:
XLII - XIII
so we convert to an optimized form for arithmetic (which is, as I've noted a second format you need to know and keep track of, since it's not valid Roman numeral format
XXXXII - XIII
then we note that we have to borrow from the X "place", so let's do that
XXXVIIIIIII - XIII
now we can actually subtract
(XXXX - X) + V + (IIIIIII - III) = XXX + V + IIII = XXXVIIII
Now we have to convert back to valid Roman numerals
XXXVIV = XXXIX
This is using common current arithmetic techniques. I'm not sure whether this is the method they would have employed, or whether it would have been a different method that could have been easier or harder depending on how it combines with the attributes of this number system. Important things to note about the method shown are a pre and post conversion step (or steps, if you don't get every sub-conversion right initially or don't go to a lowest common format), and then the arithmetic itself requires more borrows.
Well, we can eliminate notations like XL, IV, IX, etc because, as noted in the article, those were not in common usage until much later. Even if we don't, then the first step is to expand these values, much like you would with fractions (i.e., convert to lowest common denominator).
Subtraction is as easy as addition (unless you go into negative numbers). The stategy is to walk the subtrahend left-to-right, eliminating from both as you go. If you run into a value that you don't have, then you expand the minuend from the right until you do.
For your "difficult" example of 42 - 13:
XXXXII - XIII
1 Eliminate an X from both.
Now you have XXXII - III.
2 Eliminate I from both
Now you have XXXI - II. Repeating (2) gives you XXX - I.
3 Since there is no I to eliminate, expand the minuend from the right to create one.
Now you have XXVV - I, repeat since you still don't have a I, repeat (3) which gives you XXVIIIII - I
Eliminate the from I both, giving the final result: XXVIIII.
Optional, you can "reduce" this to XXVIV, like you would if you had a fraction, like 3/9, but as stated in the article, this notation was not common place in ancient Rome.
According to the article, that notation didn't come into use until the middle ages. So using IIII instead of IV was almost certainly acceptable in the context of transactions. Even if it wasn't, doing the conversion before addition/subtraction would be trivial (and the first step).
I believe some Roman inscriptions were found to use additive, i.e. III + I = IIII, VI + III = VIIII. Certainly I feel that nobody would look at IIII and be confused as to what it represents.
Lets say I am a farmer and I take eleven pigs to market. I start with XI pigs and sell three III. I know X = VV and I know V = IIIII so I expand XI = VVI = V IIIII I, then take way III sticks and am left with VIII. It is easier for simple primitive thing because the stick I represents a thing and the V represents 5 I's and X represents 2 V's. It is perhaps easier for someone like a farmer in Roman times to use than remembering arithmetic rules. It is more directly related to the physical world. At least that was my hypothesis.
Also it's not "really" hard. Think of subtractive notation as a way to write down what's really an int1 - int2 expression in normal roman numerals, with the out-of-order characters representing int2. To add these together, (A1, A2) + (B1, B2) = normalize(A1+B1, A2+B2) where those additions are a little easier. The normalize step is not very complicated; it basically says "if a letter is repeated on both sides eliminate one instance of it; if it is not but there are too many on one side, adjust the other side to compensate." The only nuance is that "too many" for the left hand side is "four" whereas "too many" for the right hand side is "two."
Okay so the article is wrong about some points. We have evidence for both IIII and IV notation in classic roman archeological finds. The obvious example is the entrance fee doors around the colliseum in Rome, they're are engraved with numbers, in both forms of notation.
Seriously I figured they used abacus for everything they just figured out the notation to write it down in at the end some would convert to the if notation while others would not.
It seems the subtractive notation was used for engravings, where keeping it short was important and nobody was going to do calculations with the numbers anyway.
> Seriously I figured they used abacus for everything they just figured out the notation to write it down in at the end some would convert to the if notation while others would not.
Yes, this is exactly right, and should be at the top of this discussion thread. Romans (like the Greeks, the Babylonians, and others in the ancient world) did their calculations using a counting board. Roman numerals were only used for recording the final answers.
Personally, I find distinguishing III and IIII quite hard in several fonts. However, the difference between [II and III] and [III and IV] is easier to read.
Arabic numeral: Cardinal number name | Ordinal number name, with conjugation information
1: Unus -a -um | primus -a -um
2: duo, duae, duo | secundus -a -um
3: tres, tria | tertius -a -um
4: quattuor | quartus -a -um
5: quinque | quintus -a -um
6: sex | sextus -a -um
7: septem | septimus -a -um
8: octo | octavus -a -um
9: novem | nonus -a -um
10: decem | decimus -a -um
11: undecim | undecimus -a -um
12: duodecim | duodecimus -a -um
13: tredecim | tertius decimus -a -um
14: quattuordecim | quartus decimus -a -um
15: quindecim | quintus decimus -a -um
16: sedecim | sextus decimus -a -um
17: septendecim | septimus decimus -a -um
18: duodeviginti | duodevice(n)simus -a -um
19: undeviginti | undevice(n)simus -a -um
20: viginti | vice(n)simus -a -um
30: triginta | trice(n)simus -a -um
40: quadraginta | quadrage(n)simus -a -um
50: quinquaginta | quinquage(n)simus -a -um
60: sexaginta | sexage(n)simus -a -um
70: septuaginta | septuage(n)simus -a -um
80: octoginta | octoge(n)simus -a -um
90: nonaginta | nonage(n)simus -a -um
100: centum | cente(n)simus -a -um
500: quingenti | quingente(n)simus -a -um
1000: mille | mille(n)simus -a -um
From Cassell's Latin English Dictionary, second edition.
Just like an English speaker sees "1, 2, 3, 4, 5, 6" and pronounces "one, two, three, four, five, six". Sure, the Roman numerals look like letters, but that doesn't mean you pronounce them that way.
In my opinion the important innovation of Hindu–Arabic numbers is not having different symbols for each digit, but rather using the same ten symbols (and no others!) for representing larger groups, which gives the system a lovely uniformity across numbers of different scales.
There aren’t many (if any?) human languages that duplicate this feature of being a purely positional system.
...which is funny (the Asterix thing), because spoken French isn't exactly brilliant with numbers either: 99 for example is expressed as "eighty nineteen", 70 as "sixty ten".
My friends lived in France a while and said their landlady could never count their rent (paid in cash) correctly first time. Always stumbled somewhere between 100x+60 and 100x+100 for integer values of x.
> 99 for example is expressed as "eighty nineteen"
Actually it's four-twenty-ten-nine (quatre vingt dix neuf) --
-- which is perfectly logical on a twenty-based numbering system. Of course it's not very helpful that they switched to ten-based, but only up to 60.
Same thing with Belgian French, much to my dismay.
I speak a language that does this as well (Georgian), where say 54 is ormotsdatotxmeti (two times twenty and fourteen.)
I didn't find maths particularly different difficulty wise, when thinking about it in Georgian or not. What did trip me up, was the times! Up to x:29 it's 29 minutes past x, but at x:30 it is 30 minutes to ++x. Weird.
It survives in part in quite a few other languages as well. E.g. Danish ("fjerds" is a contraction of "four into 20" = 80).
Most other European languages at least (I'm sure it's present elsewhere too, but I don't know enough non-European languages to say) have some remnants of more widespread counting in 12's or 20's or both (e.g. in English a "dozen" is 12, a "gross" is a dozen dozen (144), and a "score" is 20, hence "four score and seven years ago" in Lincolns Gettysburg Address - 87 years).
73 is soixante treize and is just this : a word (ok, two) one learns by heart. No French think that this is 60+13, but just 73.
I understand the point about logics in counting, but this is just a new word to learn, like déposition or balafré. One can analyze these words from an ethymology perspective but normally you just learn them by heart.
At least this is what I do in English when I need to remember went or throughout .
It bugs me when people mix our standard numerals with Roman numerals, such as 12MM to mean twelve million. They are different numerals and the meaning is not defined when they are used together.
And Roman numerals are not like SI suffixes, meaning they are not multiplicative; Roman numerals are additive, so MM is two thousand, not one million. Also, M is an SI suffix, so 12M means twelve million and 12MM just looks like a typo.
Obviously people do not use SI suffixes may not feel the same way, this is just my pet peeve because I use SI suffixes in science.
Perhaps you mean "how" rather than "why". Others have answered with the gory "how" details.
Perhaps you mean "why would anyone think to make this work?" To the degree anyone thought "let's make this work", the "this" was adopting the full Unicode vision -- decent digital support for the many native languages humans use (from Arabic to Zulu).
Perhaps you mean "why" as in "why would someone write the underlying language/compiler code that makes Latin math work?" Some old languages, like Latin, just happen to have been automatically enabled too. Some compiler dev would have to write code to stop it working.
Perhaps you mean "why would weird Unicode characters be acceptable in a programming language's source code?" Because P6 defers to the Unicode standard by default for determining what languages and characters may be included in source code.
This in turn allows everyone on the planet to feel welcome to write code in their native language and/or use characters they're familiar with in their line of work. (For example mathematicians can use the appropriate mathematical symbols to express themselves in P6 code.)
That's just a helper script to generate tables for for .succ/.pred string increment/decrement methods. Nd and No chars as numeric literals were available since first stable release in December 2015
> EDIT: Ok, so I installed perl6 (rakudo) just to test this out, and it apparently doesn't work out of the box. Pity.
By any chance, was it from system packages that are likely outdated? You can get up-to-date packages [here](https://github.com/nxadm/rakudo-pkg/releases) or for Windows/Mac, use [Rakudo Star](http://rakudo.org/downloads/star/). Anything older than 2017.04 is ancient and anything older than 2015.12 precedes first stable release and is likely broken.
> Now I wonder what other number systems it supports
It goes by Unicode's definition of what's a digit or a number (using Nd and No) properties. Nd chars are "digits" and can be combined. `No` chars are "Numeric other" and can't be combined; can only use them as numeric literals. [Among other things](https://docs.perl6.org/language/unicode_texas.html#Numeric_c...), that includes Unicodey fractions. And as a cherry on top, you can use superscript chars to raise to a power:
$ rakudo -e 'say ½ + 42²'
1764.5
Here are all the Nd and No chars that can be used as numeric literals:
I used the version from the Ubuntu Xenial package repositories, and that perl was apparently from November 2015. I guess such is life when you go with long-term support and stable packages.
Since we have a lot of math experts here I thought I'd ask a question I was always wondering about: Is there an inherent advantage or disadvantage to using the decimal system as we do? Somehow I think octal or hexadecimal would be easier but I am not sure.
I apologize for not being one of the experts you speak of, but I do know of others that say there are superior number bases to use for everyday counting.
These people believe that base 12 would be superior to base 10. And they do make good points, expressing fractions like those in 3rds become easier. Is it superior in the grand scheme? I'll leave that debate to actual experts. Will people see the utility and switch? I'm going to keep my base 10 skills up, you know, just in case duodecimal doesn't catch on. ;-)
If a kilo, for example, was made of 12 x 12 x 12 (1728) grams instead of 1000 grams, then you could sell stuff by the half-kilo, third-kilo, and 1/12 kilo without going into decimals. The number 1728 would still be written as 1000 in base 12, but 1/3 kilo would be 400 grams instead of 333.3333... as it is now. Useful if you're a grocer.
Other applications, like documenting how much oil to put in a car or whatever, there would be more options for picking memorable numbers. Like, my motorcycle takes 1.6L of oil. It could be 1 represented as 1 2/3 L, which is more visually intuitive. Not sure if I explained that well enough, maybe someone else has got a better metaphor handy...
Is it some American thing that measuring things as fractions is easier than decimals? To me being used with metric system 1.6L is equally intuitive as 1 2/3, maybe even more intuitive.
It's just hardwired in the brain how much 0.6, or 60%, represents, I think internally my brain finds the closest easy references like 10%, 25%, 33%, 50% or 75% and then interpolates or adds or removes chunks of 10%, the rest is rounding errors. I mean, i dont have to think consciously if 0.69 is more or less than 75% and i know exactly where both 66.66% and 75% is and can place it somewhere in between.
I agree that fractions are a very American thing. A lot of stuff is expressed as fractions here. But I bet a lot of people couldn't tell you whether 5/16 is more then 1/3 or not.
Another thing is that multiplying and dividing by 2 and 5 is easier in base-10. For example, to divide by 5 you multiply the number by 2 (just add it to itself) and then divide by 10 (a right shift).
On the other hand, to divide by 3 you basically need to do long division.
I was about to post that in my opinion base-12 is superior to base-10. But someone beat me to it. In a six-fi novel I'm writing, an advanced alien civilisation uses base-12.
As to your question specifically regarding base-16 instead of base-12, it depends.
Decimal itself is just a bizarre choice, most likely due to humans having literally ten digits. In decimal we can represent exact fractions of 1/2, 1/5, and 1/10 (without repeated decimals like 0.33333 for 1/3). Counting by fives (and twos) is very easy.
But choosing prime factors of 2 and 5 is a strange choice in itself. Why skip 3? Why is it more useful to easily represent fraction 1/5th as 0.2 instead of 1/3rd? How often do we use fifths?
Hexadecimal in one sense is easier, all prime factors are two. So we can represent 1/2, 1/4, 1/8, and 1/16 exactly.
Duodecimal (Base 12) is very convenient for having a high proportion of exact fractions. Eg - 1/12, 1/6, 1/4, 1/3, and 1/2 can all be represented exactly. I'd argue in everyday use we're more likely to consider 1/3rd of something than 1/5th. Counting by twos, threes, fours, and sixes is easy. Watch, let's count to 20 (24 in decimal) by 3's : 3, 6, 9, 10, 13, 16, 19, 20. In 4's : 4, 8, 10, 14, 18, 20. By 6 : 6, 10, 16, 20.
Base-12 offers four handy subdivisions (excluding 1) instead of two for decimal or three for hexadecimal. That beats hexadecimal using fewer unique digits. It beats decimal by two using only two extra unique digits.
And I think it's these reasons it was chosen for various historical subdivisional units (inches per foot, pence per shilling).
The other item to consider is the relative number of unique values per digit. I'm not sure of the utility of having 10, 12, or 16 here.
At one extreme, while binary is useful for discretising signals in digital logic, using only zeroes and ones becomes cumbersome for daily use at higher numbers.
Once we're at base 10 and higher, I'm not sure how much here extra digits help or hurt.
Make them use base-23 and somehow this will allow them find the secrets of the universe because the question to life, the universe and everything can be solved easily with base-23 math.
The higher the base the more combinations of numbers you have to memorize to do basic arithmetic, and fewer steps you have to take when doing things like addition. I'm sure there's a sweet spot. I don't know that decimal is necessarily it.
The most efficient basis when you take into account both storage and calculation work is binary. That's not exactly the reason our computers use it, but it's one reason why they never moved away from it.
But humans are kinda complex, and don't trade well long term learning for boring tasks. We seem to be great exactly around base 10 (probably 12 would be perfect, like people already said).
I am going to guess base 10 is prevalent because we have 10 fingers ? :)
I speak a language (Mende) that has no formal mathematics but counting is done in base 10; there are 10 individual words for 1 to 10 , the word for one is "yaella", the word for 10 is "poo", the word (really expression) for 11 is "poo mahun yaella", which literally translates to 10 on top of 1 ie 10+1...I can only think they stopped at 10 words because there are ten fingers to do elementary arithmetic?? granted there are other words for high magnitudes...there are apparently other languages with other bases besides 10 so who knows...possibly due to using other cultural artifacts to serve as digits.
> I am going to guess base 10 is prevalent because we have 10 fingers ? :)
Yeah, basically. There are other ways to count on your hands though. I seem to recall there are places that count on their hands using the 12 finger joints (or segments), and it works just as well.
Edit: To clarify, they use their thumb to point to the joints or segments on each of their fingers, in turn.
interesting :)...if you use all the bone segments in the fingers you can also get base 14 or 28, there is probably a culture out there doing just that.
An odd base is better in the sense that it doesn't need the weird "round to even" and "round to odd" rounding modes (https://en.wikipedia.org/wiki/Rounding#Round_half_to_even) to do unbiased computations when computing with fixed-width numbers.
That would mean 1/2 doesn't have a finite expansion, but why would it? Most numbers don't.
Not really. Different decimal systems will make divisibity by the primes of the base number more obvious (and thus polynomials whose solution set contain those primes will be more obvious), and fractions whose prime factorizations are contained in the primes of the base will be finite as opposed to "repeating", but all the structures beneath remain the same.
Perhaps this is why there were really no Roman mathematicians. For how much they admired and emulated the Greeks, they themselves were never really able to contribute to math and science in the same way. Practically everything we think about today in western civilization in terms of Law, Architecture, Engineering, and Urban Planning comes directly from the Romans. Yet they never produced an Archimedes or a Pythagoras. Euclid remained the height of mathematical sophistication in the West through their entire reign until the rise of Arab/Islamic mathematics in the 800s.
Seems unlikely. Greeks and Romans probably did calculations in pretty much the same way, using a counting board. The early Greek way of writing numbers (look up Attic numerals) was the direct ancestor of the Roman method.
The alternative later way the Greeks (e.g. Euclid, Archimedes) wrote numbers was using their alphabet for 1–9, using separate letters for 10–90 and 100–900, then writing 1000–9000 with a “thousand” symbol plus the letter for 1–9 on top. Overall also a big pain in the butt.
Huh so I've wondered how the Babylonian "base 60" system worked. Looking at the image in that article it's not base 60 at all! It's more like a mix of base 6 and base 10. The factor increase for the columns are not:
Some aspects of 'math' came along with arabic, but Roman Numerals work fine for their situation, at that time.
In conversation, it's just the I-M/0-1000 range for instance, learning how to notate that number is a different issue.
Notation is somewhat straight-forward: When you get to 4, the number undergoes a state change to 'subtract from the next number, dropping everything behind it, and we're in a new state so "the" number is changed to 5' so III becomes IV. Otherwise, just keep adding 1. That should work, adding to the previous rules as the state changes. Going to X leaves the V rules in place.
https://en.wikipedia.org/wiki/Leibniz%27s_notation