Why is the mole/"amount of substance" a dimensional quantity?
So, here's the thing. The chemistry that underlies molar mass ratios dates back at least to 1805. We've known that if you divide by a certain "relative mass" number you can get whole-number ratios for atoms in a pile of stuff, for that long. It took us about 60 more years to get a handle on how large atoms were with the estimations of Loschmidt, who worked out that atoms are much smaller than the wavelengths of visible light -- too small to ever "see". This gave a rough count of how many atoms there were in a confined space, too -- but we weren't able to connect these two different quantities (atomic relative masses, count of atoms) together to figure out the mass of a single atom until some work done by Einstein on diffusion in Brownian motion (1905) and some concrete numbers could finally be rolled in with Millikan's oil-drop experiment (1910).
So due to history and convenience, the chemists are basically at the level of saying, "okay, we have N grams of this stuff, our mass spectrometer says that it's M grams per mole, so we've got N/M moles, that includes N/M moles of nitrogen and 15 N/M moles of hydrogen due to the known atomic composition, ..." and so on. You never have to add the uncertainty in Avogadro's number to these calculations; the "size" of a mole isn't important. It's only important when you start to want to know things that are "beyond" historical chemistry approaches, like counting actual numbers of atoms.
With all that said, you'll be heart-warmed to know that there is a unit revision being considered by the SI organization, and one of the proposals is to fix the number of atoms in 1 mole. But of course they will still use as a guideline that "1 mole of carbon-12 has exactly 12 grams of mass"; it will just transition from what is now "exactly" to what will be "almost exactly."
Tim, your reservations about the quantity called "amount of substance" is completely justified and many authors argue the same as you do. Let me expand some:
"matter" or "substance" can be quantified in at least three different ways:
- by its mass
- by its volume
- by its numerosity
Some matching examples:
- the "matter" we call bread is usually bought by mass (e.g. a kg bread)
- the "matter" we call milk is usually bought by volume (e.g. a liter milk)
- the "matter" we call eggs is usually bought by numerosity (e.g. a dozen eggs)
In physics we commonly believe that all quantities are valid for any scale. In chemistry, many people think differently. For example, many chemists use the quantity "mass" in the macro scale, but use a different quantity called "relative mass" in the micro scale (atomic or molecular scale). "Relative mass" is considered a dimensionless quantity, and it is a quantity which does not really make sense in the context of modern metrology.
Something similar is the case for numerosity. Many chemists think numerosity is a quantity for the micro scale only, whereas in the macro scale you need to use a different quantity called "amount of substance". Again, many authors think this is not consistent with the rules of modern metrology. They consider the mole as a unit of the quantity "numerosity" analogous to "dozen".
Why do many chemists have these strange opinions? Some of them for historical reasons. There was a time when there was a total disconnect between macro scale and micro scale. The mole existed before there was a consensus that there are atoms and molecules. Without this consensus, it was not possible to consider the mols a numerosity. However, some chemists try even today to rationalize it. They claim that the number of entities in a mole is so large that it is not possible to actually count a mole and that therefore a different quantity is required. Personally I believe this is nonsense. I even believe that with progressing technology we will be able one day to count the entities in a macro scale amount.
Finally, you argue that numerosity should not be considered dimensionless. Here too, I am with you. I even think that numerosity should somehow include in the unit or the dimension what is being counted. For example, 5 apples and 5 oranges are clearly different and they should not be considered the same dimension. This is also the reason why you cannot add the two quantities (you never can add quantities of different dimension). This would mean "apples" would be a quantity dimension and, at the same time, a short version of the unit "entities of apples". Another unit would be "dozzen of apples" or "kapples" (kilo apples).
References:
- The Mole is Not an Ordinary Measurement Unit. Ingvar Johansson. Accred. Qual. Assur. 16, 467 (2011); author eprint.
- Failures of the global measurement system. Part 1: the case of chemistry. Gary Price. Accred. Qual. Assur. 15, 477 (2010).
- Ten reasons NOT to fix the numerical value of the Avogadro constant. Nigel Wheatley. Nature Proceedings (2011), discussion paper for the 17th meeting of the Comité Consultatif pour la Quantité de Matière ─ metrologie en chimie (CCQM); eprint.
There is a lot of wiggle room in dimensional analysis ("factor-label method"), not just "the right way" and "the wrong way". If I want to define a unit called "dozen" with the universal constant
Steve's constant = 12 dozen-1,
there's nothing wrong with this. It doesn't change anything except superficially:
(5 dozen)2×(12 dozen-1)2 --- vs --- (5×12)2
Which is better? The left one is slightly wordier. But maybe the left one is easier to follow, because I'm ordering dolls by the dozen from a catalog and the label "dozen" is easier to parse than the number 12. The left version might or might not reduce the chance of stupid mistakes like forgetting to square the 12 (e.g. it depends on whether I'm checking the calculations with a computer algebra system).
Something similar comes up in software engineering. In some languages (like Haskell), you can create multiple types that are inherently the same but semantically different, and only allow explicit (not implicit) conversions between them. For example, "row index" vs "column index" of a matrix are both nonnegative integers, but it is a common mistake to switch them by accident. So, maybe you want them to be two different types, so that the compiler will not let you switch them by accident. OK that's the advantage; but the disadvantage is that the code becomes wordier as you need to write and frequently use functions like row_index_from_int()
and column_index_from_row_index()
etc.
So treating "mole" (or "dozen" etc.) as an algebraic unit rather than a number is just like that. To the extent that it makes your calculations easier to read and less prone to error, it's a good idea, but doesn't have any deeper meaning beyond that.
See also my answer here