Talk:Hyper operator

From Wikipedia, the free encyclopedia

This article is very muddy to me. It needs some love. -- imbaczek

It may be helpful if you can define "love" mathematically. OmegaMan

The definition previous given was incomplete. It defines hyper(a,n,b)=hyper(a,n-1,hyper(a,n,b-1)) without ever defining a base case to which hyper(a,n,b-1) can reduce. This C++ code demostrates why the definition without the stipulation that hyper(a,n,0)=1 for n>1 is invalid. The deletion of the lines containing "if(b==0) return 1;" results in infinite recursion.

template<class T>
T Hyper(T a, T n, T b)
{
     switch(n)
     {
     case 1:
          return a+b; // intentionally grouped with also infrequent n=2 branch
     case 2:
          return a*b;
     case 3:
          return IntegerPow(a,b); // intentionally grouped with also common n>3 branch
     default:
          if(b==0)
               return 1;
          return Hyper( a , n-1 , Hyper(a,n,b-1) );
     }
}

130.39.153.46 04:17, 25 Sep 2004 (UTC)

All of the relevant content of this page should be dumped into or merged with the relevant content of a page by the better-known name of "tetration". In any case, the continuing existence of two seperate pages to describe the fourth binary operation is redundant and unnecessary. -OmegaMan

Why is there an if statement in the default? Why not just add a case 0 line? He Who Is 20:35, 2 June 2006 (UTC)

  • Notice the switch statement is checking n, but the if statement is checking b. --72.140.146.246 23:43, 6 June 2006 (UTC)

Contents

[edit] Cool Funtions

We should investigate funtions f(x) such that f(hyper(a,b,n))=hyper(f(a),b,n-1). Such funtions would allow definition of hyper with real numbers by f-1(hyper(f(a),b,n-1)).--SurrealWarrior


That sounds good, and I've recently been working on the same thing. So far I've defined it over all integers n. In the article on Knuth arrow notation, it is mentioned that a(n)b = a(n − 1)a(n)(b − 1). From that I've found for all even negative n, it is simply b+1, and all odd negative n give simply b.That gave me, so far:
\forall -n\in\mathbb{N};   a ^ {(n)} b=   \left\{     \begin{matrix}       b+1, & \mbox{if }-n\in\mathbb{E} \\       b,   & \mbox{if }-n\in\mathbb{O} \\     \end{matrix}   \right.
Where O and E are the sets of all positive odd and even numbers, respectively. This aside, I've made no progress yet to generalizing over all reals, or complex n\in\mathbb{C}
He Who Is 01:00, 23 April 2006 (UTC)
B.T.W., OmegaMan, I think it would be better merged with Knuth Up-Arrow notation or Conway Chained-Arrow Notation, as these there notations expand beyond addition, multiplication, exponentation, and tetration, including pentation, sextation, and infinitely iterated iterations therof.

[edit] Why not associative?

I would question the statement that addition and multiplication are "defined to be associative". They are defined in terms of disjoint unions of sets and Cartesian products of sets (provided the axiom of choice holds). We are just lucky that they turn out to be associative.

However, one can define an infinite sequence of binary operations on (subsets of) the real numbers which are commutative, associative, distributive over the previous operation, and have identity elements. Just let X <n-th operation> Y = expn ((lnn(X)) + (lnn(Y))). The identity will be expn(0). This will do the trick. JRSpriggs 09:07, 13 May 2006 (UTC)

I believe it can be seen as more than a coinsidence why addition and multiplication are communative, but exponentation are. Consider this: Addition can be defined and visualized as a simple combination of ranges on a number line (and it can be flipped to represent the commutativity), and multiplication can be defined and visualized as a simple creation of a plane of a shape with different side lengths (and it can be rotated 90 degrees to represent its communativity), but exponentation cannot be represented in three dimensions, but tencends dimensions. x^n can be represented as an n-dimensional shape bordered by n-unit long lines, not in keeping with the pattern created by addition and multiplication. And by the way expn(lnn) always equals x.He Who Is 01:55, 20 May 2006 (UTC)

  • You misread the parentheses. That's an interesting operation that JRSpriggs posted. rspeer / ɹəədsɹ 03:48, 20 May 2006 (UTC)
    I think the parentheses were mistyped, not misread. The operation reads expn ((lnn(X)) + (lnn(Y))), which would (as presented) simplify to x + lnn(Y). Perhaps it should be expn (((lnn(X)) + (lnn(Y))))? (NB: sin a + b = (sin a) + b, yet sin a * b = sin (a * b), and presumably that also holds for exp. The problem seems be distributivity rules.)
    And what do expn and lnn mean anyway?

No... It think they were written correctly. Look at it more closely. At first I though an extra parenthese (sp?) was added to the end, because I'm more used to seeing it written ln x, and exp x, w/o parentheses.He Who Is 20:08, 2 June 2006 (UTC)

So is it elnx + lny? Or is that not quite right? And what's the superscript n for?

Superscripts denote recursivity. f^n(x) is f acting on x n times. So that function cannot be written any other way, wsince we dont know how many times to write exp, or ln.

Then elnx + lny would be correct for the first operation only.
To remove any confusion (I hope), X <n-th operation> Y = expn {[lnn(X)] + [lnn(Y)]}. And for example, exp3 (W) = exp {exp [exp (W)]}. JRSpriggs 20:45, 3 June 2006 (UTC)

That depends on what you mean. Instead of plugging in x and y to the formula, and ignoring the exponents, then plugging in the outputs, then plugging in the outputs, then plugging in the outputs, (n times) you would first find the nth natural logarithm of x, add it to the nth natural logarithm of y, then take the nth exponential of the output. You are correct if you mean that x and y represent the n-1th ln of x and y, then yes. But I think you thought that the function was: (exp o (lnx + lny))n (x,y) (See Function Composition). Each seperated function is recursive, not the entire thing.He Who Is 21:15, 3 June 2006 (UTC)

I am perfectly clear about what I mean. I said what I meant and I meant what I said. For anyone jumping in the middle of this, I was defining something different from the operations described in the article. Let me give another description of the first three:
X <0> Y = X+Y
X <1> Y = exp (ln (X) + ln (Y)) = X·Y
X <2> Y = exp (exp (ln (ln (X)) + ln (ln (Y)))) = exp (ln (X) · ln (Y)) = Xln(Y) = Yln(X)
more generally, X <n+1> Y = exp (ln (X) <n> ln (Y))
I hope that this finally makes it as clear to others as it is to me. JRSpriggs 00:57, 5 June 2006 (UTC)

Sorry, I wasn't talking to you. I was talking to the same person you were. (Edit conflict after you posted. I just added mine after yours.) I meant that what he had said depended on what he meant. I should have clarified. He Who Is 01:23, 5 June 2006 (UTC)

OK. I am sorry that I misunderstood you. I think my examples may help anyway. JRSpriggs 02:27, 5 June 2006 (UTC)

[edit] Case for n=0

Where does the definition that hyper(a,0,b) = b + 1 come from? Also, This doesn't seem to fit with the hyper1 operator being addition, hyper2 being multiplication, etc. This case for n = 0 is fine as far as I can see, but I think a case has to be added defining the operation as a + b for n = 1. --72.140.146.246 23:49, 6 June 2006 (UTC)

To get a+b = hyper(a,1,b) = hyper(a,0,hyper(a,1,b-1)) = hyper(a,0,a+b-1), we need hyper(a,0,c) = a+b = c+1 where c = a+b-1. JRSpriggs 08:45, 7 June 2006 (UTC)
Yes, that makes sense. I was using the following for the recursive branch of the function:
\mbox{hyper} \left ( a,n,b \right ) = \begin{matrix} \underbrace{a^{\left(n-1\right)}a^{\left(n-1\right)}\cdots^{\left(n-1\right)}a} \\ {b \mbox{ copies of } a} \end{matrix}
where association is from right to left, as in exponentiation. This is the definition I remembered from looking at the article some time ago. Using this definition along with the case b + 1 for n = 0, I got \mbox{hyper} \left ( 3,1,4 \right ) = 6, instead of 7. When I tried it again with the definition in the article, it worked. I'm guessing I simply misremembered the formula - perhaps it should have been b copies of n? Anyway, your explanation helped. --72.140.146.246 19:53, 7 June 2006 (UTC)


Please check the following link concerning the given problem as well:

[A_thought_about_addition[1]]


Beloturkin 09:54, 8 September 2006 (UTC)

[edit] Hypothetic Hyper Operator Extension - Real-Order Hyper Operator?

That is an idea I have been trying to investigate for years. Unfortunately, no reasonable solution is found yet. Maybe someone has already moved a bit further in this field and can share his elaboration with others?


Let's adhere to a short and convenient hyper-operator notation form: hyper (a,n,b) = a (n) b.


In these terms, a (1) b = a+b (addition); a (2) b = ab (multiplication); a (3) b = a^b (exponentiation); a (4) b = a^^b (tetration) etc.


That is quite clear how we can obtain any natural-order hyperoperator this way. The first difficulty appears when we try to extrapolate this sequence below 1; it is not so easy to define what a (0) b means. The popular version is that a (0) b operator signifies trivial increment function, however that definition results in some contradictions described in a separate note: [[2]]


Nevertheless, it would be logically to interpolate a (n) b operator for fractional orders, or, more generally, to define a (r) b for real values of r. There are some intuitive speculations concerning this extension:

1) a (int(r)) b < a (r) b < a (int(r)+1) b, when a>2, b>2, and r>0, examples:

3+5 < 3 (1.5) 5 < 3*5 , i.e. 8 < 3(1.5)5 < 15;

4*3 < 4 (2.2) 3 < 4^3 , i.e. 12 < 4(2.2)3 < 64 etc.;

2) a (r1) b < a (r2) b for any a>2, b>2, and 0<r1<r2, for example:

12 < 5(1.2)7 < 5(1.5)7 < 5(1.9)7 < 35;

3) f(x) = n (x) m should be continuously differenciable for n>2, m>2, and 0<x<infinity.


One more important condition is that a (r) b must be able to be calculated via iterations of a (r-1) b for any real r, e.g.:

5 (1.32) 4 = 5 (0.32) 5 (0.32) 5 (0.32) 5,

where 7 < 5 (0.32) 5 < 10, and 9 < 5 (1.32) 4 < 20;

8 (2.7) 3 = 8 (1.7) 8 (1.7) 8,

where 16 < 8 (1.7) 8 < 64, and 24 < 8 (2.7) 3 < 512


Finally, we could define an "anti-order" reverse operator

x = S anti-order (a, b), for which a (x) b = S, e.g.:

17 anti-order (10, 7) = 1 (because 10(1)7 = 17);

70 anti-order (10, 7) = 2 (because 10(2)7 = 70);

10,000,000 anti-order (10, 7) = 3 (because 10(3)7 = 10,000,000) etc.


My hypothesis is that the anti-order operation is defined at least for any a>2, b>2 and S>max(a,b), i.e.:

0 < 14 anti-order (10, 7) < 1;

1 < 42 anti-order (10, 7) < 2;

2 < 2,000 anti-order (10, 7) < 3 etc.


The anti-order function should be continuously differenciable for a=const>2, b=const>2, and 2<S<infinity.

That is an open problem yet... Beloturkin 15:17, 8 September 2006 (UTC)