Punctuated Pairimeters

Imagine using the digits of n in two different bases to generate two fractions, a/b and c/d, where a/b < 1 and c/d < 1 (see Appendix for a sample program). Now use the fractions to find a pair of points on the perimeter of a circle, (x1, y1) and (x2, y2), then calculate and mark the midpoint of (x1, y1) and (x2, y2). If the bases have a prime factor in common, pretty patterns will appear from this punctuated pairimetry:

b1 = 2; b2 = 6


b1 = 2; b2 = 10


b1 = 2; b2 = 14


b1 = 4; b2 = 10


b1 = 4; b2 = 20


b1 = 4; b2 = 28


b1 = 6; b2 = 42


b1 = 12; b2 = 39


b1 = 24; b2 = 28


b1 = 28; b2 = 40


b1 = 32; b2 = 36


b1 = 42; b2 = 78


Appendix: Sample Program for Pairimetry

GetXY(xyi)=

fr = 0
recip = 1
bs = base[xyi]
for gi = 1 to di[xyi]
recip = recip/bs
fr += d[xyi,gi] * recip
next gi

x[xyi] = xcenter + sin(pi2 * fr) * radius
y[xyi] = ycenter + cos(pi2 * fr) * radius

endproc

Dinc(i1) =

d[i1,1]++;
if d[i1,1] == base[i1] then

i2 = 1

while d[i1,i2] == base[i1]

d[i1,i2] = 0
i2++;
d[i1,i2]++;

endwhile

if i2 > di[i1] then di[i1] = i2 endif

endif

endproc

Drawfigure =

base = x = y = di = array(2)
d = array(2,100)
radius = 100
pi2 = pi * 2
base[1] = 2
base[2] = 6
di[1] = 1
di[2] = 1

while true

for i = 1 to 2
call Dinc(i)
call GetXY(i)
next i

plot (x[1]+x[2]) / 2, (y[1] + y[2]) / 2

endwhile

endproc

call drawfigure

Summult-Time Hues

sum(3,6) = 3 * 6 = 18
3 * 2.3 = 2.3^2
sum(15,35) = 15 * 35 = 525
3.5 * 5.7 = 3.5^2.7
sum(85,204) = 85 * 204 = 17340
5.17 * 2^2.3.17 = 2^2.3.5.17^2
sum(493,1189) = 493 * 1189 = 586177
17.29 * 29.41 = 17.29^2.41
sum(2871,6930) = 2871 * 6930 = 19896030
3^2.11.29 * 2.3^2.5.7.11 = 2.3^4.5.7.11^2.29
sum(16731,40391) = 16731 * 40391 = 675781821
3^2.11.13^2 * 13^2.239 = 3^2.11.13^4.239
[…]


Elsewhere Other-Accessible

1, 18, 525, 17340, 586177, 19896030, 675781821, 22956120408, 779829016225, 26491211221770, 899921240562957, 30570830315362260, 1038508305678375841, 35278711540581704598, 1198437683944896688125, 40711602541832856049200, 1382996048733983114022337 — A011906 at the Online Encyclopedia of Integer Sequences

Sky-Guy for the Strayed Eye

The sky is in the sand,
That blend of sea and land,
Where ribbled pools
Make optic fools
Of eyes that stray or strand.


Peri-Performative Post-Scriptum

This poem is my sub-Housmanesque attempt to capture the sight of sky reflected in pools between wave-ribbed sand, so that there seemed to be another world floating there. I don’t like “optic fools”, where the adjective is obtrusively un-Anglish. But I also considered “photic fools”, for the alliteration. In the end, I might have used “eyeish fools”, if it hadn’t meant I couldn’t use “eyes” in the final line. Alternatives like “Of all that…” or “Of those that…” didn’t seem good. Oh, and “Sky-Guy” uses guy in the sense of “trick” or “hoax”, not as it’s used in the title of the TV program paronomasized in the title of this post.

The Sumber of the B’s

First a bit of a boredom. Then a bit of beauty. These are the triangular numbers, including 666, the Number of the Beast:

1, 3, 6, 10, 15, 21, 28, 36, 45, 55, 66, 78, 91, 105, 120, 136, 153, 171, 190, 210, 231, 253, 276, 300, 325, 351, 378, 406, 435, 465, 496, 528, 561, 595, 630, 666, 703, 741, 780, 820, 861, 903, 946, 990, 1035, 1081, 1128, 1176, 1225, 1275, …

You can createthem as sumbers, that is, as numbers made by summing the whole numbers:

tri(1) = 1 = 1
tri(2) = 3 = 2+1
tri(3) = 6 = 3+2+1
tri(4) = 10 = 4+3+2+1
tri(5) = 15 = 5+4+3+2+1
tri(6) = 21 = 6+5+4+3+2+1
tri(7) = 28 = 7+6+5+4+3+2+1
tri(8) = 36 = 8+7+6+5+4+3+2+1
tri(9) = 45 = 9+8+7+6+5+4+3+2+1
tri(10) = 55 = 10+9+8+7+6+5+4+3+2+1

And here are the square numbers:

1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401, 2500, …

You can create square numbers in various ways. Most obviously, by multiplying each whole number by itself:

sq(1) = 1*1 = 1
sq(2) = 2*2 = 4
sq(3) = 3*3 = 9
sq(4) = 4*4 = 16
sq(5) = 5*5 = 25
sq(6) = 6*6 = 36
sq(7) = 7*7 = 49
sq(8) = 8*8 = 64
sq(9) = 9*9 = 81
sq(10) = 10*10 = 100

Less obviously, by summing consecutive odd numbers:

sq(1) = 1 = 1
sq(2) = 1+3 = 4
sq(3) = 1+3+5 = 9
sq(4) = 1+3+5+7 = 16
sq(5) = 1+3+5+7+9 = 25
sq(6) = 1+3+5+7+9+11 = 36
sq(7) = 1+3+5+7+9+11+13 = 49
sq(8) = 1+3+5+7+9+11+13+15 = 64
sq(9) = 1+3+5+7+9+11+13+15+17 = 81
sq(10) = 1+3+5+7+9+11+13+15+17+19 = 100

And by summing pairs of consecutive triangular numbers (note that tri(0) = 0):

sq(1) = tri(0) + tri(1) = 0 + 1 = 1
sq(2) = tri(1) + tri(2) = 1 + 3 = 4
sq(3) = tri(2) + tri(3) = 3 + 6 = 9
sq(4) = tri(3) + tri(4) = 6 + 10 = 16
sq(5) = tri(4) + tri(5) = 10 + 15 = 25
sq(6) = tri(5) + tri(6) = 15 + 21 = 36
sq(7) = tri(6) + tri(7) = 21 + 28 = 49
sq(8) = tri(7) + tri(8) = 28 + 36 = 64
sq(9) = tri(8) + tri(9) = 36 + 45 = 81
sq(10) = tri(9) + tri(10) = 45 + 55 = 100

But sometimes squares are the sum of two triangular numbers that aren’t consecutive:

sq(4) = tri(1) + tri(5) = 1+15 = 16
sq(9) = tri(2) + tri(12) = 3+78 = 81
sq(16) = tri(2) + tri(22) = 3+253 = 256
sq(52) = tri(2) + tri(73) = 3+2701 = 2704
sq(14) = tri(3) + tri(19) = 6+190 = 196
sq(21) = tri(3) + tri(29) = 6+435 = 441
sq(44) = tri(9) + tri(61) = 45+1891 = 1936
sq(51) = tri(9) + tri(71) = 45+2556 = 2601
sq(49) = tri(10) + tri(68) = 55+2346 = 2401
sq(56) = tri(10) + tri(78) = 55+3081 = 3136
sq(16) = tri(11) + tri(19) = 66+190 = 256
sq(38) = tri(11) + tri(52) = 66+1378 = 1444
sq(54) = tri(11) + tri(75) = 66+2850 = 2916
sq(87) = tri(47) + tri(113) = 1128+6441 = 7569
sq(77) = tri(48) + tri(97) = 1176+4753 = 5929
sq(121) = tri(64) + tri(158) = 2080+12561 = 14641
sq(141) = tri(96) + tri(174) = 4656+15225 = 19881
sq(121) = tri(100) + tri(138) = 5050+9591 = 14641

Here’s a graph of squares that are the sum of any two triangular numbers, that is, is_square(tri(k1)+tri(k2)). The x axis is 1..k1 and the y axis is 1..k2, so the graph is symmetrical:

tri(k1) + tri(k2) = square(k3)


The (double) line at 45° represents squares that are the sum of consecutive triangulars. Other lines represent similarly regular patterns. Now for a bit of beauty. Things get more visually interesting when you test for squares that are the sums of any integer and a triangular number:

k1 + tri(k2) = square(k3)


The curves are optical oddities: where do they begin and end? The upper ones become lost to the eye in the lower ones. And vice versa. But you can force your eye to trace them further that it wants to.

Now try sums of integers and other polygonal numbers:

k1 + tri(k2) = pentagonal(k3)


k1 + square(k2) = pentagonal(k3)


k1 + pentagonal(k2) = square(k3)


k1 + hexagonal(k2) = pentagonal(k3)


And try other number sequences, like multiples of 4 with polygonals:

k1*4 + pentagonal(k2) = tri(k3)


k1*4 + square(k2) = tri(k3)


k1*4 + heptagonal(k2) = tri(k3)


And primes with polygonals:

tri(k1) + prime(k2) = tri(k3)


prime(k1) + tri(k2) = square(k3)


prime(k1) + octagonal(k2) = square(k3)


prime(k1) + pentagonal(k2) = square(k3)


prime(k1) + square(k2) = decagonal(k3)


prime(k1) + tri(k2) = hendecagonal(k3)


Partitional Pulchritude

If you want a good example of how, in math, something very simple can quickly get very deep, just look at partitions. Here are the partitions of 1 to 5, that is, the ways 1 to 5 can be expressed as a sum of integers smaller than or equal to themselves:

1 = 1

numbpart(1) = 1


2 = 2
1 + 1 = 2

numbpart(2) = 2


3 = 3
1 + 2 = 3
1 + 1 + 1 = 3

numbpart(3) = 3


4 = 4
1 + 3 = 4
2 + 2 = 4
1 + 1 + 2 = 4
1 + 1 + 1 + 1 = 4

numbpart(4) = 5


5 = 5
1 + 4 = 5
2 + 3 = 5
1 + 1 + 3 = 5
1 + 2 + 2 = 5
1 + 1 + 1 + 2 = 5
1 + 1 + 1 + 1 + 1 = 5

numbpart(5) = 7


It’s very easy to understand the concept of partitions, but very difficult to understand how partitions behave. For example, here is numbpart(n), the count of partitions for 1, 2, 3,…

1, 2, 3, 5, 7, 11, 15, 22, 30, 42, 56, 77, 101, 135, 176, 231, 297, 385, 490, 627, 792, 1002, 1255, 1575, 1958, 2436, 3010, 3718, 4565, 5604, 6842, 8349, 10143, 12310, 14883, 17977, 21637, 26015, 31185, 37338, 44583, 53174, 63261, 75175, 89134, 105558, 124754, 147273, 173525, 204226, … A000041 at the Online Encyclopedia of Integer Sequences, “a(n) is the number of partitions of n (the partition numbers)”

What’s the formula for numbpart(n)? That’s a tricky question. And what’s the formula for the curves produced by counting the various lengths of partitions(n)? That’s another tricky question, but one thing is easy to see. As n gets bigger, the graph of countlen(partitions(n)) acquires a strange, lopsided beauty. Here are the partitions of 8, with the count of how many partitions of a particular length there are:

8 = 8 (1 partition of length 1)
1 + 7 = 8
2 + 6 = 8
3 + 5 = 8
4 + 4 = 8 (4 partitions of length 2)
1 + 1 + 6 = 8
1 + 2 + 5 = 8
1 + 3 + 4 = 8
2 + 2 + 4 = 8
2 + 3 + 3 = 8 (5 of length 3)
1 + 1 + 1 + 5 = 8
1 + 1 + 2 + 4 = 8
1 + 1 + 3 + 3 = 8
1 + 2 + 2 + 3 = 8
2 + 2 + 2 + 2 = 8 (5 of length 4)
1 + 1 + 1 + 1 + 4 = 8
1 + 1 + 1 + 2 + 3 = 8
1 + 1 + 2 + 2 + 2 = 8 (3 of length 5)
1 + 1 + 1 + 1 + 1 + 3 = 8
1 + 1 + 1 + 1 + 2 + 2 = 8 (2 of length 6)
1 + 1 + 1 + 1 + 1 + 1 + 2 = 8 (1 of length 7)
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 = 8 (1 of length 8)

When counts like that are shown as a graph, the graphs look like this (maximum counts are normalized to the same height):


graph of countlen(partitions(2))



countlen(partitions(3))



countlen(partitions(4))



countlen(partitions(5))



countlen(partitions(6))



countlen(partitions(7))



countlen(partitions(8))



countlen(partitions(9))



countlen(partitions(10))



countlen(partitions(15))



countlen(partitions(20))



countlen(partitions(30))



countlen(partitions(40))



countlen(partitions(50))



countlen(partitions(60))



countlen(partitions(70))



countlen(partitions(80))



countlen(partitions(90))



countlen(partitions(100))



Animated gif of partlen graphs (courtesy EZgif)


The graphs have a long, low right tail because the counts rise to great heights very quick, then fall away again, as you can see with partitions(100):

1 = count(partitions(10),len=1)
50 = count(partitions(10),len=2)
833 = count(partitions(10),len=3)
7153 = count(partitions(10),len=4)
38225 = count(partitions(10),len=5)
143247 = count(partitions(10),len=6)

[…]

10643083 = count(partitions(10),len=16)
11022546 = count(partitions(10),len=17)
11087828 = count(partitions(10),len=18)
10885999 = count(partitions(10),len=19)
10474462 = count(partitions(10),len=20)

[…]

30 = count(partitions(10),len=91)
22 = count(partitions(10),len=92)
15 = count(partitions(10),len=93)
11 = count(partitions(10),len=94)
7 = count(partitions(10),len=95)
5 = count(partitions(10),len=96)
3 = count(partitions(10),len=97)
2 = count(partitions(10),len=98)
1 = count(partitions(10),len=99)
1 = count(partitions(10),len=100)

Papillons de Papier

Tsavudz’ gvdjo
Hmorksa ržmju:
Í hmístaghjo,
Í hmůldzva lšju! — Franček Zymosjő (1883-1941)

White butterflies,
On paper wings,
Are mystagogues,
Enchanted things!


• Translation by Elena Nebotsaya in On Paper Wings: Selected Poems and Prose of Franček Zymosjő (Symban Press 1986)

Absolutely Sabulous

Smooth between sea and land
Is laid the yellow sand,
And here through summer days
The seed of Adam plays.

Here the child comes to found
His unremaining mound,
And the grown lad to score
Two names upon the shore.

Here, on the level sand,
Between the sea and land,
What shall I build or write
Against the fall of night?

Tell me of runes to grave
That hold the bursting wave,
Or bastions to design
For longer date than mine.

Shall it be Troy or Rome
I fence against the foam,
Or my own name, to stay
When I depart for aye?

Nothing: too near at hand,
Planing the figure sand,
Effacing clean and fast
Cities not built to last
And charms devised in vain,
Pours the confounding main. — A.E. Housman, “XLV” of More Poems (1936)

Summer-Time Hues

sum(4,17) = 147 = 4 + 5 + 6 + 7 + 8 + 9 + 10 + 11 + 12 + 13 + 14 + 15 + 16 + 17
sum(1,20) = 210
sum(19,59) = 1599
sum(22,77) = 2772
sum(20,156) = 12056
sum(34,167) = 13467
sum(23,211) = 22113
sum(79,227) = 22797
sum(84,229) = 22849
sum(61,236) = 26136
sum(199,599) = 159999
sum(203,771) = 277103
sum(222,777) = 277722
sum(266,778) = 267786
sum(277,797) = 279777
sum(145,1520) = 1145520
sum(117,1522) = 1152217
sum(149,1525) = 1152549
sum(167,1527) = 1152767
sum(208,1568) = 1208568
sum(334,1667) = 1334667
sum(540,1836) = 1540836
sum(315,1990) = 1931590
sum(414,2062) = 2041462
sum(418,2063) = 2041863
sum(158,2083) = 2158083
sum(244,2132) = 2244132
sum(554,2139) = 2135549
sum(902,2347) = 2349027
sum(883,2558) = 2883558
sum(989,2637) = 2989637
sum(436,2963) = 4296336
sum(503,3303) = 5330303
sum(626,3586) = 6235866
sum(816,4183) = 8418316
sum(1075,4700) = 10470075
sum(1117,4922) = 11492217
sum(1306,5273) = 13052736
sum(1377,5382) = 13538277
sum(1420,5579) = 14557920
sum(1999,5999) = 15999999
sum(2727,7272) = 22727727
sum(2516,7528) = 25175286
sum(2625,7774) = 26777425
sum(2222,7777) = 27777222
sum(3765,9490) = 37949065
sum(535,10319) = 53103195
sum(1101,14973) = 111497301
sum(2088,15688) = 120885688
sum(3334,16667) = 133346667
sum(2603,19798) = 192603798
sum(3093,19893) = 193093893
sum(1162,20039) = 200116239
sum(1415,20095) = 200914155
sum(1563,20118) = 201156318
sum(2707,20294) = 202270794
sum(2518,20318) = 203251818
sum(2608,20333) = 203326083
sum(2895,20370) = 203289570
sum(3424,20552) = 205342452
sum(4255,20855) = 208425555
sum(4571,20971) = 209457171
sum(4613,21028) = 210461328
sum(4742,21259) = 214742259
sum(6318,21798) = 217631898
sum(6498,21943) = 219649843
sum(7080,22305) = 223708005
sum(7243,22358) = 223724358
sum(6833,22368) = 226833368
sum(7128,22473) = 227128473
sum(4523,22603) = 245232603
sum(4978,22898) = 249782898
sum(8339,23019) = 230183399
sum(8610,23191) = 231861091
sum(6013,23588) = 260133588
sum(9252,23652) = 236925252
sum(6488,23913) = 264883913
sum(8379,25254) = 283795254
sum(4012,28667) = 402866712
sum(4922,31762) = 492317622
sum(4998,31801) = 493180198
sum(5200,32675) = 520326750
sum(7707,40092) = 774009207
sum(7868,40431) = 786404318
sum(9325,44450) = 944450325
sum(11047,48287) = 1104828747
sum(14699,56100) = 1465610099
sum(16235,59860) = 1659860235
sum(19999,59999) = 1599999999
sum(17264,61239) = 1726123964
sum(17405,61605) = 1746160505
sum(18457,63782) = 1863782457
sum(25016,75028) = 2501750286
sum(28022,79942) = 2802799422
sum(37060,93740) = 3706937400
sum(7567,119567) = 7119567567
sum(9638,135513) = 9135513638
sum(15392,152607) = 11526075392
sum(17744,152880) = 11528807744
sum(12012,156387) = 12156387012
sum(20888,156888) = 12088856888
sum(30663,164538) = 13066364538
sum(33334,166667) = 13333466667
sum(36038,168838) = 13603868838

Aventurhyme

The Merry Guide

Once in the wind of morning
     I ranged the thymy wold;
The world-wide air was azure
     And all the brooks ran gold.

There through the dews beside me
     Behold a youth that trod,
With feathered cap on forehead,
     And poised a golden rod.

With mien to match the morning
     And gay delightful guise
And friendly brows and laughter
     He looked me in the eyes.

Oh whence, I asked, and whither?
     He smiled and would not say,
And looked at me and beckoned
      And laughed and led the way.

And with kind looks and laughter
     And nought to say beside
We two went on together,
     I and my happy guide.

Across the glittering pastures
     And empty upland still
And solitude of shepherds
     High in the folded hill,

By hanging woods and hamlets
     That gaze through orchards down
On many a windmill turning
     And far-discovered town,

With gay regards of promise
     And sure unslackened stride
And smiles and nothing spoken
     Led on my merry guide.

By blowing realms of woodland
     With sunstruck vanes afield
And cloud-led shadows sailing
     About the windy weald,

By valley-guarded granges
     And silver waters wide,
Content at heart I followed
     With my delightful guide.

And like the cloudy shadows
     Across the country blown
We two fare on for ever,
     But not we two alone.

With the great gale we journey
     That breathes from gardens thinned,
Borne in the drift of blossoms
      Whose petals throng the wind;

Buoyed on the heaven-heard whisper
     Of dancing leaflets whirled
From all the woods that autumn
     Bereaves in all the world.

And midst the fluttering legion
     Of all that ever died
I follow, and before us
     Goes the delightful guide,

With lips that brim with laughter
     But never once respond,
And feet that fly on feathers,
     And serpent-circled wand.

• A.E. Housman, A Shropshire Lad, XLII


An aventurine obelisk (Unlimited Crystals)