Science Fair Projects Ideas - Knuth's up-arrow notation

All Science Fair Projects

      

Science Fair Project Encyclopedia for Schools!

  Search    Browse    Forum  Coach    Links    Editor    Help    Tell-a-Friend    Encyclopedia    Dictionary     

Science Fair Project Encyclopedia

For information on any area of science that interests you,
enter a keyword (eg. scientific method, molecule, cloud, carbohydrate etc.).
Or else, you can start by choosing any of the categories below.

Knuth's up-arrow notation

In mathematics, Knuth's up-arrow notation is a notation for very large integers introduced by Donald Knuth in 1976. The idea is based on iterated exponentiation in much the same way that exponentiation is iterated multiplication, and multiplication is iterated addition.

Contents

Introduction

Multiplication can be defined as iterated addition:

\begin{matrix}    a\times b & = & \underbrace{a_{}+a+\dots+a} \\    & & b\mbox{ copies of }a   \end{matrix}

and exponentiation can be defined as iterated multiplication:

\begin{matrix}    a^b=a\uparrow b= & \underbrace{a_{}\times a\times\dots\times a}\\    & b\mbox{ copies of }a   \end{matrix}

which inspired Knuth to define a 'double arrow' operator for iterated exponentiation or tetration:

\begin{matrix}    a\uparrow\uparrow b & = & \underbrace{a_{}^{a^{{}^{.\,^{.\,^{.\,^a}}}}}} &     = & \underbrace{a_{}\uparrow a\uparrow\dots\uparrow a}  \\       & & b\mbox{ copies of }a     & & b\mbox{ copies of }a   \end{matrix}

Here and below evaluation is to take place from right to left.

According to this definition,

3\uparrow\uparrow2=3^3=27\,\!
3\uparrow\uparrow3=3^{3^3}=3^{27}=7625597484987\,\!
3\uparrow\uparrow4=3^{3^{3^3}}=3^{7625597484987}\,\!
3\uparrow\uparrow5=3^{3^{3^{3^3}}}\,\!
etc.

This already leads to some pretty big numbers, but Knuth didn't stop here. He went on to define a 'triple arrow' operator for iterated application of the 'double arrow' operator (also known as quintation):

\begin{matrix}    a\uparrow\uparrow\uparrow b= &     \underbrace{a_{}\uparrow\uparrow a\uparrow\uparrow\dots\uparrow\uparrow a}\\     & b\mbox{ copies of }a   \end{matrix}

followed by a 'quad arrow' operator:

\begin{matrix}    a\uparrow\uparrow\uparrow\uparrow b= &     \underbrace{a_{}\uparrow\uparrow\uparrow a\uparrow\uparrow\uparrow\dots\uparrow\uparrow\uparrow a}\\     & b\mbox{ copies of }a   \end{matrix}

and so on. The general rule is that an n-arrow operator expands into a series of (n − 1)-arrow operators. Symbolically,

\begin{matrix}    a\ \underbrace{\uparrow_{}\uparrow\!\!\dots\!\!\uparrow}\ b=     a\ \underbrace{\uparrow\!\!\dots\!\!\uparrow}     \ a\ \underbrace{\uparrow_{}\!\!\dots\!\!\uparrow}     \ a\ \dots     \ a\ \underbrace{\uparrow_{}\!\!\dots\!\!\uparrow}     \ a   \\    \quad\ \ \,n\qquad\ \ \ \underbrace{\quad n_{}\!-\!\!1\quad\ \,n\!-\!\!1\qquad\quad\ \ \ \,n\!-\!\!1\ \ \ }   \\    \qquad\qquad\quad\ \ b\mbox{ copies of }a   \end{matrix}

Examples:

3\uparrow\uparrow\uparrow2=3\uparrow\uparrow3=3^{3^3}=3^{27}=7,625,597,484,987\,\!

\begin{matrix}     3\uparrow\uparrow\uparrow3 = 3\uparrow\uparrow3\uparrow\uparrow3 = 3\uparrow\uparrow(3\uparrow3\uparrow3) = &     \underbrace{3_{}\uparrow 3\uparrow\dots\uparrow 3} \\    & 3\uparrow3\uparrow3\mbox{ copies of }3   \end{matrix}   \begin{matrix}    = & \underbrace{3_{}\uparrow 3\uparrow\dots\uparrow 3} \\    & \mbox{7,625,597,484,987 copies of 3}   \end{matrix}

Notation

In expressions such as ab, the notation for exponentiation is usually to write the exponent b as a superscript to the base number a. But many environments—such as programming languages and plain-text e-mail— do not support such two-dimensional layout. People have adopted the linear notation ab for such environments; the up-arrow suggests 'raising to the power of'. If the character set doesn't contain an up arrow, the caret ^ is used instead.

The superscript notation ab doesn't lend itself well for generalization, which explains why Knuth chose to work from the inline notation ab instead.

Generalizations

Some numbers are so large that multiple arrows of Knuth's up-arrow notation become too cumbersome; then an n-arrow operator ↑n is useful (and also for descriptions with a variable number of arrows), or equivalently, hyper operators.

Some numbers are so large that even that notation is not sufficient. Graham's number is an example. The Conway chained arrow can then be used: a chain of three elements is equivalent with the other notations, but a chain of four or more is even more powerful.

\begin{matrix}    a\uparrow^n b & = & \mbox{hyper}(a,n+2,b) & = & a\to b\to n \\    \mbox{(Knuth)} & & & & \mbox{(Conway)}   \end{matrix}

It is generally suggested that Knuth's arrow should be used for relatively smaller magnitude numbers, and the chained arrow or hyper operators for larger ones.

Definition

The up-arrow notation is formally defined by

a\uparrow^n b=   \left\{    \begin{matrix}     1, & \mbox{if }b=0; \\     a^b, & \mbox{if }n=1; \\     a\uparrow^{n-1}(a\uparrow^n(b-1)), & \mbox{otherwise}    \end{matrix}   \right.

for all integers a, b and n with b ≥ 0 and n ≥ 1.

All up-arrow operators (including normal exponentiation, ab) are right associative, i.e. evaluation is to take place from right to left in an expression that contains two or more such operators. For example, abc = a↑(bc), not (ab)↑c; for example
3\uparrow\uparrow 3=3^{3^3} \mbox{ is }3^{(3^3)}=3^{27}=7625597484987 \mbox{ not } \left(3^3\right)^3=27^3=19683.

There is good reason for the choice of this right-to-left order of evaluation. If we used left-to-right evaluation, then a↑↑b would equal a↑(a↑(b-1)), so that ↑↑ would not be an essentially new operation. Right associativity is also natural because we can rewrite the iterated arrow expression a\uparrow^n\cdots\uparrow^na that appears in the expansion of an+1b as a\uparrow^n\cdots\uparrow^na\uparrow^n1, so that all the as appear as left operands of arrow operators. This is significant since the arrow operators are not commutative.

Tables of values

Computing 2\uparrow^m n can be restated in terms of an infinite table. We place the numbers 2 n in the top row, and fill the left column with values 2. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken.

Values of 2\uparrow^m n = hyper(2,m+2,n) = 2 → n → m
m\n 1 2 3 4 5 6 7 formula
0 2 4 6 8 10 12 14 2n
1 2 4 8 16 32 64 128 2n
2 2 4 16 65536 2^{65536}\approx 2.0 \times 10^{19,729} 2^{2^{65536}}\approx 10^{6.0 \times 10^{19,728}} 2^{2^{2^{65536}}}\approx 10^{10^{6.0 \times 10^{19,728}}} 2\uparrow\uparrow n
3 2 4 65536 \begin{matrix}    \underbrace{2_{}^{2^{{}^{.\,^{.\,^{.\,^2}}}}}} \\    65536\mbox{ copies of }2  \end{matrix}\approx (10\uparrow)^{65531}(6.0 \times 10^{19,728})       2\uparrow\uparrow\uparrow n
4 2 4 \begin{matrix}    \underbrace{2_{}^{2^{{}^{.\,^{.\,^{.\,^2}}}}}}\\    65536\mbox{ copies of }2   \end{matrix}         2\uparrow\uparrow\uparrow\uparrow n

Note: (10\uparrow)^k denotes a functional power of the function f(n) = 10n (the function also expressed by the suffix -plex as in googolplex).

The table is the same as that of the Ackermann function, except for a shift in m and n, and an addition of 3 to all values.

Computing 3\uparrow^m n

We place the numbers 3 n in the top row, and fill the left column with values 3. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken.

Values of 3\uparrow^m n = hyper(3,m+2,n) = 3 → n → m
m\n 1 2 3 4 5 formula
0 3 6 9 12 15 3n
1 3 9 27 81 243 3n
2 3 27 7,625,597,484,987 37,625,597,484,987   3\uparrow\uparrow n
3 3 7,625,597,484,987 \begin{matrix}    \underbrace{3_{}^{3^{{}^{.\,^{.\,^{.\,^3}}}}}}\\    7,625,597,484,987\mbox{ copies of }3   \end{matrix}     3\uparrow\uparrow\uparrow n
4 3 \begin{matrix}    \underbrace{3_{}^{3^{{}^{.\,^{.\,^{.\,^3}}}}}}\\    7,625,597,484,987\mbox{ copies of }3   \end{matrix}       3\uparrow\uparrow\uparrow\uparrow n

Computing 10\uparrow^m n

We place the numbers 10 n in the top row, and fill the left column with values 10. To determine a number in the table, take the number immediately to the left, then look up the required number in the previous row, at the position given by the number just taken.

Values of 10\uparrow^m n = hyper(10,m+2,n) = 10 → n → m
m\n 1 2 3 4 5 formula
0 10 20 30 40 50 10n
1 10 100 1,000 10,000 100,000 10n
2 10 10,000,000,000 1010,000,000,000 10^{\,\!10^{10,000,000,000}}   10\uparrow\uparrow n
3 10 \begin{matrix}    \underbrace{10_{}^{10^{{}^{.\,^{.\,^{.\,^{10}}}}}}}\\    10\mbox{ copies of }10   \end{matrix}       10\uparrow\uparrow\uparrow n
4 10         10\uparrow\uparrow\uparrow\uparrow n

External links

Last updated: 06-02-2005 13:05:04
09-23-2007 01:00:40
The contents of this article is licensed from www.wikipedia.org under the GNU Free Documentation License. Click here to see the transparent copy and copyright details
Science kits, science lessons, science toys, maths toys, hobby kits, science games and books - these are some of many products that can help give your kid an edge in their science fair projects, and develop a tremendous interest in the study of science. When shopping for a science kit or other supplies, make sure that you carefully review the features and quality of the products. Compare prices by going to several online stores. Read product reviews online or refer to magazines.

Start by looking for your science kit review or science toy review. Compare prices but remember, Price $ is not everything. Quality does matter.
Science Fair Coach
What do science fair judges look out for?
ScienceHound
Science Fair Projects for students of all ages
All Science Fair Projects.com Site
All Science Fair Projects Homepage
Search | Browse | Links | From-our-Editor | Books | Help | Contact | Privacy | Disclaimer | Copyright Notice