Factory Façades

Practically speaking, I’d never heard of them. Practical numbers, that is. They’re defined like this at the Online Encyclopedia of Integer Sequences:

A005153 Practical numbers: positive integers m such that every k <= sigma(m) is a sum of distinct divisors of m. Also called panarithmic numbers. […] Equivalently, positive integers m such that every number k <= m is a sum of distinct divisors of m. — A005153 at OEIS

In other words, if you take, say, divisors(12) = 1, 2, 3, 4, 6, you can find partial sums of those divisors that equal every number from 1 to 16, where 16 = 1+2+3+4+6. Here are all those sums, with c as the count of divisor-sums equalling a particular k (to simplify things, I’m excluding 12 as a divisor of 12):

1, 2, 3, 4, 6 = divisors(12)

01 = 1 (c=1)
02 = 2 (c=1)
03 = 1 + 2 = 3 (c=2)
04 = 1 + 3 = 4 (c=2)
05 = 2 + 3 = 1 + 4 (c=2)
06 = 1 + 2 + 3 = 2 + 4 = 6 (c=3)
07 = 1 + 2 + 4 = 3 + 4 = 1 + 6 (c=3)
08 = 1 + 3 + 4 = 2 + 6 (c=2)
09 = 2 + 3 + 4 = 1 + 2 + 6 = 3 + 6 (c=3)
10 = 1 + 2 + 3 + 4 = 1 + 3 + 6 = 4 + 6 (c=3)
11 = 2 + 3 + 6 = 1 + 4 + 6 (c=2)
12 = 1 + 2 + 3 + 6 = 2 + 4 + 6 (c=2)
13 = 1 + 2 + 4 + 6 = 3 + 4 + 6 (c=2)
14 = 1 + 3 + 4 + 6 (c=1)
15 = 2 + 3 + 4 + 6 (c=1)
16 = 1 + 2 + 3 + 4 + 6 (c=1)

Learning about practical numbers inspired me to look at the graphs of the count of the divisor-sums for 12. If you include count(0) = 1 (there is one way of choosing divisors of 12 to equal 0, namely, by choosing none of the divisors), the graph looks like this:

counts of divisorsum(12) = k, where 12 = 2^2 * 3 → 1, 2, 3, 4, 6


Here are some more graphs for partialsumcount(n), adjusted for a standardized y-max. They remind me variously of skyscrapers, pyramids, stupas, factories and factory façades, forts bristling with radar antennae, and the Houses of Parliament. All in an art-deco style:

18 = 2 * 3^2 → 1, 2, 3, 6, 9


24 = 2^3 * 3 → 1, 2, 3, 4, 6, 8, 12


30 = 2 * 3 * 5 → 1, 2, 3, 5, 6, 10, 15


36 = 2^2 * 3^2 → 1, 2, 3, 4, 6, 9, 12, 18


48 = 2^4 * 3 → 1, 2, 3, 4, 6, 8, 12, 16, 24


54 = 2 * 3^3 → 1, 2, 3, 6, 9, 18, 27


60 = 2^2 * 3 * 5 → 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30


72 = 2^3 * 3^2 → 1, 2, 3, 4, 6, 8, 9, 12, 18, 24, 36


88 = 2^3 * 11 → 1, 2, 4, 8, 11, 22, 44, 88


96 = 2^5 * 3 → 1, 2, 3, 4, 6, 8, 12, 16, 24, 32, 48


100 = 2^2 * 5^2 → 1, 2, 4, 5, 10, 20, 25, 50


108 = 2^2 * 3^3 → 1, 2, 3, 4, 6, 9, 12, 18, 27, 36, 54


120 = 2^3 * 3 * 5 → 1, 2, 3, 4, 5, 6, 8, 10, 12, 15, 20, 24, 30, 40, 60


126 = 2 * 3^2 * 7 → 1, 2, 3, 6, 7, 9, 14, 18, 21, 42, 63


162 = 2 * 3^4 → 1, 2, 3, 6, 9, 18, 27, 54, 81


220 = 2^2 * 5 * 11 → 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110


And what about im-practical numbers, where the partial sums of divisors(m) don’t equal every number 1..sigma(m)? There are interesting fractal patterns to be uncovered there, as you can see from the graph for 190 (because all divsumcount(k) = 1, the graph looks like a bar-code):

190 = 2 * 5 * 19 → 1, 2, 5, 10, 19, 38, 95


Pooh Pooh-Poohed

A.A. Milne’s Winnie-the-Pooh (1926) is a core kiddy-culture classic. And I’ve always been a big fan. Especially of Eeyore. But it wasn’t till 2025 that I noticed a big bit of bad writing in the book. Or maybe it isn’t. Maybe the redundancy here is more natural English than the same passage with the redundancy removed. But I still think removing the redundancy makes it read better. See for yourself:

One day when he was out walking, he [Winnie-the-Pooh] came to an open place in the middle of the forest, and in the middle of this place was a large oak-tree, and, from the top of the tree, there came a loud buzzing-noise.

In this drawing, Winnie-the-Pooh is peering up. There are tiny things swarming around up there.

Winnie-the-Pooh sat down at the foot of the tree, put his head between his paws and began to think.

First of all he said to himself: “That buzzing-noise means something. You don’t get a buzzing-noise like that, just buzzing and buzzing, without its meaning something. If there’s a buzzing-noise, somebody’s making a buzzing-noise, and the only reason for making a buzzing-noise that I know of is because you’re a bee.”

Then he thought another long time, and said: “And the only reason for being a bee that I know of is making honey.”

And then he got up, and said: “And the only reason for making honey is so as I can eat it.” So he began to climb the tree. — Winnie-the-Pooh, chapter 1

REMOVING

REDUNDANCY

One day when he was out walking, he came to an open place in the middle of the forest, and in the middle of this place was a large oak-tree, and, from the top of the tree, there came a loud buzzing.

In this drawing, Winnie-the-Pooh is peering up. There are tiny things swarming around up there.

Winnie-the-Pooh sat down at the foot of the tree, put his head between his paws and began to think.

First of all he said to himself: “That buzzing means something. You don’t get a buzzing like that, just buzzing and buzzing, without its meaning something. If there’s a buzzing, somebody’s making a buzzing, and the only reason for making a buzzing that I know of is because you’re a bee.”

Then he thought another long time, and said: “And the only reason for being a bee that I know of is making honey.”

And then he got up, and said: “And the only reason for making honey is so as I can eat it.” So he began to climb the tree. — Winnie-the-Pooh, chapter 1


Elsewhere Other-Accessible…

Winnie-the-Pooh (1926) at Gutenberg

Previously Pre-Posted…

Noise Annoys — discussion of the redundancy of “noise”
Nice Noise — more discussion of the redundancy of “noise”

Weird Tails

Squirrel

Meaning

One or other of various species of slender, graceful, agile rodents (characterized by a long bushy tail, furry coat, and bright eyes), belonging to the genus Sciurus, or to the widely-distributed sub-family Sciurina including this; esp. the common species Sciurus vulgaris, native to Britain, Europe, and parts of Asia.

Etymology

Anglo-Norman esquirel, Old French esquireul, escureul, ‑ol, etc. (modern French écureuil), = Provençal escurols, Spanish esquirol, medieval Latin (e)scurellus, scurellius, scuriolus, diminutives from popular Latin *scūrius, for Latin sciūrus, < Greek σκίουρος, apparently < σκιά shade + οὐρά tail.

Oxford English Dictionary, entry for “Squirrel”.

Sorted for D’s nand Wizz

As I’ve pre-previously pointed out, there are an infinite number of points in the plane. And in part of the plane. So you have to pare points to create interesting shapes. One way of paring points is by comparing them. After you’ve compared them, you can sort them. For example, you can compare the distance from (x,y) to the four vertices of a square. Then you can sort the distances from nearest to furthest. Then you can mark (x,y) if the distance to, say, the nearest vertice from (x,y) is evenly divisible by 2 when measured in pixels or some other unit. When you do that, you might get an image like this (depending on the hardware and software you use):

Distance to nearest vertex is evenly divisible by 2, i.e. d mod 2 = 0 for v1 (vertices marked in red)


Or you can mark (x,y) if the distance to the nearest vertex is a triangular number:

is_triangular(d) for v1


Or a square number:

is_square(d) for v1


Or you can test the distance to the second-nearest vertex:

d mod 2 = 0 for v2


And the third-nearest (or second-furthest) vertex:

d mod 2 = 0 for v3


And furthest vertex:

d mod 2 = 0 for v4


Now try expanding or contracting the square:

d mod 2 = 0 for v1 on square * 2


d mod 2 = 0 for v1 on square * 3


d mod 2 = 0 for v1 on square * 0.5


d mod 2 = 0 for v1 on square * 1.5


d mod 2 = 0 for v1 on square * 5


d mod 2 = 0 for v1 on square * 20


d mod 2 = 0 for v1 on square * 100


Finally, here are some more mandala-like images created by using various d mod m on an expanded square (the images should be horizontally and vertically mirror-symmetrical, but my software introduced artefacts):

d mod 2 = 0 for v1 on square * 200
(open in separate window for better detail)


d mod 3 = 0 for v1 on square * 200


d mod 4 = 0 for v1 on square * 200


d mod 5 = 0 for v1 on square * 200


d mod 6 = 0 for v1 on square * 200


d mod 7 = 0 for p1 on square * 200


d mod 8 = 0 for p1 on square * 200


d mod 9 = 0 for p1 on square * 200


d mod 2..9 = 0 for p1 on square * 200 (animated at EZgif)


Post-Performative Post-Scriptum…

The title of this incendiary intervention is a paronomasia on “Sorted for E’s and Wizz”, a song offa of 1995 album Different Class by Sheffield Brit-popsters Pulp rebelliously referencing counter-cultural consumption of psychoactive drugs ecstasy and amphetamine. My program sorted distances, i.e. d’s, but not wizz, therefore it sorted d’s and-not wizz. In Boolean logic, nand means “and-not” (roughly speaking).


Previously Pre-Posted (Please Peruse)…

Points Pared — an earlier look at points and polygons

Omnia e Tarot

« Une personne emprisonnée sans autre livre que le Tarot, s’il savait comment l’utiliser, pourrait dans quelques années acquérir une connaissance universelle et pourrait s’exprimer sur tous les sujets avec un savoir inégalé et une éloquence inépuisable. » – Éliphas Lévi (1810-75)

• “An imprisoned person, with no other book than the Tarot, if he knew how to use it, could in a few years acquire universal knowledge, and would be able to speak on all subjects with unequalled learning and inexhaustible eloquence.” – Éliphas Lévi


Post-Performative Post-Scriptum

I’m not sure if the above is the French original. It might be a back-translation of the English translation of the French original, because I found it here, not in any online French texts by Lévi.

Fertile Fractions

Here’s the simplest possible Egyptian fraction summing to 1:

1 = 1/2 + 1/3 + 1/6 = egypt(2,3,6)

But how many times does 1 = egypt()? Infinitely often, as is very easy to prove. Take this equation:

1/6 – 1/7 = 1/42

For any 1/n, 1/n – 1/(n+1) = 1/(n*(n+1)) = 1/(n^2 + n). In the case of 1/6, the formula means that you can re-write egypt(2,3,6) like this:

1 = egypt(2,3,7,42) = 1/2 + 1/3 + 1/7 + 1/42

Now try these equations:

1/6 – 1/8 = 1/24
1/6 – 1/9 = 1/18
1/6 – 1/10 = 1/15

Which lead to these re-writes of egypt(2,3,6):

1 = egypt(2,3,8,24)
1 = egypt(2,3,9,18)
1 = egypt(2,3,10,15)

Alternatively, you can expand the 1/3 of egypt(2,3,6):

1/3 – 1/4 = 1/12

Therefore:

1 = egypt(2,4,6,12)

And the 1/12 opens all these possibilities:

1/12 – 1/13 = 1/156 → 1 = egypt(2,4,6,13,156)
1/12 – 1/14 = 1/84 → 1 = egypt(2,4,6,14,84)
1/12 – 1/15 = 1/60 → 1 = egypt(2,4,6,15,60)
1/12 – 1/16 = 1/48 → 1 = egypt(2,4,6,16,48)
1/12 – 1/18 = 1/36 → 1 = egypt(2,4,6,18,36)
1/12 – 1/20 = 1/30 → 1 = egypt(2,4,6,20,30)
1/12 – 1/21 = 1/28 → 1 = egypt(2,4,6,21,28)

So you can expand an Egyptian fraction for ever. If you stick to expanding the 1/6 to 1/7 + 1/42, then the 1/42 to 1/43 + 1/1806 and so on, you get this:

1 = egypt(2,3,6)
1 = egypt(2,3,7,42)
1 = egypt(2,3,7,43,1806)
1 = egypt(2,3,7,43,1807,3263442)
1 = egypt(2,3,7,43,1807,3263443,10650056950806)
1 = egypt(2,3,7,43,1807,3263443,10650056950807,113423713055421844361000442)
1 = egypt(2,3,7,43,1807,3263443,10650056950807,113423713055421844361000443,12864938683278671740537145998360961546653259485195806)
1 = egypt(2,3,7,43,1807,3263443,10650056950807,113423713055421844361000443,12864938683278671740537145998360961546653259485195807,165506647324519964198468195444439180017513152706377497841851388766535868639572406808911988131737645185442)
[…]


Elsewhere Other-Accessible…

A000058, Sylvester’s Sequence, at the Online Encyclopedia of Integer Sequences, with more details on the numbers above