From Wikipedia, the free encyclopedia
  (Redirected from Hyper operator)
Jump to: navigation, search
This article is about the arithmetic concept. For the group theory concept, see Hyperoperation (group theory).

In mathematics, the hyperoperation sequence[nb 1] is an infinite sequence of arithmetic operations (called hyperoperations)[1][11][13] that starts with the unary operation of successor (n = 0), then continues with the binary operations of addition (n = 1), multiplication (n = 2), and exponentiation (n = 3), after which the sequence proceeds with further binary operations extending beyond exponentiation, using right-associativity. For the operations beyond exponentiation, the nth member of this sequence is named by Reuben Goodstein after the Greek prefix of n suffixed with -ation (such as tetration (n = 4), pentation (n = 5), hexation (n = 6), etc.)[5] and can be written as using n - 2 arrows in Knuth's up-arrow notation (when n ≥ 3). Each hyperoperation may be understood recursively in terms of the previous one by:

a \uparrow^m b & = & \underbrace{a \uparrow^{m-1} (a \uparrow^{m-1} (a \uparrow^{m-1} (...(a \uparrow^{m-1} (a \uparrow^{m-1} a))...)))} \\
& & b\mbox{ copies of }a
(m ≥ 0)

It may also be defined according to the recursion rule part of the definition, as in Knuth's up-arrow version of the Ackermann function:

a \uparrow^m b = a \uparrow^{m-1} (a \uparrow^m (b-1)) (m ≥ -1)

This can be used to easily show numbers much larger than those which scientific notation can, such as Skewes' number and googolplexplex, but there are some numbers which even they cannot easily show, such as Graham's number and TREE(3).

This recursion rule is common to many variants of hyperoperations (see below).


The hyperoperation sequence is the sequence of binary operations H_n(a,b) (\mathbb{N}_0)^3 \rightarrow \mathbb{N}_0\,\!, defined recursively as follows:

  H_n(a,b) =  
    b + 1 & \text{if } n = 0 \\
    a &\text{if } n = 1, b = 0 \\
    0 &\text{if } n = 2, b = 0 \\
    1 &\text{if } n \ge 3, b = 0 \\
    H_{n-1}(a,H_n(a,b-1)) & \text{otherwise}

(Note that for n = 0, the binary operation essentially reduces to a unary operation (successor function) by ignoring the first argument.)

For n = 0, 1, 2, 3, this definition reproduces the basic arithmetic operations of successor (which is a unary operation), addition, multiplication, and exponentiation, respectively, as

H_0(a,b) = b + 1\,\!,
H_1(a,b) = a + b\,\!,
H_2(a,b) = a \cdot b\,\!,
H_3(a,b) = a^{b}\,\!,

and for n ≥ 4 it extends these basic operations beyond exponentiation to what can be written in Knuth's up-arrow notation as

H_4(a,b) = a\uparrow\uparrow{b}\,\!,
H_5(a,b) = a\uparrow\uparrow\uparrow{b}\,\!,
H_n(a,b) = a\uparrow^{n-2}b \text{ for } n \ge 3\,\!,

Knuth's notation could be extended to negative indices ≥ -2 in such a way as to agree with the entire hyperoperation sequence, except for the lag in the indexing:

H_n(a,b) = a \uparrow^{n-2}b\text{ for } n \ge 0.\,\!

The hyperoperations can thus be seen as an answer to the question "what's next" in the sequence: successor, addition, multiplication, exponentiation, and so on. Noting that

  • a + b = (a + (b - 1)) + 1
  • a \cdot b = a + (a \cdot (b - 1))
  • a ^ b = a \cdot (a ^ {(b - 1)})
  • a\uparrow\uparrow b= a ^{a \uparrow\uparrow {(b - 1)}}

the relationship between basic arithmetic operations is illustrated, allowing the higher operations to be defined naturally as above. The parameters of the hyperoperation hierarchy are sometimes referred to by their analogous exponentiation term;[14] so a is the base, b is the exponent (or hyperexponent),[12] and n is the rank (or grade).[6]

In common terms, the hyperoperations are ways of compounding numbers that increase in growth based on the iteration of the previous hyperoperation. The concepts of successor, addition, multiplication and exponentiation are all hyperoperations; the successor operation (producing x+1 from x) is the most primitive, the addition operator specifies the number of times 1 is to be added to itself to produce a final value, multiplication specifies the number of times a number is to be added to itself, and exponentiation refers to the number of times a number is to be multiplied by itself.


This is a list of the first seven (0th to 6th) hyperoperations. (Notice that in this article, we define 00 as 1)

n Operation
(Hn(a, b))
Definition Names Domain
0 b + 1 { 1 + {\underbrace{1 + 1 + 1 + \cdots + 1} \atop{b \mbox{ copies of 1}}} } hyper0, increment, successor, zeration b arbitrary
1 a + b { a + {\underbrace{1 + 1 + 1 + \cdots + 1} \atop{b \mbox{ copies of 1}}} } hyper1, addition arbitrary
2 a\cdot b { {\underbrace{a + a + a + \cdots + a}} \atop{b \mbox{ copies of } a} } hyper2, multiplication arbitrary
3 a^b or a \uparrow b { {\underbrace{a \cdot a \cdot a \cdot a \cdot \ldots \cdot a}} \atop{b \mbox{ copies of } a} } hyper3, exponentiation a > 0, b real, or a ≥ 0, b nonnegative, or a non-zero, b an integer, with some multivalued extensions to complex numbers
4 ^{b}a or a \uparrow\uparrow b { {\underbrace{a \uparrow (a \uparrow (a \uparrow \cdots \uparrow a))...)}} \atop{b \mbox{ copies of } a} } hyper4, tetration a ≥ 0 or an integer, b an integer ≥ -1[nb 2] (with some proposed extensions)
5 a \uparrow\uparrow\uparrow b or a \uparrow^3 b { {\underbrace{a \uparrow\uparrow (a \uparrow\uparrow (a \uparrow\uparrow \cdots \uparrow\uparrow a))...)}} \atop{b \mbox{ copies of } a} } hyper5, pentation a, b integers ≥ -1[nb 2]
6 a \uparrow\uparrow\uparrow\uparrow b or a \uparrow^4 b { {\underbrace{a \uparrow^3 (a \uparrow^3 (a \uparrow^3 \cdots \uparrow^3 a))...)}} \atop{b \mbox{ copies of } a} } hyper6, hexation a, b integers ≥ -1[nb 2]

Special cases[edit]

Hn(0, b) =

0, when n = 2, or n = 3, b ≥ 1, or n ≥ 4, b odd (≥ -1)
1, when n = 3, b = 0, or n ≥ 4, b even (≥ 0)
b, when n = 1
b + 1, when n = 0

Hn(a, 0) =

0, when n = 2
1, when n = 0, or n ≥ 3
a, when n = 1

Hn(a, -1) =[nb 2]

0, when n = 0, or n ≥ 4
a - 1, when n = 1
-a, when n = 2
\frac{1}{a}, when n = 3


One of the earliest discussions of hyperoperations was that of Albert Bennett[6] in 1914, who developed some of the theory of commutative hyperoperations (see below). About 12 years later, Wilhelm Ackermann defined the function \phi(a, b, n)\,\![15] which somewhat resembles the hyperoperation sequence.

In his 1947 paper,[5] R. L. Goodstein introduced the specific sequence of operations that are now called hyperoperations, and also suggested the Greek names tetration, pentation, etc., for the extended operations beyond exponentiation (because they correspond to the indices 4, 5, etc.). As a three-argument function, e.g., G(n,a,b) =H_n(a,b), the hyperoperation sequence as a whole is seen to be a version of the original Ackermann function \phi(a,b,n)\,\!recursive but not primitive recursive — as modified by Goodstein to incorporate the primitive successor function together with the other three basic operations of arithmetic (addition, multiplication, exponentiation), and to make a more seamless extension of these beyond exponentiation.

The original three-argument Ackermann function \phi\,\! uses the same recursion rule as does Goodstein's version of it (i.e., the hyperoperation sequence), but differs from it in two ways. First, \phi(a,b,n)\,\! defines a sequence of operations starting from addition (n = 0) rather than the successor function, then multiplication (n = 1), exponentiation (n = 2), etc. Secondly, the initial conditions for \phi\,\! result in \phi(a, b, 3) = a \uparrow\uparrow (b + 1)\,\!, thus differing from the hyperoperations beyond exponentiation.[7][16][17] The significance of the b + 1 in the previous expression is that \phi(a,b,3)\,\! = a^{a^{\cdot^{\cdot^{\cdot^a}}}}\,\!, where b counts the number of operators (exponentiations), rather than counting the number of operands ("a"s) as does the b in a \uparrow\uparrow b\,\!, and so on for the higher-level operations. (See the Ackermann function article for details.)


This is a list of notations that have been used for hyperoperations.

Name Notation equivalent to H_n(a,b) Comment
Knuth's up-arrow notation a \uparrow^{n-2} b\,\! Used by Knuth[18] (for n ≥ 3), and found in several reference books.[19][20]
Goodstein's notation G(n, a, b)\,\! Used by Reuben Goodstein.[5]
Original Ackermann function 
  \phi(a, b, n-1) \ \text{ for } 1 \le n \le 3 \\
  \phi(a, b-1, n-1) \ \text{ for } n \ge 4
  Used by Wilhelm Ackermann (for n ≥ 1) [15]
Ackermann–Péter function A(n, b - 3) + 3 \ \text{for } a = 2\,\! This corresponds to hyperoperations for base 2 (a = 2)
Nambiar's notation a \otimes^{n-1} b\,\! Used by Nambiar (for n ≥ 1) [21]
Box notation a {\,\begin{array}{|c|}\hline{\!n\!}\\\hline\end{array}\,} b\,\! Used by Rubtsov and Romerio.[13][14]
Superscript notation a {}^{(n)} b\,\! Used by Robert Munafo.[10]
Subscript notation (for lower hyperoperations) a {}_{(n)} b\,\! Used for lower hyperoperations by Robert Munafo.[10]
Operator notation (for "extended operations") a O_{n-1} b\,\! Used for lower hyperoperations by John Donner and Alfred Tarski.[22]
Square bracket notation a[n]b\,\! Used in many online forums; convenient for ASCII.
Conway chained arrow notation a \to b \to (n-2) Used by John Horton Conway (for n ≥ 3)
Bowers' Exploding Array Function \{a,b,n-2\} Used by Jonathan Bowers (for n ≥ 3)

Variant starting from a[edit]

Main article: Ackermann function

In 1928, Wilhelm Ackermann defined a 3-argument function \phi(a, b, n) which gradually evolved into a 2-argument function known as the Ackermann function. The original Ackermann function \phi was less similar to modern hyperoperations, because his initial conditions start with \phi(a, 0, n) = a for all n > 2. Also he assigned addition to n = 0, multiplication to n = 1 and exponentiation to n = 2, so the initial conditions produce very different operations for tetration and beyond.

n Operation Comment
0 F_0(a, b) = a + b
1 F_1(a, b) = a\cdot b
2 F_2(a, b) = a^b
3 F_3(a, b) = a \uparrow\uparrow (b + 1) An offset form of tetration. The iteration of this operation is different than the iteration of tetration.
4 F_4(a, b) = (x \mapsto a \uparrow\uparrow (x + 1))^b(a) Not to be confused with pentation.

Another initial condition that has been used is A(0, b) = 2 b + 1 (where the base is constant a=2), due to Rózsa Péter, which does not form a hyperoperation hierarchy.

Variant starting from 0[edit]

In 1984, C. W. Clenshaw and F. W. J. Olver began the discussion of using hyperoperations to prevent computer floating-point overflows.[23] Since then, many other authors[24][25][26] have renewed interest in the application of hyperoperations to floating-point representation. (Since Hn(a, b) are all defined for b = -1) While discussing tetration, Clenshaw et al. assumed the initial condition F_n(a, 0) = 0, which makes yet another hyperoperation hierarchy. Just like in the previous variant, the fourth operation is very similar to tetration, but offset by one.

n Operation Comment
0 F_0(a, b) = b + 1
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b = e^{\ln(a) + \ln(b)}
3 F_3(a, b) = a^b
4 F_4(a, b) = a \uparrow\uparrow (b - 1) An offset form of tetration. The iteration of this operation is much different than the iteration of tetration.
5 F_5(a, b) = (x \mapsto a \uparrow\uparrow (x - 1))^b(0)= 0 \text{ if } a>0 Not to be confused with pentation.

Lower hyperoperations[edit]

An alternative for these hyperoperations is obtained by evaluation from left to right. Since

  • a+b = (a+(b-1))+1
  • a\cdot b = (a\cdot (b-1))+a
  • a^b = (a^{(b-1)})\cdot a

define (with ° or subscript)

a_{(n+1)}b = (a_{(n+1)}(b-1))_{(n)}a


a_{(1)}b & = & a+b \\
a _ {(2)} 0 & = & 0 \\
a _ {(n)} 1 & = & a & \text{for } n>2 \\

This was extended to ordinal numbers by Donner and Tarski,[22][Definition 1] by :

\alpha O_0 \beta & = & \alpha + \beta \\
\alpha O_\gamma \beta & = & \sup\limits_{\eta<\beta, \xi<\gamma}(\alpha O_\gamma \eta) O_\xi \alpha

It follows from Definition 1(i), Corollary 2(ii), and Theorem 9, that, for a ≥ 2 and b ≥ 1, that[original research?]

 a O_n b = a _{(n+1)} b

But this suffers a kind of collapse, failing to form the "power tower" traditionally expected of hyperoperators:[22][Theorem 3(iii)][nb 3]

\alpha_{(4)}(1+\beta) = \alpha^{(\alpha^\beta)}.

If α ≥ 2 and γ ≥ 2, [22][Corollary 33(i)][nb 3]

\alpha_{(1+2\gamma+1)}\beta \leq \alpha_{(1+2\gamma)}(1+3\alpha\beta).
n Operation Comment
0 F_0(a,b) = a + 1 increment, successor, zeration
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b
3 F_3(a, b) = a^b This is exponentiation.
4 F_4(a, b) = a^{(a^{(b-1)})} Not to be confused with tetration.
5 F_5(a, b) = (x \mapsto x^{x^{(a-1)}})^{b-1}(a) Not to be confused with pentation.
Similar to tetration.

Commutative hyperoperations[edit]

Commutative hyperoperations were considered by Albert Bennett as early as 1914,[6] which is possibly the earliest remark about any hyperoperation sequence. Commutative hyperoperations are defined by the recursion rule

F_{n+1}(a, b) = \exp(F_n(\ln(a), \ln(b)))

which is symmetric in a and b, meaning all hyperoperations are commutative. This sequence does not contain exponentiation, and so does not form a hyperoperation hierarchy.

n Operation Comment
0 F_0(a, b) = \ln(e^{a} + e^{b})
1 F_1(a, b) = a + b
2 F_2(a, b) = a\cdot b = e^{\ln(a) + \ln(b)} This is due to the properties of the logarithm.
3 F_3(a, b) = a^{\ln(b)} = e^{\ln(a)\ln(b)} A commutative form of exponentiation.
4 F_4(a, b) = e^{e^{\ln(\ln(a))\ln(\ln(b))}} Not to be confused with tetration.

See also[edit]


  1. ^ Sequences similar to the hyperoperation sequence have historically been referred to by many names, including: the Ackermann function[1] (3-argument), the Ackermann hierarchy,[2] the Grzegorczyk hierarchy[3][4] (which is more general), Goodstein's version of the Ackermann function,[5] operation of the nth grade,[6] z-fold iterated exponentiation of x with y,[7] arrow operations,[8] reihenalgebra[9] and hyper-n.[1][9][10][11][12]
  2. ^ a b c d a [n] (-1) = 0 for all real number a and all integer n ≥ 4, because if so, than a [n] 0 = a [n - 1] (a [n] (-1)) = a [n - 1] 0 = 1 (because of n ≥ 4), this is keeping with the define: a [n] 0 = 1 for all real number a.
  3. ^ a b Ordinal addition is not commutative; see ordinal arithmetic for more information


  1. ^ a b c Daniel Geisler (2003). "What lies beyond exponentiation?". Retrieved 2009-04-17. 
  2. ^ Harvey M. Friedman (Jul 2001). "Long Finite Sequences". Journal of Combinatorial Theory, Series A 95 (1): 102–144. doi:10.1006/jcta.2000.3154. Retrieved 2009-04-17. 
  3. ^ Manuel Lameiras Campagnola and Cristopher Moore and José Félix Costa (Dec 2002). "Transfinite Ordinals in Recursive Number Theory". Journal of Complexity 18 (4): 977–1000. doi:10.1006/jcom.2002.0655. Retrieved 2009-04-17. 
  4. ^ Marc Wirz (1999). "Characterizing the Grzegorczyk hierarchy by safe recursion". CiteSeer. Retrieved 2009-04-21. 
  5. ^ a b c d R. L. Goodstein (Dec 1947). "Transfinite Ordinals in Recursive Number Theory". Journal of Symbolic Logic 12 (4): 123–129. doi:10.2307/2266486. JSTOR 2266486. 
  6. ^ a b c d Albert A. Bennett (Dec 1915). "Note on an Operation of the Third Grade". Annals of Mathematics. Second Series 17 (2): 74–75. doi:10.2307/2007124. JSTOR 2007124. 
  7. ^ a b Paul E. Black (2009-03-16). "Ackermann's function". Dictionary of Algorithms and Data Structures. U.S. National Institute of Standards and Technology (NIST). Retrieved 2009-04-17. 
  8. ^ J. E. Littlewood (Jul 1948). "Large Numbers". Mathematical Gazette 32 (300): 163–171. doi:10.2307/3609933. JSTOR 3609933. 
  9. ^ a b Markus Müller (1993). "Reihenalgebra". Retrieved 2009-04-17. 
  10. ^ a b c Robert Munafo (November 1999). "Inventing New Operators and Functions". Large Numbers at MROB. Retrieved 2009-04-17. 
  11. ^ a b A. J. Robbins (November 2005). "Home of Tetration". Retrieved 2009-04-17. [dead link]
  12. ^ a b I. N. Galidakis (2003). "Mathematics". Retrieved 2009-04-17. 
  13. ^ a b C. A. Rubtsov and G. F. Romerio (December 2005). "Ackermann's Function and New Arithmetical Operation". Retrieved 2009-04-17. 
  14. ^ a b G. F. Romerio (2008-01-21). "Hyperoperations Terminology". Tetration Forum. Retrieved 2009-04-21. 
  15. ^ a b Wilhelm Ackermann (1928). "Zum Hilbertschen Aufbau der reellen Zahlen". Mathematische Annalen 99: 118–133. doi:10.1007/BF01459088. 
  16. ^ Robert Munafo (1999-11-03). "Versions of Ackermann's Function". Large Numbers at MROB. Retrieved 2009-04-17. 
  17. ^ J. Cowles and T. Bailey (1988-09-30). "Several Versions of Ackermann's Function". Dept. of Computer Science, University of Wyoming, Laramie, WY. Retrieved 2009-04-17. 
  18. ^ Donald E. Knuth (Dec 1976). "Mathematics and Computer Science: Coping with Finiteness". Science 194 (4271): 1235–1242. doi:10.1126/science.194.4271.1235. PMID 17797067. Retrieved 2009-04-21. 
  19. ^ Daniel Zwillinger (2002). CRC standard mathematical tables and formulae, 31st Edition. CRC Press. p. 4. ISBN 1-58488-291-3. 
  20. ^ Eric W. Weisstein (2003). CRC concise encyclopedia of mathematics, 2nd Edition. CRC Press. pp. 127–128. ISBN 1-58488-347-2. 
  21. ^ K. K. Nambiar (1995). "Ackermann Functions and Transfinite Ordinals". Applied Mathematics Letters 8 (6): 51–53. doi:10.1016/0893-9659(95)00084-4. 
  22. ^ a b c d John Donner; Alfred Tarski (1969). "An extended arithmetic of ordinal numbers". Fundamenta Mathematicae 65: 95–127. 
  23. ^ C.W. Clenshaw and F.W.J. Olver (Apr 1984). "Beyond floating point". Journal of the ACM 31 (2): 319–328. doi:10.1145/62.322429. Retrieved 2009-04-21. 
  24. ^ W. N. Holmes (Mar 1997). "Composite Arithmetic: Proposal for a New Standard". Computer 30 (3): 65–73. doi:10.1109/2.573666. Retrieved 2009-04-21. 
  25. ^ R. Zimmermann (1997). "Computer Arithmetic: Principles, Architectures, and VLSI Design". Lecture notes, Integrated Systems Laboratory, ETH Zürich. Retrieved 2009-04-17. 
  26. ^ T. Pinkiewicz and N. Holmes and T. Jamil (2000). "Design of a composite arithmetic unit for rational numbers". Proceedings of the IEEE. pp. 245–252. Retrieved 2009-04-17.