The magnitude of 5^^^^5 is itself mind-bogglingly huge.

I assume you want to know how many digits it has? Let's start with 5^^^5. Log10 5 = 0.69897, so 5^^^5 = 55^^5 = 100.69897(5^^5). So the number of digits is 0.69897(5^^5) + 1. You can forget about the +1, because this comes out to 2.0831e+17. That's not the number, remember, but the number of digits it has - about 200 quadrillion. (Considering that our puny concept of "digits" is not at all sufficient to express numbers of the magnitude that we're dealing with, I don't think it affects it too adversely that I'm cutting my answers down to one significant figure.)

In fact, this number doesn't quite bring us into the "too huge for words" range, because it is significantly less than a googolplex, which has 1e+100 digits. (Yes, I can just hear some wise guy calling out "plus one!" right about now.) But now we come to 5^^^^5, which is what was asked about in the first place. This is where it gets mind-boggling. I can't tell you how many digits the number has. There are somewhere around 100 quadrillion digits in the number of digits of the number! If you don't have a problem with that, you probably aren't thinking about it right.

Consider a sequence that goes 1, 10, 10000000000,
100000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000, etc. Notice how fast it's growing? 5^^^^5 would be around the hundred-quadrillionth (give or take an order of magnitude) term of this sequence.

You can go take some aspirin now.

We mathematicians like big numbers.

The concept of using terms such as "2^6" to represent 26 = 2*2*2*2*2*2 = 64 has been around for a long time. In 1976 Donald Knuth took the original definition and extended it further. Just as multiplication can be thought of (in a way) as repeated addition, and just as raising numbers powers can be thought of as repeated multiplication, so the newly-defined ^^ operator is repeated exponentiation (if that is, indeed, a word), so ^^^ is repetition of ^^, and so on.

Actually, arrow notation is kind of hard to explain in these abstract terms, and I find interpretations written entirely in algebra to be somewhat hard to follow, so it's better for both of us if I instead give lots of examples until you spot the pattern.

NOTE: Exponent arrows are right-associative. This is a mathematical convention which also happens to save on brackets space below. That is;

    3^4^2^6 = 3^(4^(2^6)), not ((3^4)^2)^6

Also, more arrows take precedence over fewer arrows in the same way that multiplication is calculated before addition;

    4^7^^8 = 4^(7^^8), not (4^7)^^8

^

You'll see that the definition of ^ remains unchanged here from the usual meaning of raising numbers to powers. I merely list these examples here because firstly they do comprise part of the meaning of arrow notation, and secondly they serve as a template for later definitions.

    1^n = 1 for all n
    
    2^1 = 2
    2^2 = 2*2 = 4
    2^n = 2 raised to the power of n
    
    3^1 = 3
    3^2 = 3*3 = 9
    3^3 = 3*3*3 = 27
    3^n = 3 raised to the power of n
    
    4^1 = 4
    4^2 = 4*4 = 16
    4^3 = 4*4*4 = 64
    4^4 = 4*4*4*4 = 256
    4^n = 4 raised to the power of n
    
    ...
    
    m^n = m raised to the power of n

^^

The ^^ operator serves to show just how big the numbers can get extremely quickly, even using extremely small integers in the place of m and n. It's also a nicely quick way to express power towers. Note: for comparison, a googolplex is slightly larger than 4^^4.

    1^^n = 1 for all n
    
    2^^1 = 2
    2^^2 = 2^2 = 4
    2^^3 = 2^2^2 = 2^4 = 16
    2^^4 = 2^2^2^2 = 2^2^4 = 2^16 = 65536
    2^^5 = 2^2^2^2^2 = 2^2^2^4 = 2^2^16 = 2^65536 = a 19728-digit number
    2^^n = a power tower of n 2s
    
    3^^1 = 3
    3^^2 = 3^3 = 27
    3^^3 = 3^3^3 = 3^27 = 7,625,597,484,987
    3^^4 = 3^3^3^3 = 3^3^27 = 3^7,625,597,484,987 = a 3.6 billion-digit number
    3^^n = a power tower of n 3s
    
    4^^1 = 4
    4^^2 = 4^4 = 256
    4^^3 = 4^4^4 = 4^256 = a 154-digit number
    4^^n = a power tower of n 4s
    
    ...
    
    m^^n = a power tower of n m's

^^^

Where ^^ generated large numbers quickly, ^^^ generates abominably large numbers almost instantaneously.

    1^^^n = 1 for all n
    
    2^^^1 = 2
    2^^^2 = 2^^2 = 4
    2^^^3 = 2^^2^^2 = 2^^4 = 65536
    2^^^4 = 2^^2^^2^^2 = 2^^65536 = a power tower of 65536 2s
    2^^^n = 2^^2^^...^^2^^2 where there are n 2s
    
    3^^^1 = 3
    3^^^2 = 3^^3 = 7,625,597,484,987
    3^^^3 = 3^^3^^3 = 3^^7625597484987 = a power tower of 7,625,597,484,987 3s
    3^^^4 = 3^^3^^3^^3 = 3^^(a power tower of 7,625,597,484,987 3s)
                       = a power tower of k 3s (where k = a power tower of 7,625,597,484,987 3s)
    3^^^n = 3^^3^^...^^3^^3 where there are n 3s
    
    ...
    
    m^^^n = m^^m^^...^^m^^m where there are n m's

In general

Here's how arrow notation works in its most general form.

                                         n
                  /-------------------------------------------\
    m^^^...^^^n = m^^^...^^^m^^^...^^^m^^^... ...^^^m^^^...^^^m
     \_______/     \_______/ \_______/               \_______/
         k            k-1       k-1                     k-1

For example

                        4
               /-----------------\
    2^^^^^^4 = 2^^^^^2^^^^^2^^^^^2
     \____/     \___/ \___/ \___/
        6         5     5     5
    
    5^^5 = 5^5^5^5^5 = roughly 10102184
    (compare googolplex = 1010100)
    
    10^^^^^^^^^^^^^3 = 10^^^^^^^^^^^^10^^^^^^^^^^^^10
    
    7^^^^^2 = 7^^^^7
    
    2^^^^^^^^2 = 2^^^^^^^2
               = 2^^^^^^2
               = 2^^^^^2
               = 2^^^^2
               = 2^^^2
               = 2^^2
               = 2^2
               = 4
    

etc.

The number of arrows can increase without limit, but it would be foolish for me to attempt to describe the effects of using more than three arrows, since at this point the numbers become impossible to describe in anything but arrow notation. But hopefully by now you're getting the gist of how the function works.

Recursive definitions

As we have seen above, the operator ^^^...^^^ (where there are k arrows) is effectively repeated application of the corresponding operator ^^^...^^^ (with k-1 arrows). The definition extends backwards to addition and forwards for as large a k as one wishes.

Recursive definition of addition
Recursive definition of multiplication
    m*1 = m for all m
    m*(n+1) = m+(m*n)
Recursive definition of exponentiation
    m^1 = m for all m
    m^(n+1) = m*(m^n)
Recursive definition of ^^
    m^^1 = m for all m
    m^^(n+1) = m^(m^^n)
Recursive definition of ^^^
    m^^^1 = m for all m
    m^^^(n+1) = m^^(m^^^n)
...
Recursive definition of ^^^...^^^ (where there are k arrows)
    m^^^...^^^1 = m for all m
     \_______/
         k
    
    m^^^...^^^(n+1) = m^^^...^^^(m^^^...^^^n)
     \_______/         \_______/  \_______/
         k                k-1         k

Hyper operator

It is convenient to abbreviate very large numbers of arrows to a single additional integer, thus forming a function with three arguments, known as the hyper operator.

m^^^...^^^n = hyper(m,k,n)
 \_______/
     k

From this we can get a recursive hyper operator definition:

hyper(m,k,1) = 1
hyper(m,1,n) = m+n
hyper(m,k+1,n+1) = hyper(m,k,hyper(m,k+1,n))

Other alternate expressions for arrow notation include Conway's chained arrow notation:

m^^^...^^^n = m->k->n
 \_______/
     k

and Bowers' linear array notation:

m^^^...^^^n = m<k>n or <m,n,k>
 \_______/
     k

Chained arrow notation is more powerful than arrow notation since it can be extended to three, four or more arrows and thus used to express much larger numbers. Array notation can be extended to arrays with four entries, which are mathematically comparable in scale with general chained arrow expressions. Array notation, however, is more powerful still, as it can be extended to expressions in five, six and more entries - all such expressions dwarf anything chained arrow notation can muster. However, both such notations are best dealt with in their respective nodes.

Some interesting facts

  • 1^^^...^^^n = 1 for any n and for any number of arrows.
  • m^^^...^^^1 = m for any m and for any number of arrows.
  • 2^^^...^^^2 = 4 for any number of arrows.
  • Numbers of the form hyper(A,A,A) for integers A (1^1, 2^^2, 3^^^3, 4^^^^4) etc. are called Ackermann numbers.
  • The superfactorial numbers n$ are defined as n$ = (n!)^^(n!), where n! is n factorial.
  • 3^^^^3 is the first stage in the construction of Graham's Number, an integer so large it cannot be expressed even in standard arrow notation.
  • Technically, since this is "arrow notation", all of the carets ("^") in the above working can be replaced with up-arrows without altering the meaning in the slightest. But either symbol is acceptable, and this way is likely to be easier on your browser.

Log in or registerto write something here or to contact authors.