Graham’s Number and Knuth’s Up-arrow Notation

In my last post, I talked about my #MegaFavNumber, Graham’s number. It’s a number so unimaginably large that it was previously in the Guinness Book of World Records. Graham’s number is usually expressed in Knuth’s up-arrow notation, which makes expressing specific large numbers much easier.

One of the most fundamental arithmetic operations in nature is addition. Arguably, it is the most fundamental arithmetic operation. You can define all other standard arithmetic operations based on the extension of addition. For example, subtraction is simply the addition of negative numbers. Multiplication is also repeated addition, and we know we can get division from treating it as the opposite of multiplication.

Now, what about taking multiplication to a higher level? Repeated multiplication anyone? That’s just exponentiation! Exponentiation allows us to express even larger numbers than multiplication. However, the nesting does not stop here. What about repeated exponentiation?

It turns out this is actually also an operation: tetration. We can go on and on with these operations that build upon addition. We call these operations the hyper-operations. Knuth’s up-arrow notation is one of many notations that expresses these hyper-operations very neatly. The notation can be defined recursively as:

knuth.png

The n superscript indicates n arrows. Let’s get a taste of this.

2arrow2.png

Okay, let’s step it up. What about two arrows?

2aa2.png

Oh well, that was quick! Let’s get to three arrows now.

That’s basically a power tower of 65536 twos! Now, to get an appreciation of Graham’s number, let’s look at its even more recursive definition:

That’s basically a power tower of 65536 twos! Now, to get an appreciation of Graham’s number, let’s look at its even more recursive definition:

Even the bottom most layer here is unimaginably large. Now think of that many arrows. And take that layer with the unimaginably large number of arrows and make that the amount of arrows for the next layer, and so on. That’s just too large!

Even the bottom most layer here is unimaginably large. Now think of that many arrows. And take that layer with the unimaginably large number of arrows and make that the amount of arrows for the next layer, and so on. That’s just too large!

For all of the computer science nerds, you can implement the up-arrow notation pretty easily, especially in a functional language like the Wolfram Language:

knuthcode.png

Enjoy this post? Subscribe to my weekly blog!

Next
Next

De Broglie and the Wave-Particle Duality