Jump to content

Hyperoperation: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
AJRobbins (talk | contribs)
Moved from hyper operator
AJRobbins (talk | contribs)
Major revision
Line 1: Line 1:
{{dablink|This article is about hyperoperations in arithmetic. For the group theory term with the same name, see [[hyperoperation (group theory)]].}}
{{Mergeto|Ackermann function|Talk:Ackermann function|date=September 2008}}
In [[mathematics]], the '''hyperoperation sequence'''{{#tag:ref|
{{Articleissues
The ''hyperoperation sequence'' has historically been referred to by many names, including: the
|OR=September 2008}}
''[[Ackermann function]]''<ref name=wolfram>{{cite book
| author = Stephen Wolfram
| title = A New Kind of Science (NKS)
| publisher = [[Wolfram Research|Wolfram Media]]
| year = 2002
| pages= 897?
| isbn = 1579550088 }}</ref><ref name=geisler>{{cite web
| author= Daniel Geisler
| title= What lies beyond exponentiation?
| url= http://tetration.org/
| date= 2003
| accessdate=2009-04-17}}</ref> (3-argument), the
''Ackermann hierarchy''<ref name=friedman>{{cite journal
| author= Harvey M. Friedman
| title= Long Finite Sequences
| journal= Journal of Combinatorial Theory, Series A
| year= 2001
| month= Jul.
| volume= 95
| issue= 1
| pages= 102-144
| url= http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WHS-45RFJ9C-5&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_version=1&_urlVersion=0&_userid=10&md5=8097ac57c9dbe05b99fef6a95309f1df
| accessdate=2009-04-17}}</ref>, the
''[[Grzegorczyk hierarchy]]''<ref>{{cite journal
| author= Manuel Lameiras Campagnola and Cristopher Moore and José Félix Costa
| title= Transfinite Ordinals in Recursive Number Theory
| journal= Journal of Complexity
| year= 2002
| month= Dec.
| volume= 18
| issue= 4
| pages= 977-1000
| url= http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WHX-482XFM6-4&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_acct=C000050221&_version=1&_urlVersion=0&_userid=10&md5=f4e3ffc2a28e8abd16cde236197fd487
| accessdate=2009-04-17}}</ref><ref>{{cite web
| author= Marc Wirz
| title= Characterizing the Grzegorczyk hierarchy by safe recursion
| url= http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.3374
| publisher= CiteSeer
| date= 1999
| accessdate=2009-04-21}}</ref>
(which is more general),
''Goodstein's function''<ref name=goodstein>{{cite journal
| author= R. L. Goodstein
| title= Transfinite Ordinals in Recursive Number Theory
| journal= Journal of Symbolic Logic
| year= 1947
| month= Dec.
| volume= 12
| issue= 4
| pages= 123-129
| url= http://www.jstor.org/stable/2266486
| accessdate=2009-04-17}}</ref>,
''operation of the nth grade''<ref name=bennett>{{cite journal
| author= Albert A. Bennett
| title= Note on an Operation of the Third Grade
| journal= Annals of Mathematics, Second Series
| year= 1915
| month= Dec.
| volume= 17
| issue= 2
| pages= 74-75
| url= http://www.jstor.org/stable/2007124
| accessdate=2009-04-17}}</ref>,
''z-fold iterated exponentiation of x with y''<ref name=black>{{cite web
| author= Paul E. Black
| title= Ackermann's function
| url= http://www.itl.nist.gov/div897/sqg/dads/HTML/ackermann.html
| work= [http://www.itl.nist.gov/div897/sqg/dads/ Dictionary of Algorithms and Data Structures]
| publisher= U.S. National Institute of Standards and Technology (NIST)
| date= 2009-03-16
| accessdate=2009-04-17}}</ref>,
''[[Knuth's up-arrow notation|arrow]] operations''<ref name=littlewood>{{cite journal
| author= J. E. Littlewood
| title= Large Numbers
| journal= Mathematical Gazette
| year= 1948
| month= Jul.
| volume= 32
| issue= 300
| pages= 163-171
| url= http://www.jstor.org/stable/3609933
| accessdate=2009-04-17}}</ref>,
''reihenalgebra''<ref name=mueller>{{cite web
| author= Markus Müller
| title= Reihenalgebra
| url= http://www.math.tu-berlin.de/~mueller/reihenalgebra.pdf
| date= 1993
| accessdate=2009-04-17}}</ref> and
''hyper-n''.<ref name=geisler /><ref name=mueller /><ref name=munafo>{{cite web
| author= Robert Munafo
| title= Inventing New Operators and Functions
| url= http://www.mrob.com/pub/math/largenum-3.html
| work= Large Numbers at MROB
| date= 1999-11
| accessdate=2009-04-17}}</ref><ref name=robbins>{{cite web
| author= A. J. Robbins
| title= Home of Tetration
| url= http://tetration.itgo.com/index.html
| date= 2005-11
| accessdate=2009-04-17}}</ref><ref name=galidakis>{{cite web
| author= I. N. Galidakis
| title= Mathematics
| url= http://ioannis.virtualcomposer2000.com/math/index.html
| date= 2003
| accessdate=2009-04-17}}</ref>
The most commonly used of any of these terms is the [[Ackermann function]],
whose [[Google search]] gives almost a million hits, mostly refering to the 2-argument function.
| group="nb"}}
is a [[sequence]] of [[Binary operation|binary operations]] that starts with [[addition]], [[multiplication]] and [[exponentiation]], called
'''hyperoperations'''<ref name=geisler/><ref name=robbins /><ref name=romerioAck>{{cite web
| author= C. A. Rubtsov and G. F. Romerio
| title= Ackermann's Function and New Arithmetical Operation
| url= http://forum.wolframscience.com/showthread.php?s=&threadid=956
| date= 2005-12
| accessdate=2009-04-17}}</ref>
in general. The ''n''th member of this sequence is named after the [[Numerical prefix|Greek prefix]] of ''n'' suffixed with ''-ation'' (such as [[tetration]], [[pentation]]), coined by [[Reuben Goodstein]],<ref name=goodstein /> and can be written using <math>(n-2)</math> arrows in [[Knuth's up-arrow notation]].
Each hyperoperation is defined [[Recursion (computer science)|recursively]] in terms of the previous one, as is the case with [[Knuth's up-arrow notation|arrow notation]]. The [[Piecewise|part]] of the definition that does this is the [[Recursion (computer science)|recursion]] rule of the [[Ackermann function]]:


:<math>a \uparrow^n b = a \uparrow^{n-1} \left(a \uparrow^n (b-1)\right)</math>
The '''hyper operators''' forming the '''hyper''n'' family''' are related to [[Knuth's up-arrow notation]] and [[Conway chained arrow notation]] as follows:


which is common to many variants of hyperoperations (see [[#Generalization|below]]).
<math>\textrm{hyper} n (a, b) = \textrm{hyper}(a,n,b) = a \uparrow^{n-2} b = a \to b \to (n-2) </math>.


== Definition ==
This family of operators was described by [[Reuben Goodstein]] <ref>[[Reuben Goodstein|Goodstein, R.]], ''Transfinite Ordinals in Recursive Number Theory'', Journal of Symbolic Logic, 12 (1947), 123-129 (see pp. 128-129).</ref>, using the notation ''G''(''k'',''a'',''n'') for what would here be written as hyper(''a'',''k'',''n'') or ''a''<sup>(''k'')</sup>''n'', etc., ''which is a variant of the '''[[Ackermann function]]'''''. In the 1947 paper, Goodstein introduced the names "[[tetration]]", "pentation", "hexation", etc., for the successive operators beyond exponentiation. (More-recent publications refer to this entire family and its variants simply as the '''Ackermann hierarchy'''.<ref>Harvey M. Friedman, ''Long Finite Sequences'', Journal of Combinatorial Theory, Series A, Volume 95, Issue 1, July 2001, Pages 102-144. [http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6WHS-45RFJ9C-5&_user=10&_rdoc=1&_fmt=&_orig=search&_sort=d&view=c&_version=1&_urlVersion=0&_userid=10&md5=8097ac57c9dbe05b99fef6a95309f1df Online abstract].
{{main|Knuth's up-arrow notation}}
</ref>)


The ''hyperoperation sequence'' is a [[sequence]] <math>H_n</math> of [[Binary operation|binary operations]] on <math>\mathbb{N}</math>, [[Index set|indexed]] by <math>\mathbb{N}</math>, which starts with [[addition]] <math>(n=1)</math>, [[multiplication]] <math>(n=2)</math> and [[exponentiation]] <math>(n=3)</math>.
In common terms, the hyper operators are modes of compounding of numbers that increase in power and value based on the previous iteration of the hyper operator family. The concepts of addition, multiplication and exponentiation are all hyper operators; 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.
The parameters of the hyperoperation hierarchy are referred to by their analogous exponentiation term<ref name=romerioTerms>
{{cite web
| author= G. F. Romerio
| title= Hyperoperations Terminology
| url= http://math.eretrandre.org/tetrationforum/attachment.php?aid=208
| publisher= [http://math.eretrandre.org/tetrationforum/ Tetration Forum]
| date= 2008-01-21
| accessdate=2009-04-21}}</ref>; so ''a'' is the '''''base''''', ''b'' is the '''''exponent'''''
(or ''hyperexponent''<ref name=galidakis />), and ''n'' is the '''''rank''''' (or ''grade''<ref name=bennett />).


Using [[Knuth's up-arrow notation|arrow notation]] we can defined hyperoperations as
For example, with ''n'' = 4 we have '''hyper4''' (tetration, super-exponentiation, power towers, etc.) in terms of an extension of standard [[operator]]s:
:<math>

H_n(a, b) = a \uparrow^{n-2} b =
<math>{\operatorname{hyper4} (a, b) = \operatorname{hyper}(a, 4, b) = a ^ {(4)} b = a \uparrow\uparrow b = \atop {\ }} \!\!\!\!\!\!\!{{\underbrace{a^{a^{\cdot^{\cdot^{a}}}}}} \atop {b\mbox{ copies of }a}} \!\!\!\!\!\!\!{=a\to b\to 2 \atop {\ }}</math>
\left\{

\begin{matrix}
See also [[Knuth's up-arrow notation#Tables of values|Tables of values]].
1 & \text{if } b = 0, \\
b + 1 & \text{if } n = 0, \\
H_{n-1}(a, H_n(a, b - 1)) & \text{otherwise.}
\end{matrix}
\right.
</math>


It can be seen as an answer to the question "what's next" in the [[sequence]]: [[addition]], [[multiplication]], [[exponentiation]], and so on. Noting that
== Derivation of the notation ==
It can be seen as an answer to the question "what's next in this [[sequence]]:
[[summation]]&nbsp;(+),
[[multiplication]]&nbsp;(&times;),
[[exponentiation]]&nbsp;(^),…?"
Noting that
* <math>a + b = 1 + (a + (b - 1))</math>
* <math>a + b = 1 + (a + (b - 1))</math>
* <math>a \times b = a + (a \times (b - 1))</math>
* <math>a \times b = a + (a \times (b - 1))</math>
* <math>a ^ b = a \times (a ^ {(b - 1)})</math>
* <math>a ^ b = a \times (a ^ {(b - 1)})</math>
this produces a natural relationship between the hyperoperations, and allows higher operations, such as [[tetration]] and [[pentation]] to be defined,
recursively define an
which produce very large numbers from small inputs, as further explained in the separate article on '''[[tetration]]'''.
[[operator|infix triadic operator]] (making n=0 correspond to the [[successor function]]):


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 addition, multiplication and exponentiation are all hyperoperations; 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.
<math>
a ^ {(n)} b=
\left\{
\begin{matrix}
b+1, & \mbox{if }n=0 \\
a, & \mbox{if }n=1,b=0 \\
0, & \mbox{if }n=2,b=0 \\
1, & \mbox{if }n\ge 3,b=0 \\
a ^ {(n-1)} ( a ^ {(n)} (b - 1)) & \mbox{if }n\ge 1,b\ge 1,a\ge 0
\end{matrix}
\right.
</math>


== Examples ==
<br>then define
<math>\operatorname{hyper\mathit{n}} (a, b) = a ^ {(n)} b</math>
and
<math>\operatorname{hyper}(a, n, b) = a ^ {(n)} b</math>


This is a list of the first five hyperoperations.
This gives:


{| class="wikitable"
<math>\operatorname{hyper1} (a, b) = \operatorname{hyper}(a, 1, b) = a ^ {(1)} b = a+b</math>
|-
! ''n''
! Operation
! Definition
! Names
|-
! 0
| <math>b + 1</math>
|
| hyper0, increment, successor, zeration
|-
! 1
| <math>a + b</math>
|
| hyper1, [[addition]]
|-
! 2
| <math>ab</math>
| <math>{{\underbrace{a + a + a + ... + a}} \atop {b}}</math>
| hyper2, [[multiplication]]
|-
! 3
| <math>a \uparrow b = a^b</math>
| <math>{{\underbrace{a \cdot a \cdot a \cdot a \cdot ... \cdot a}} \atop {b}}</math>
| hyper3, [[exponentiation]]
|-
! 4
| <math>a \uparrow\uparrow b</math>
| <math>{{\underbrace{a \uparrow a \uparrow a \uparrow ... \uparrow a}} \atop {b}}</math>
| hyper4, [[tetration]]
|-
! 5
| <math>a \uparrow\uparrow\uparrow b</math>
| <math>{{\underbrace{a \uparrow\uparrow a \uparrow\uparrow ... \uparrow\uparrow a}} \atop {b}}</math>
| hyper5, [[pentation]]
|}


See also [[Knuth's up-arrow notation#Tables of values|Tables of values]].
<math>\operatorname{hyper2} (a, b) = \operatorname{hyper}(a, 2, b) = a ^ {(2)} b = ab</math>


== History ==
<math>\operatorname{hyper3} (a, b) = \operatorname{hyper}(a, 3, b) = a ^ {(3)} b = a^b</math>


One of the earliest discussions of hyperoperations was that of Albert Bennett<ref name=bennett /> in 1914, who developed some of the theory of ''commutative hyperoperations'' (see [[#Commutative_hyperoperations|below]]). About 12 years later, [[Wilhelm Ackermann]] defined the function
<math>{\operatorname{hyper4} (a, b) = \operatorname{hyper}(a, 4, b) = a ^ {(4)} b = a \uparrow\uparrow b = \atop {\ }} \!\!\!\!\!\!\!{{\underbrace{a^{a^{\cdot^{\cdot^{a}}}}}} \atop {b\mbox{ copies of }a}}</math>
<math>\phi(a, b, n)</math><ref name=ackOrig>{{cite journal
| author=Wilhelm Ackermann
| journal=[[Mathematische Annalen]]
| title=''Zum Hilbertschen Aufbau der reellen Zahlen''
| year=1928 | volume=99 | pages=118-133
| doi=10.1007/BF01459088}}</ref>
which somewhat resembles the hyperoperation sequence.
The ''original'' [[Ackermann function]] with three arguments used the same recursion rule, but it differs from modern hyperoperations in at least two ways. First, it assigned addition to <math>n=0</math>, multiplication to <math>n=1</math> and exponentiation to <math>n=2</math>. Secondly, the initial conditions of <math>\phi</math> indicate that <math>\phi(a, b, 3) = a \uparrow\uparrow (b + 1)</math>,
which produces very different values than hyperoperations above exponentiation.<ref name=black/><ref>{{cite web
| author= Robert Munafo
| title= Versions of Ackermann's Function
| url= http://www.mrob.com/pub/math/ln-2deep.html
| work= Large Numbers at MROB
| date= 1999-11-03
| accessdate=2009-04-17}}</ref><ref>{{cite web
| author= J. Cowles and T. Bailey
| title= Several Versions of Ackermann's Function
| url= http://www.cs.utexas.edu/users/boyer/ftp/nqthm/nqthm-1992/examples/basic/peter.events
| publisher= Dept. of Computer Science, University of Wyoming, Laramie, WY
| date= 1988-09-30
| accessdate=2009-04-17}}</ref>


In 1947, [[Reuben Goodstein]]<ref name=goodstein /> defined the hyperoperation sequence as it is used today, where he used the notation <math>G(n,a,b)</math> for what would be written as <math>a \uparrow^{n-2}b</math> in [[Knuth's up-arrow notation|arrow notation]].
as further explained in the separate article '''[[tetration]]'''.
In the 1947 paper, Goodstein introduced the names "[[tetration]]", "pentation", "hexation", etc., for the successive operators beyond [[exponentiation]].


== Notations ==
Known aliases for hyper4 include '''superpower''', '''superdegree''', and '''powerlog'''; other notation,
<math>\operatorname{hyper4}(a,b)={}^{b}a</math>.


This is a list of notations that have been used for hyperoperations.
The family has not been extended from natural numbers to real numbers in general for ''n>3'', due to non[[associativity]] in the "obvious" methods.


{| class="wikitable"
== Evaluation from left to right ==
|-
An alternative for these operators is obtained by evaluation from left to right. Since
! Name
! Notation
! Comment
|-
| '''standard [[Knuth's up-arrow notation|arrow notation]]'''
| <math>a \uparrow^{n-2} b = H_n(a, b)</math>
| Used by Knuth,<ref name=knuth>{{cite journal
| author= Donald E. Knuth
| title= Mathematics and Computer Science: Coping with Finiteness
| journal= Science
| year= 1976
| month= Dec.
| volume= 194
| issue= 4271
| pages= 1235-1242
| url= http://www.sciencemag.org/cgi/content/abstract/194/4271/1235
| accessdate=2009-04-21}}</ref> and found in several reference books.<ref>{{cite book
| author = Daniel Zwillinger
| title = CRC standard mathematical tables and formulae, 31st Edition
| publisher = CRC Press
| year = 2002
| pages= 4
| isbn = 1584882913 }}</ref><ref>{{cite book
| author = Eric W. Weisstein
| title = CRC concise encyclopedia of mathematics, 2nd Edition
| publisher = CRC Press
| year = 2003
| pages= 127-128
| isbn = 1584883472 }}</ref>
|-
| ''Goodstein's notation''
| <math>G(n, a, b)</math>
| Used by [[Reuben Goodstein]].<ref name=goodstein />
|-
| ''original [[Ackermann function]]''
| <math>A(a, b, n-1) = H_n(a, b)</math>
| This is not quite the same as hyperoperations.
|-
| ''modern [[Ackermann function]]''
| <math>A(n, b - 3) + 3 = H_n(2, b)</math>
| This the same as hyperoperations for base 2.
|-
| ''Nambiar's notation''
| <math>a \otimes^n b</math>
| Used by Nambiar<ref>{{cite journal
| author= K. K. Nambiar
| title= Ackermann Functions and Transfinite Ordinals
| journal= Applied Mathematics Letters
| year= 1995
| volume= 8
| issue= 6
| pages= 51-53
| url= http://www.sciencemag.org/cgi/content/abstract/194/4271/1235
| accessdate=2009-04-21}}</ref>
|-
| ''Box notation''
| <math>a {\,\begin{array}{|c|}\hline{\!n\!}\\\hline\end{array}\,} b</math>
| Used by Rubtsov and Romerio.<ref name=romerioAck/><ref name=romerioTerms/>
|-
| ''Superscript notation''
| <math>a {}^{(n)} b</math>
| Used by Robert Munafo.<ref name=munafo/>
|-
| ''Subscript notation''
| <math>a {}_{(n)} b</math>
| Used for lower hyperoperations by Robert Munafo.<ref name=munafo/>
|}

== Generalization ==

For different initial conditions or different recursion rules, very different operations can occur. Some mathematicians refer to all variants as examples of hyperoperations^Romerio^Trappmann.

In the general sense, a '''hyperoperation hierarchy''' <math>(S,\,I,\,F)</math> is a [[Indexed family|family]] <math>(F_n)_{n \in I}</math> of [[Binary operation|binary operations]] on <math>S</math>, [[Index set|indexed]] by a set <math>I</math>, such that there exists <math>i, j, k \in I</math> where
* <math>F_i(a, b) = a + b</math> ([[addition]]),
* <math>F_j(a, b) = ab</math> ([[multiplication]]), and
* <math>F_k(a, b) = a^b</math> ([[exponentiation]]).
Also, if the last condition is relaxed (i.e. there is no [[exponentiation]]), then we may also include the commutative hyperoperations, described below. Although one could list each hyperoperation explicitly, this is generally not the case. Most variants only include the [[successor function]] (or [[addition]]) in their definition, and redefine [[multiplication]] (and beyond) based on a single recursion rule that applies to all ranks. Since this is part of the definition of the hierarchy, and not a property of the hierarchy itself, it is difficult to define formally.

There are many possibilities for hyperoperations that are different from Goodstein's version. By using different initial conditions for <math>F_n(a, 0)</math> or <math>F_n(a, 1)</math>, the iterations of these conditions may produce different hyperoperations above exponentiation, while still corresponding to addition and multiplication. The modern definition of hyperoperations includes <math>F_n(a, 0) = 1</math> for all <math>n \ge 3</math>, whereas the variants below include <math>F_n(a, 0) = a</math>, and <math>F_n(a, 0) = 0</math>.

An open problem in hyperoperation research is whether the hyperoperation hierarchy <math>(\mathbb{N}, \mathbb{N}, F)</math> can be generalized to <math>(\mathbb{C}, \mathbb{C}, F)</math>, and whether <math>(\mathbb{C}, F_n)</math> forms a [[quasigroup]] (with restricted domains).

=== Variant starting from <math>a</math> ===
{{main|Ackermann function}}

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

{| class="wikitable"
|-
! ''n''
! Operation
! Comment
|-
! 0
| <math>F_0(a, b) = a + b</math>
|
|-
! 1
| <math>F_1(a, b) = ab</math>
|
|-
! 2
| <math>F_2(a, b) = a^b</math>
|
|-
! 3
| <math>F_3(a, b) = a \uparrow\uparrow (b + 1)</math>
| An offset form of [[tetration]]. The iteration of this operation is much different than the [[Iterated function|iteration]] of [[tetration]].
|-
! 4
| <math>F_4(a, b) = (x \to a \uparrow\uparrow (x + 1))^b(a)</math>
| Not to be confused with [[pentation]].
|}

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

=== Variant starting from 0 ===
In 1984, C. W. Clenshaw and F. W. J. Olver began the discussion of using hyperoperations to prevent computer [[Floating point|floating-point]]
overflows.<ref name=clenshawolver>{{cite journal
| author= C.W. Clenshaw and F.W.J. Olver
| title= Beyond floating point
| journal= Journal of the ACM
| year= 1984
| month= Apr.
| volume= 31
| issue= 2
| pages= 319-328
| url= http://portal.acm.org/citation.cfm?id=62.322429
| accessdate=2009-04-21}}</ref>
Since then, many other authors<ref name=holmes>{{cite journal
| author= W. N. Holmes
| title= Composite Arithmetic: Proposal for a New Standard
| journal= Computer
| year= 1997
| month= Mar.
| volume= 30
| issue= 3
| pages= 65-73
| url= http://portal.acm.org/citation.cfm?id=620661
| accessdate=2009-04-21}}</ref><ref>{{cite web
| author= R. Zimmermann
| title= Computer Arithmetic: Principles, Architectures, and VLSI Design
| url= http://www.iis.ee.ethz.ch/~zimmi/publications/comp_arith_notes.pdf
| publisher= Lecture notes, Integrated Systems Laboratory, ETH Zürich
| date= 1997
| accessdate=2009-04-17}}</ref><ref>{{cite web
| author= T. Pinkiewicz and N. Holmes and T. Jamil
| title= Design of a composite arithmetic unit for rational numbers
| url= http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=845571
| publisher= Proceedings of the IEEE
| date= 2000
| pages= 245-252
| accessdate=2009-04-17}}</ref>
have renewed interest in the application of hyperoperations to [[Floating point|floating-point]] representation.
While discussion [[tetration]], Clenshaw ''et.al.'' assumed the initial condition <math>F_n(a, 0) = 0</math>, which makes yet another hyperoperation hierarchy. Just like in the previous variant, the fourth operation is very similar to [[tetration]], but offset by one.

{| class="wikitable"
|-
! ''n''
! Operation
! Comment
|-
! 1
| <math>F_1(a, b) = a + b</math>
|
|-
! 2
| <math>F_2(a, b) = ab = e^{\ln(a) + \ln(b)}</math>
|
|-
! 3
| <math>F_3(a, b) = a^b</math>
|
|-
! 4
| <math>F_4(a, b) = a \uparrow\uparrow (b - 1)</math>
| An offset form of [[tetration]]. The iteration of this operation is much different than the [[Iterated function|iteration]] of [[tetration]].
|-
! 5
| <math>F_5(a, b) = (x \to a \uparrow\uparrow (x - 1))^b(0)</math>
| Not to be confused with [[pentation]].
|}

=== Commutative hyperoperations ===

Commutative hyperoperations were considered by Albert Bennett as early as 1914,<ref name=bennett /> which is possibly the earliest remark about any hyperoperation sequence. Commutative hyperoperations are defined by the recursion rule
:<math>F_{n+1}(a, b) = \exp(F_n(\ln(a), \ln(b))</math>
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.

{| class="wikitable"
|-
! ''n''
! Operation
! Comment
|-
! 0
| <math>F_0(a, b) = \ln(e^{a} + e^{b})</math>
|
|-
! 1
| <math>F_1(a, b) = a + b</math>
|
|-
! 2
| <math>F_2(a, b) = ab = e^{\ln(a) + \ln(b)}</math>
| This is due to the [[Logarithm#Properties_of_the_logarithm|properties of the logarithm]].
|-
! 3
| <math>F_3(a, b) = e^{\ln(a)\ln(b)}</math>
| A [[Commutativity|commutative]] form of [[exponentiation]].
|-
! 4
| <math>F_4(a, b) = e^{e^{\ln(\ln(a))\ln(\ln(b))}}</math>
| Not to be confused with [[tetration]].
|}

=== Balanced hyperoperations ===

Balanced hyperoperations, first considered by Clément Frappier in 1991,<ref name=frappier>{{cite journal
| author= C. Frappier
| title= Iterations of a kind of exponentials
| journal= Fibonacci Quarterly
| year= 1991
| volume= 29
| issue= 4
| pages= 351–361}}</ref> are based on the iteration of the function <math>x^x</math>, and are thus related to [[Steinhaus-Moser notation]]. The recursion rule used in balanced hyperoperations is
:<math>F_{n+1}(a, b) = (x \to F_n(x, x))^{\log_2(b)}(a)</math>
which requires [[Continuous function|continuous]] [[iteration]], even for [[integer]] b.

{| class="wikitable"
|-
! ''n''
! Operation
! Comment
|-
! 0
|
| Rank 0 does not exist?NOTE.
|-
! 1
| <math>F_1(a, b) = a + b</math>
|
|-
! 2
| <math>F_2(a, b) = ab = a 2^{\log_2(b)}</math>
|
|-
! 3
| <math>F_3(a, b) = a^b = a^{2^{\log_2(b)}}</math>
| This is [[exponentiation]].
|-
! 4
| <math>F_4(a, b) = (x \to x^x)^{\log_2(b)}(a)</math>
| Not to be confused with [[tetration]].
|}

=== Lower hyperoperations ===

Although it might appear contradictory at first, the lower hyperoperations are qui
- evaluation of left to right (lower-hyperops)

However, since this definition is more abstract, there are many more operations that satisfy these requirements than those found in the Ackermann hierarchy.

An alternative for these hyperoperations is obtained by evaluation from left to right. Since
* <math>a+b = (a+(b-1))+1</math>
* <math>a+b = (a+(b-1))+1</math>
* <math>a\times b = (a\times (b-1))+a</math>
* <math>a\times b = (a\times (b-1))+a</math>
Line 85: Line 519:
How can <math>a^{(n)}b</math> be so different from <math>a_{(n)}b</math> for ''n>3''? This is because of a [[symmetry]] called [[associativity]] that's ''defined into'' + and &times; (see [[field (mathematics)|field]]) but which ^ lacks. It is more apt to say the two ''(n)''s were decreed to be the same for ''n<4''. (On the other hand, one can object that the field operations were defined to mimic what had been "observed in nature" and ask why "nature" suddenly objects to that symmetry…)
How can <math>a^{(n)}b</math> be so different from <math>a_{(n)}b</math> for ''n>3''? This is because of a [[symmetry]] called [[associativity]] that's ''defined into'' + and &times; (see [[field (mathematics)|field]]) but which ^ lacks. It is more apt to say the two ''(n)''s were decreed to be the same for ''n<4''. (On the other hand, one can object that the field operations were defined to mimic what had been "observed in nature" and ask why "nature" suddenly objects to that symmetry…)


The other degrees do not collapse in this way, and so this family has some interest of its own as '''lower''' (perhaps '''lesser''' or '''inferior''') hyper operators.
The other degrees do not collapse in this way, and so this family has some interest of its own as '''lower''' (perhaps '''lesser''' or '''inferior''') hyperoperations.


{| class="wikitable"
For example:
|-
! ''n''
! Operation
! Comment
|-
! 0
| <math>b + 1</math>
| increment, successor, zeration
|-
! 1
| <math>F_1(a, b) = a + b</math>
|
|-
! 2
| <math>F_2(a, b) = ab</math>
|
|-
! 3
| <math>F_3(a, b) = a^b</math>
| This is [[exponentiation]].
|-
! 4
| <math>F_4(a, b) = a^{a^{(b-1)}}</math>
| Not to be confused with [[tetration]].
|-
! 5
| <math>F_5(a, b) = (x \to x^{x^{(a-1)}})^{b-1}(a)</math>
| Not to be confused with [[pentation]].
|}


== See also ==
:[[Steinhaus-Moser notation|moser]] = (..(2^^2)^^..2)^^2 (258 numbers 2)

==See also==
* [[Ackermann function]]
* [[Ackermann function]]
* [[Tetration]]
* [[Knuth's up-arrow notation]] (note the [[Knuth's up-arrow notation#Tables of values|Tables of values]])
* [[Knuth's up-arrow notation]] (note the [[Knuth's up-arrow notation#Tables of values|Tables of values]])
* [[Conway chained arrow notation]]
* [[Conway chained arrow notation]]
* [[Tetration]]

== Notes ==
<references group="nb" />


==References==
== References ==
<references />
{{reflist}}


[[Category:Arithmetic]]
[[Category:Arithmetic]]

Revision as of 07:49, 22 April 2009

In mathematics, the hyperoperation sequence[nb 1] is a sequence of binary operations that starts with addition, multiplication and exponentiation, called hyperoperations[2][12][14] in general. The nth member of this sequence is named after the Greek prefix of n suffixed with -ation (such as tetration, pentation), coined by Reuben Goodstein,[6] and can be written using arrows in Knuth's up-arrow notation. Each hyperoperation is defined recursively in terms of the previous one, as is the case with arrow notation. The part of the definition that does this is the recursion rule of the Ackermann function:

which is common to many variants of hyperoperations (see below).

Definition

The hyperoperation sequence is a sequence of binary operations on , indexed by , which starts with addition , multiplication and exponentiation . The parameters of the hyperoperation hierarchy are referred to by their analogous exponentiation term[15]; so a is the base, b is the exponent (or hyperexponent[13]), and n is the rank (or grade[7]).

Using arrow notation we can defined hyperoperations as

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

this produces a natural relationship between the hyperoperations, and allows higher operations, such as tetration and pentation to be defined, which produce very large numbers from small inputs, as further explained in the separate article on tetration.

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 addition, multiplication and exponentiation are all hyperoperations; 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.

Examples

This is a list of the first five hyperoperations.

n Operation Definition Names
0 hyper0, increment, successor, zeration
1 hyper1, addition
2 hyper2, multiplication
3 hyper3, exponentiation
4 hyper4, tetration
5 hyper5, pentation

See also Tables of values.

History

One of the earliest discussions of hyperoperations was that of Albert Bennett[7] in 1914, who developed some of the theory of commutative hyperoperations (see below). About 12 years later, Wilhelm Ackermann defined the function [16] which somewhat resembles the hyperoperation sequence. The original Ackermann function with three arguments used the same recursion rule, but it differs from modern hyperoperations in at least two ways. First, it assigned addition to , multiplication to and exponentiation to . Secondly, the initial conditions of indicate that , which produces very different values than hyperoperations above exponentiation.[8][17][18]

In 1947, Reuben Goodstein[6] defined the hyperoperation sequence as it is used today, where he used the notation for what would be written as in arrow notation. In the 1947 paper, Goodstein introduced the names "tetration", "pentation", "hexation", etc., for the successive operators beyond exponentiation.

Notations

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

Name Notation Comment
standard arrow notation Used by Knuth,[19] and found in several reference books.[20][21]
Goodstein's notation Used by Reuben Goodstein.[6]
original Ackermann function This is not quite the same as hyperoperations.
modern Ackermann function This the same as hyperoperations for base 2.
Nambiar's notation Used by Nambiar[22]
Box notation Used by Rubtsov and Romerio.[14][15]
Superscript notation Used by Robert Munafo.[11]
Subscript notation Used for lower hyperoperations by Robert Munafo.[11]

Generalization

For different initial conditions or different recursion rules, very different operations can occur. Some mathematicians refer to all variants as examples of hyperoperations^Romerio^Trappmann.

In the general sense, a hyperoperation hierarchy is a family of binary operations on , indexed by a set , such that there exists where

  • (addition),
  • (multiplication), and
  • (exponentiation).

Also, if the last condition is relaxed (i.e. there is no exponentiation), then we may also include the commutative hyperoperations, described below. Although one could list each hyperoperation explicitly, this is generally not the case. Most variants only include the successor function (or addition) in their definition, and redefine multiplication (and beyond) based on a single recursion rule that applies to all ranks. Since this is part of the definition of the hierarchy, and not a property of the hierarchy itself, it is difficult to define formally.

There are many possibilities for hyperoperations that are different from Goodstein's version. By using different initial conditions for or , the iterations of these conditions may produce different hyperoperations above exponentiation, while still corresponding to addition and multiplication. The modern definition of hyperoperations includes for all , whereas the variants below include , and .

An open problem in hyperoperation research is whether the hyperoperation hierarchy can be generalized to , and whether forms a quasigroup (with restricted domains).

Variant starting from

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

n Operation Comment
0
1
2
3 An offset form of tetration. The iteration of this operation is much different than the iteration of tetration.
4 Not to be confused with pentation.

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

Variant starting from 0

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. While discussion tetration, Clenshaw et.al. assumed the initial condition , 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
1
2
3
4 An offset form of tetration. The iteration of this operation is much different than the iteration of tetration.
5 Not to be confused with pentation.

Commutative hyperoperations

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

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
1
2 This is due to the properties of the logarithm.
3 A commutative form of exponentiation.
4 Not to be confused with tetration.

Balanced hyperoperations

Balanced hyperoperations, first considered by Clément Frappier in 1991,[27] are based on the iteration of the function , and are thus related to Steinhaus-Moser notation. The recursion rule used in balanced hyperoperations is

which requires continuous iteration, even for integer b.

n Operation Comment
0 Rank 0 does not exist?NOTE.
1
2
3 This is exponentiation.
4 Not to be confused with tetration.

Lower hyperoperations

Although it might appear contradictory at first, the lower hyperoperations are qui - evaluation of left to right (lower-hyperops)

However, since this definition is more abstract, there are many more operations that satisfy these requirements than those found in the Ackermann hierarchy.

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

define (with subscripts instead of superscripts) with , , and for

But this suffers a kind of collapse, failing to form the "power tower" traditionally expected of hyper4:

How can be so different from for n>3? This is because of a symmetry called associativity that's defined into + and × (see field) but which ^ lacks. It is more apt to say the two (n)s were decreed to be the same for n<4. (On the other hand, one can object that the field operations were defined to mimic what had been "observed in nature" and ask why "nature" suddenly objects to that symmetry…)

The other degrees do not collapse in this way, and so this family has some interest of its own as lower (perhaps lesser or inferior) hyperoperations.

n Operation Comment
0 increment, successor, zeration
1
2
3 This is exponentiation.
4 Not to be confused with tetration.
5 Not to be confused with pentation.

See also

Notes

  1. ^ The hyperoperation sequence has historically been referred to by many names, including: the Ackermann function[1][2] (3-argument), the Ackermann hierarchy[3], the Grzegorczyk hierarchy[4][5] (which is more general), Goodstein's function[6], operation of the nth grade[7], z-fold iterated exponentiation of x with y[8], arrow operations[9], reihenalgebra[10] and hyper-n.[2][10][11][12][13] The most commonly used of any of these terms is the Ackermann function, whose Google search gives almost a million hits, mostly refering to the 2-argument function.

References

  1. ^ Stephen Wolfram (2002). A New Kind of Science (NKS). Wolfram Media. pp. 897?. ISBN 1579550088.
  2. ^ a b c Daniel Geisler (2003). "What lies beyond exponentiation?". Retrieved 2009-04-17.
  3. ^ Harvey M. Friedman (2001). "Long Finite Sequences". Journal of Combinatorial Theory, Series A. 95 (1): 102–144. Retrieved 2009-04-17. {{cite journal}}: Unknown parameter |month= ignored (help)
  4. ^ Manuel Lameiras Campagnola and Cristopher Moore and José Félix Costa (2002). "Transfinite Ordinals in Recursive Number Theory". Journal of Complexity. 18 (4): 977–1000. Retrieved 2009-04-17. {{cite journal}}: Unknown parameter |month= ignored (help)
  5. ^ Marc Wirz (1999). "Characterizing the Grzegorczyk hierarchy by safe recursion". CiteSeer. Retrieved 2009-04-21.
  6. ^ a b c d R. L. Goodstein (1947). "Transfinite Ordinals in Recursive Number Theory". Journal of Symbolic Logic. 12 (4): 123–129. Retrieved 2009-04-17. {{cite journal}}: Unknown parameter |month= ignored (help)
  7. ^ a b c d Albert A. Bennett (1915). "Note on an Operation of the Third Grade". Annals of Mathematics, Second Series. 17 (2): 74–75. Retrieved 2009-04-17. {{cite journal}}: Unknown parameter |month= ignored (help)
  8. ^ 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. {{cite web}}: External link in |work= (help)
  9. ^ J. E. Littlewood (1948). "Large Numbers". Mathematical Gazette. 32 (300): 163–171. Retrieved 2009-04-17. {{cite journal}}: Unknown parameter |month= ignored (help)
  10. ^ a b Markus Müller (1993). "Reihenalgebra" (PDF). Retrieved 2009-04-17.
  11. ^ a b c Robert Munafo (1999-11). "Inventing New Operators and Functions". Large Numbers at MROB. Retrieved 2009-04-17. {{cite web}}: Check date values in: |date= (help)
  12. ^ a b A. J. Robbins (2005-11). "Home of Tetration". Retrieved 2009-04-17. {{cite web}}: Check date values in: |date= (help)
  13. ^ a b I. N. Galidakis (2003). "Mathematics". Retrieved 2009-04-17.
  14. ^ a b C. A. Rubtsov and G. F. Romerio (2005-12). "Ackermann's Function and New Arithmetical Operation". Retrieved 2009-04-17. {{cite web}}: Check date values in: |date= (help)
  15. ^ a b G. F. Romerio (2008-01-21). "Hyperoperations Terminology". Tetration Forum. Retrieved 2009-04-21. {{cite web}}: External link in |publisher= (help)
  16. ^ Wilhelm Ackermann (1928). "Zum Hilbertschen Aufbau der reellen Zahlen". Mathematische Annalen. 99: 118–133. doi:10.1007/BF01459088.
  17. ^ Robert Munafo (1999-11-03). "Versions of Ackermann's Function". Large Numbers at MROB. Retrieved 2009-04-17.
  18. ^ 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.
  19. ^ Donald E. Knuth (1976). "Mathematics and Computer Science: Coping with Finiteness". Science. 194 (4271): 1235–1242. Retrieved 2009-04-21. {{cite journal}}: Unknown parameter |month= ignored (help)
  20. ^ Daniel Zwillinger (2002). CRC standard mathematical tables and formulae, 31st Edition. CRC Press. p. 4. ISBN 1584882913.
  21. ^ Eric W. Weisstein (2003). CRC concise encyclopedia of mathematics, 2nd Edition. CRC Press. pp. 127–128. ISBN 1584883472.
  22. ^ K. K. Nambiar (1995). "Ackermann Functions and Transfinite Ordinals". Applied Mathematics Letters. 8 (6): 51–53. Retrieved 2009-04-21.
  23. ^ C.W. Clenshaw and F.W.J. Olver (1984). "Beyond floating point". Journal of the ACM. 31 (2): 319–328. Retrieved 2009-04-21. {{cite journal}}: Unknown parameter |month= ignored (help)
  24. ^ W. N. Holmes (1997). "Composite Arithmetic: Proposal for a New Standard". Computer. 30 (3): 65–73. Retrieved 2009-04-21. {{cite journal}}: Unknown parameter |month= ignored (help)
  25. ^ R. Zimmermann (1997). "Computer Arithmetic: Principles, Architectures, and VLSI Design" (PDF). 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.
  27. ^ C. Frappier (1991). "Iterations of a kind of exponentials". Fibonacci Quarterly. 29 (4): 351–361.