operator vs operation vs function vs procedure vs algorithm

I have a vague understanding of what operator, operation, function, procedure, algorithm mean in general. I am heavily biased towards computer science.

Do you agree with them? What are the generally accepted definitions that are independent of a specific field of math?

Operator is more abstract than either function or procedure; since you can add numbers,vectors,matrices,functions,sequences,etc each requireing a different procedure, but the abstract operator always has the properties of associativity ,commutativity; and function is the association between input and output ignoring the "how" and space/time complexity of procedure, but is still specific to the type of thte input and output.

• operator: set of algebraic properties and an associated symbol that we may use for any function that obeys all those properties

• function: subset of cartesian product of two sets such that no element of first set is used more than once

• operation: function of kind (S,S)->S

• procedure or algorithm: description of how to compute the dependent variable of a function when given the independent(s) and has a time/space complexity

• I don't have a clear opinion on all of these, but I would say that "taking the negative of a number" is also an operation, but not of the form in your 4th point. – Michael Bächtold Mar 10 '18 at 10:19
• There are separate questions across the site for some pairs in your question, like "operator vs. function". I would recommend looking for them and editing your question a bit with what you're still wondering. – Mark S. Sep 8 '18 at 18:37

There does not seem to be a very hard and fast set of definitions for these. I might note however that the domain and codomain are part of a function's definition, as well as the set of ordered pairs. One can even see books where a function does not have to be "defined" for a value of its domain. The word operation refers to the function, and often operator refers to a symbol that can be used to denote the operation. I think you should write SxS->S instead of (S,S)->S.

So this is a question of English more so than anything.

There are contexts where any 2 or sometimes even more of these words all mean the same thing, and there are contexts where they are different. What I’ll do is for each word state it’s most common context (and Full disclosure this come with all my biases) and what it’s mean there:

Function: A set of pairs constructed from two sets called the domain and codomain. Where the function can be seen as a abstract (meaning “imagined” here) machine that consumes values from the domain and produces values from the codomain.

Operator: usually in higher math and physics contexts is a function whose domain includes other functions. Computer Scientists call these “higher order functions”

Algorithm: A function with a well defined abstract I mplementation. Rather than just being a set theoretic invention (i.e a set of pairs as functions are generally defined), algorithms are functions whose internal operation/ calculation has a story. In the earlier analogy from functions, the abstract machines of algorithms can actually picked apart and described. Its possible to talk about how long the machine runs, what subcomponents it has, how much space it uses etc...

Procedure: a super set of Algorithm, procedures don’t have a connotation of mapping inputs to outputs, although they can if you want.

Operation: a substitute for the word function usually used when you want to treat the function as a single atomic object. Ex: order of operations (here functions are the little things, and we are looking at a larger idea of how to evaluate them, what order, etc...). Another example: Quicksort takes O(n log n) floating point operations on randomized inputs. Here operation is short hand for: addition, subtraction, division, multiplication, comparison. But those functions and their inputs (integers) really aren’t the main point. The main point is we want to count how many times we do them, so we call them operations to make this context clear.

Now remember, if you put any amount of effort you will find situations where these distinctions are blurred and these words replace each other.

This is just a casual heuristic that I think will serve as a good rule of thimb.