Explore Higher Order Operators

  • Thread starter KingNothing
  • Start date
  • Tags
    Operators
In summary, the conversation discusses the idea of having higher order operators in arithmetic, such as a "potato" operator that represents repeated exponentiation. It is suggested that these operators could be defined by numbers describing their order in a hierarchy, similar to the levels of operators in logic. However, it is noted that this may not be practical due to the limitations of the number system and the fact that these operations may not interact nicely with each other. The idea of using repeated exponentiation is also discussed in the context of number theory and Fermat's little theorem. Ultimately, it is concluded that while the concept of higher order operators may be interesting, it may not be necessary or useful in practice.
  • #1
KingNothing
881
4
This comes from a little brainstorming. Please note that when I say multiplication it may also mean division (they are basically the same concept.) and the same goes for addition and exponentiation (they can ll be used the same just by making a few things negative).

Higher Order Operators
Why don't we have them?
We have basic addition.
You might say multiplication is how many times to add a number to itself (minus the first of course). You might say raising a number to a power is how many times to multiply a number by itself (minus the first, you know what i mean).
So, why don't we have another operator called potato that describes how many times to raise a number to itself?

And why not an operator called ham which describes how many times to potato a number by itself?

In fact, why don't I take this idea a bit further and say why not make operators themselves parts of functions? Why not have operators be defined by number describing their order in the spectrum of operators?

Does it not seem logical that addition might be described as a level 1 operator, multiplication as a level 2, exponents as level 3, potato as level 4, ham as level 5? With that, subtraction (negative addition) would be level -1, division (inverse multiplication) would be level -2, roots (negative exponentiation) would be level -3, and so on.

Its something I have been thinking about for a short amount of time, but I haven't had any problems with it. I thought of most of this in physics class, when we had to use calculations that I found very inefficient. I will bring those up when I remember. Tell me what you think!
 
Mathematics news on Phys.org
  • #2
Firstly the notion that mutliplying x by is adding x to itself y times is only relevant in the natural numbers, similarly for taking powers; what does it mean to multiply x by itself pi times? Second, (x^2)^2= x^4 (and (((x^r)^s)...^t)=x^{rs...t}) anyway so you aren't getting anything new.
 
  • #3
operators came from language. They are restricted by the number system. For example logic came from language and and or. It so happens that there are more logic operators but not an unlimited number. Given two binary numbers A and B note that:
A B AndOr
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 1
AND and OR are numbers themselves. AND is 1 and OR is 7. There must be numbers between those.
Name the A B pairs
A B
0 0 Z Zero
0 1 L Less than
1 0 G Greater than
1 1 E Equal

Make a number from the pairs.
Z L G E
0 0 0 0
0 0 0 1 AND
0 0 1 0 GT
0 0 1 1 GTE
0 1 0 0 LT
0 1 0 1 LTE
0 1 1 0 XOR
0 1 1 1 OR
1 0 0 0 NOR
1 0 0 1 NXOR
1 0 1 0 NLTE
1 0 1 1 NLT
1 1 0 0 NGTE
1 1 0 1 NGT
1 1 1 0 NAND
1 1 1 1

That is all. GT, LT are conditional arithmetic which takes a computer to do.
I know of no number system like this for +, -, *, /
However, if your operators are a computer you can make any F(inputs)
I have already done this and have about 30 of these.
I have a Done operator and a Was operator and an Is operator but no potato. If you can make a potato procedure that you can program into a microcontroller, then you can make one.
 
  • #4
Historically names and symbols have been assigned to frequently used operations or which have special physical meaning. If it is not commonly needed nor has any special physical significance it will not be named nor given a special symbol. Such is the case for the operation you mention.
 
  • #5
In part because the numbers get *really* big with operations like that. Regardless, there is an uparrow notation which does something similar to what you describe. It usually comes up when 'big numbers' are discussed.
 
Last edited:
  • #6
Using repeated exponentiation is useful in certain aspects of number theory - in particular in using Fermat's little theorem and so on. I think it's called something like 'towers', maybe.
 
  • #7
So basically, the reason is because they are not commonly needed? How come operators have not been assigned numbers yet? I guess it isn't really needed...i guess its just me who naturally likes to structurize everything.
 
  • #8
Originally posted by Decker
How come operators have not been assigned numbers yet?

would you mind explaining what that means?
 
  • #9
Ackermann function!


Anyways, in order for there to be much use having a big hierarchy of arithmetic operations, they have to be able to interact in a nice way, such as [itex](a+b)c = ac + bc[/itex] or [itex]a^{bc} = (a^b)^c[/itex].

Things are already starting to break down when you get to exponentiation, since it's not an abelian operation. (And, in general, exponents don't even live in the same set as the bases!) Repeated exponentiation isn't even an associative operation, and I can't think of any way it can nicely interact with exponentiation.
 
Last edited:
  • #10
A quick wolfram based google for ackermann function leads you to power towers and arrow notation. Now how's that for unifying? (not to mention reassuring)
 

FAQ: Explore Higher Order Operators

What are higher order operators?

Higher order operators are functions that take other functions as arguments or return other functions as their results. They allow for more complex operations to be performed on functions, such as composition, mapping, and filtering.

What is the importance of using higher order operators?

Higher order operators are important because they allow for more efficient and concise coding. They also enable the creation of more complex and dynamic algorithms, making it easier to solve problems in various domains.

How do higher order operators differ from regular operators?

Regular operators are typically used to perform basic operations on values, such as addition, subtraction, and comparison. Higher order operators, on the other hand, operate on functions and allow for more complex operations to be performed on them.

Can you give an example of a higher order operator?

One example of a higher order operator is the map() function in JavaScript. It takes a function as an argument and applies that function to each element in an array, returning a new array with the modified values.

What are some common use cases for higher order operators?

Higher order operators are commonly used in functional programming to perform operations on collections of data. They are also useful for creating reusable and composable functions, and for implementing algorithms that require complex operations on functions.

Similar threads

Back
Top