Why the first digit of the values of (Jeffreys) physical quantities tends

Why the first digit of the values of
(Jeffreys) physical quantities
tends to be 1 or 2 ?
Albert Tarantola
Preamble
Needs@"Histograms`"D
SeedRandom@0D
Run with 24 000 points
Let us select 24 000 as the number of values.
n = 24 000;
We generate 24 000 values with constant probability density in the range (-100,+100):
x = Table@Random@Real, 8-100, +100<D, 8n<D;
Let us print a few of them:
Do@Print@xPiTD, 8i, 1, 12<D
2
BenfordLaw.nb
-93.6293
28.0416
44.8605
16.1768
86.2303
27.3468
85.6849
-90.212
40.4607
-14.9532
38.7222
-96.2569
The histogram of the 64 values is totally unremarkable:
Histogram@x, HistogramCategories Ø 50D
600
500
400
300
200
100
-50
0
50
100
We now take the exponential of these values:
X = Exp@xD;
Let us print a few of them (remark the first digit is more frequently an "one" or a "two"
than a "eight" or a "nine"):
Do@Print@XPiTD, 8i, 1, 24<D
BenfordLaw.nb
2.17432 µ 10-41
1.50775 µ 1012
3.03857 µ 1019
1.0605 µ 107
2.8141 µ 1037
7.52621 µ 1011
1.63116 µ 1037
6.62843 µ 10-40
3.73141 µ 1017
3.20563 µ 10-7
6.5587 µ 1016
1.57096 µ 10-42
9.96534 µ 1020
2.31391 µ 1026
5.57056 µ 10-17
1.35796 µ 1041
2.74402 µ 1040
6.19154 µ 1040
4.25461 µ 1025
5.61376 µ 1037
2.61438 µ 1015
31 235.8
6.1763 µ 10-42
4.5804 µ 1026
To isolate the first digit, we evaluate the mantissa of the numbers, we multiply ther
mantissa by 10 and take the integer part:
XX = MantissaExponent@XD;
Y = Table@XX@@i, 1DD, 8i, 1, n<D;
YY = 10 Y;
Z = IntegerPart@YYD;
Let us print a few of them:
Do@Print@ZPiTD, 8i, 1, 24<D
3
4
2
1
3
1
2
7
1
6
3
3
6
1
9
2
5
1
2
6
4
5
2
3
6
4
BenfordLaw.nb
BenfordLaw.nb
And we can now make the histogram of the first digit of the quantities X = Exp[x] :
H1 = Histogram@Z, HistogramCategories Ø 80.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5<D
7000
6000
5000
4000
3000
2000
1000
2
4
6
8
This is the Benford law! Here we have built it mathematically. But we find it everywhere
in Nature -> Nature works somehow this way.
In fact, let us compare this experimental histogram with the Benford law. The Benford
law is:
Benford@k_D = Log@10, Hk + 1L ê kD;
Its plot is:
H2 = ListPlot@n Table@Benford@kD, 8k, 1, 9<D, PlotRange Ø 80, 7300<D
7000
6000
5000
4000
3000
2000
1000
0
2
4
6
8
5
6
BenfordLaw.nb
We can plot together the experimental histogram and the Benford law (excellent
agreement):
Show@8H1, H2<D
7000
6000
5000
4000
3000
2000
1000
2
4
6
8