Pentation

Pentation refers to the 5th hyperoperation starting from addition. It is equal to \(a \uparrow\uparrow\uparrow b\) in Knuth's up-arrow notation and since it is repeated tetration, it produces numbers that are much larger.

Pentation can be written in array notation as \(\{a,b,3\}\), in chained arrow notation as \(a \rightarrow b \rightarrow 3\) and in Hyper-E notation as E(a)1#1#b.

Pentation is less known than tetration, but there are a few googologisms employing it: 3 pentated to 3 is known as tritri, and 10 pentated to 100 is gaggol.

Sunir Shah uses the notation \(a * b\) to indicate this function. Jonathan Bowers calls it "a to the b'th tower". Sbiis Saibian proposes \(_{b \leftarrow}a\) in analogy to \({^{b}a}\) for tetration, though he usually uses up-arrows.

Pentational growth rate is comparable to \(f_4(n)\) in the fast-growing hierarchy.

A strip from the webcomic  suggested the name "penetration" in humorous analogy with sexation.

Tim Urban calls pentation a "power tower feeding frenzy".

In Notation Array Notation, it is written as (a{3,3}b).

Graham, Rothschild and Spencer call the function \(2\uparrow\uparrow\uparrow n\) the WOW function, and corresponding growth rate wowzer.

Examples
Here are some small examples of pentation in action:


 * \(1 \uparrow\uparrow\uparrow b = 1\)
 * \(a \uparrow\uparrow\uparrow 1 = a\)
 * \(2 \uparrow\uparrow\uparrow 2 = 4\)
 * \(2 \uparrow\uparrow\uparrow 3 = {^{^{2}2}2} = {^{4}2} = 2^{2^{2^{2}}} = 65,536\)
 * \(3 \uparrow\uparrow\uparrow 2 = {^{3}3} = 3^{3^{3}} =\)

Here are some larger examples:


 * \(3 \uparrow\uparrow\uparrow 3 = {^{^{3}3}3} = {^{7,625,597,484,987}3}\) = tritri, a power tower of 7,625,597,484,987 threes
 * \(5 \uparrow\uparrow\uparrow 2 = {^{5}5} = 5^{5^{5^{5^5}}}\)
 * \(6 \uparrow\uparrow\uparrow 3 = {^{^{6}6}6}\)
 * \(5 \uparrow\uparrow\uparrow 5 = {^{^{^{^{5}5}5}5}5}\)
 * \(4 \uparrow\uparrow\uparrow 4 = {^{^{^{4}4}4}4}\)

Pseudocode
Below is an example of pseudocode for pentation.

function pentation(a, b): result := 1 repeat b times: result := a tetrated to result return result