Update 2021-10-09
Thank you for reading "The World's Largest Numbers". This series of articles is no longer maintained. I recommend the Googology Wiki as an alternative source for information about large numbers. It includes pages about Bowers' array notations and many related topics.
The next step in the construction of the "Exploding Array Function" is to make arrays with multiple rows meaningful. To do this we have to extend our notation and definitions slightly.
All the old definitions still hold, except that:
Here, b, p, d and # are always used for the base, prime entry, pilot and remainder of the array respectively.
copilot | A = <b,p,d,#> | passenger copilot | A = <b,p,1,d,#> \_/ | passengers copilot | A = <b,p,1,...,1,1,d,#> \_________/ | passengers p entries _____|_____ / \ A = / b p 1 1 ... 1 \ <- this row is all passengers \ d # / NO COPILOT p entries ______|______ / \ A = / b p 1 1 1 ... 1 \ \ / 1 1 1 1 1 ... 1 \ | / . . . . . . \ |any number of < . . . . . . > |rows of passengers \ . . . . . . / | \ 1 1 1 1 1 ... 1 / / \ 1 1 1 d # / \_/ | | | | copilot | passengers
These have not changed, but the implications in light of the new definitions are large.
The simplest two-row arrays are of the form:
/b p\ = <b b ... b> \2 / \_______/ | p entries
Here, the "passengers" are the first p entries on the top row; regardless of the fact that most of these entries are 1s. As the passengers are all turned to bs, so the pilot, which is equal to 2, decrements to 1, meaning we can trim the second row off.
Thus we have a very simple way to generate linear arrays of arbitrary width... provided that we want every entry to be equal to b. However, this is an expected sacrifice. In order to describe large numbers in relatively small spaces, it is necessary to sacrifice precision for scope.
Some of the numbers mentioned previously are expressible in this form:
tritri = /3 3\ = <3,3,3> \2 / tetratri = /3 4\ = <3,3,3,3> \2 / pentatri = /3 5\ = <3,3,3,3,3> \2 / hexatri = /3 6\ = <3,3,3,3,3,3> \2 / heptatri = /3 7\ = <3,3,3,3,3,3,3> \2 / ultatri = /3 27\ = <3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3> \2 /
supertri = /3 3\ = <3,3,3> \2 / supertet = /4 4\ = <4,4,4,4> \2 / superpent = /5 5\ = <5,5,5,5,5> \2 / superhex = /6 6\ = <6,6,6,6,6,6> \2 / supersept = /7 7\ = <7,7,7,7,7,7,7> \2 / superoct = /8 8\ = <8,8,8,8,8,8,8,8> \2 / superenn = /9 9\ = <9,9,9,9,9,9,9,9,9> \2 / superdec = /10 10\ = <10,10,10,10,10,10,10,10,10,10> \2 /
tridecal = /10 3\ = <10,10,10> \2 / tetradecal = /10 4\ = <10,10,10,10> \2 / pentadecal = /10 5\ = <10,10,10,10,10> \2 / hexadecal = /10 6\ = <10,10,10,10,10,10> \2 / heptadecal = /10 7\ = <10,10,10,10,10,10,10> \2 / octadecal = /10 8\ = <10,10,10,10,10,10,10,10> \2 / ennadecal = /10 9\ = <10,10,10,10,10,10,10,10,10> \2 / duperdecal = /10 10\ = <10,10,10,10,10,10,10,10,10,10> \2 /
So far, so good. Let's mix things up a bit. If we extend the top row by a 2, interesting things start to happen.
/b 2 2\ \2 /
Here the top row contains base, prime entry, copilot and pilot as per usual. However, the presence of the 2 on the next row throws things off a bit.
A = /b 2 2\ = /b v(A') 1\ ...where A' = /b 1 2\ = b \2 / \2 / \2 / = /b b\ \2 / = <b,b,...,b> \_______/ b
Hey, we just saw some stuff like that:
supertri = /3 2 2\ = <3,3,3> \2 / supertet = /4 2 2\ = <4,4,4,4> \2 / superpent = /5 2 2\ = <5,5,5,5,5> \2 / superhex = /6 2 2\ = <6,6,6,6,6,6> \2 / supersept = /7 2 2\ = <7,7,7,7,7,7,7> \2 / superoct = /8 2 2\ = <8,8,8,8,8,8,8,8> \2 / superenn = /9 2 2\ = <9,9,9,9,9,9,9,9,9> \2 / superdec = /10 2 2\ = <10,10,10,10,10,10,10,10,10,10> \2 /
Moving on:
A = /b 3 2\ = /b v(A') 1\ where A' = /b 2 2\ \2 / \2 / \2 / = /b v(A')\ \2 / = <b,b,...,b> \_______/ v(A') = <b,b,...,b> \_______/ <b,b,...,b> \_______/ b
Gosh, this all looks terribly familiar! Can we guess the rest?
/b p 2\ = <b,b,...,b> \ \2 / \_______/ | . | . |p . | \_______/ | b / /b 2 3\ = /b b 2\ \2 / \2 / = <b,b,...,b> \ \_______/ | . | . |b . | \_______/ | b / /b p 3\ = <b,b,...,b> \ \ \2 / \_______/ | | . | | . | ... |b . | | \_______/ | | b / / \___________________/ p
Tiers of towers of tiers, oh my. Note that this is just 3 entries on the top row and a 2 on the second row causing all this chaos. Here are some more named numbers in this region:
iteral = /10 2 2\ \2 / = /10 10\ \2 / = <10,10,...,10> \__________/ 10 iteralplex = /10 3 2\ \2 / = /10 iteral\ \2 / = <10,10,...,10> \__________/ <10,10,...,10> \__________/ 10 iteralduplex = /10 4 2\ \2 / = /10 iteralplex\ \2 / = <10,10,...,10> \__________/ <10,10,...,10> \__________/ <10,10,...,10> \__________/ 10
dupertri = /3 3 2\ \2 / = <3,3,...,3> \ \_______/ | <3,3,3> |3 \___/ | 3 / latri = /3 2\ = /3 3\ = /3 3 3\ \4 / \3 / \2 / = /3 v(A') 2\ ...where A' = /3 2 3\ = /3 3 2\ = dupertri \2 / \2 / \2 / = /3 dupertri 2\ \2 / = <3,3,...,3> \ \_______/ | <3,3,...,3> \ . | \_______/ | . | <3,3,3> |3 . | \___/ | \___/ | 3 / 3 / \____________________________/ 3
As you can see, many of these numbers can be represented in multiple forms, which is handy as it means they can provide familiar points of reference as our notation develops.
We haven't made much use of the (1) notation I mentioned yet, and I can't be bothered to render all of the following in fixed-width form, so here are some more named numbers:
emperal = /10 10\ = <10,10 (1) 10> \10 / emperalplex = / 10 10 \ = <10,10 (1) emperal> \emperal / hyperal = /10 10\ = <10,10 (1) 10,10> \10 10/ hyperalplex = / 10 10 \ = <10,10 (1) 10,hyperal> \ 10 hyperal /
Some additional comments at this point. Firstly, what's up with these names, maaaaan? They take the old "googolplex" system and extend it in some fairly interesting ways, but they're inconsistent ("gaitrol"? We have to jump through hoops to get the right vowels sounds in such situations), incomplete (what comes after the "ay" sound for "seven"? Bowers doesn't say!), and generally describe numbers in which we have very little interest. Who cares what a trossol is? Is that number of any use? Emperals and hyperals are at least more interesting.
Secondly, we're still only at two rows, so the real ramifications of an entire second dimension have yet to be explored. As the arrays become larger, so the prime block of all previous structures increases in size too. This kind of thing starts happening:
hyperal = /10 2\ = /10 10\ < 1 > \10 10/ \2 / diteral = /10 10\ = /10 10 10 10 10 10 10 10 10 10\ = <10,10 (1)(1) 2> < 1 > \10 10 10 10 10 10 10 10 10 10/ \2 / diteralplex = /10 diteral \ = /10 10 ... 10\ = <10,diteral (1)(1) 2> < 1 > \10 10 ... 10/ \2 / \__________/ diteral
dutritri = <3,3 (1)(1)(1) 2> /3 3\ = / 1 \ \ 1 / \2 / = /3 3 3\ < 3 3 3 > \3 3 3/ dutridecal = <10,3 (1)(1)(1) 2> /10 3\ = / 1 \ \ 1 / \2 / = /10 10 10\ < 10 10 10 > \10 10 10/ xappol = <10,10 (1)(1)(1)(1)(1)(1)(1)(1)(1)(1) 2> /10 10\ / 1 \ / 1 \ / 1 \ / 1 \ = < 1 > \ 1 / \ 1 / \ 1 / \ 1 / \2 / / 10 10 10 10 10 10 10 10 10 10 \ / 10 10 10 10 10 10 10 10 10 10 \ / 10 10 10 10 10 10 10 10 10 10 \ / 10 10 10 10 10 10 10 10 10 10 \ / 10 10 10 10 10 10 10 10 10 10 \ = \ 10 10 10 10 10 10 10 10 10 10 / \ 10 10 10 10 10 10 10 10 10 10 / \ 10 10 10 10 10 10 10 10 10 10 / \ 10 10 10 10 10 10 10 10 10 10 / \ 10 10 10 10 10 10 10 10 10 10 /
And once again, we reach the limits of convenience of our notation. Oh deary me. If only we could use... THE THIRD DIMENSION!!!
Next: Multidimensional array notation.