In mathematics, an operator is a function which operates on (or modifies) another function. Often, an "operator" is a function which acts on functions to produce other functions (the sense in which Oliver Heaviside used the term); or it may be a generalization of such a function, as in linear algebra, where some of the terminology reflects the origin of the subject in operations on the functions which are solutions of differential equations. An operator can perform a function on any number of operands (inputs) though most often there is only one operand.
An operator might also be called an operation, but the point of view is different. For instance, one can say "the operation of addition" (but not the "operator of addition") when focusing on the operands and result. One says "addition operator" when focusing on the process of addition, or from the more abstract viewpoint, the function +: S×S → S.
An operator name or operator symbol is a notation which denotes a particular operator. When there is no danger of confusion, an operator name or operator symbol may be referred to more briefly as an "operator". Strictly speaking, however, the operator is a mathematical object and not the syntactic entity which denotes it. The reason for identifying it with its notation is that there are some operators which have come to have standard notations.
In linear algebra an "operator" is a linear operator. In analysis an "operator" may be a differential operator, to perform ordinary differentiation, or an integral operator, to perform ordinary integration.
One example of a differential operator is the derivative itself. The corresponding operator name D, when placed before a differentiable function f, indicates that the function is to be differentiated with respect to the variable.
The word operator can in principle be applied to any function. However, in practice it is most often applied to functions which operate on mathematical entities of higher complexity than real numbers, such as vectors, random variables, or mathematical expressions. The differential and integral operators, for example, have domains and codomains whose elements are mathematical expressions of indefinite complexity. In contrast, functions with vector-valued domains but scalar ranges are called functionals and forms.
In general, if either the domain or codomain (or both) of a function contains elements significantly more complex than real numbers, that function is referred to as an operator. Conversely, if neither the domain nor the codomain of a function contain elements more complicated than real numbers, that function is likely to be referred to simply as a function. Trigonometric functions such as cosine are examples of the latter case.
Additionally, when functions are used so often that they have evolved faster or easier notations than the generic F(x,y,z,...) form, the resulting special forms are also called operators. Examples include infix operators such as addition "+" and division "/", and postfix operators such as factorial "!". This usage is unrelated to the complexity of the entities involved.
The mutual influence between physics and mathematics regarding the concept of operators has been long-term, beginning in the early 1900s, and profound in both directions. Quantum mechanics in particular was forced to move from classical measurement strategies involving only simple numeric values to the use of operators which transformed and manipulated far less intuitive entities. These included vectors in both real space and in generalizations of real space called Hilbert spaces, spinors, and various forms of matrices. The great physicist P.A.M. Dirac captured the importance of the relationship between quantum physics and mathematics by saying "Physical laws should have mathematical beauty and simplicity."
This section concentrates on illustrating the expressive power of the operator concept in mathematics. Please refer to individual topics pages for further details.
The most common kind of operator encountered are linear operators. In talking about linear operators, the operator is signified generally by the letters T or L. Linear operators are those which satisfy the following conditions; take the general operator T, the function acted on under the operator T, written as f(x), and the constant a:
Many operators are linear. For example, the differential operator and Laplacian operator, which we will see later.
Linear operators are also known as linear transformations or linear mappings. Many other operators one encounters in mathematics are linear, and linear operators are the most easily studied (Compare with nonlinearity).
Such an example of a linear transformation between vectors in R2 is reflection: given a vector x = (x1, x2)
We can also make sense of linear operators between generalisations of finite-dimensional vector spaces. For example, there is a large body of work dealing with linear operators on Hilbert spaces and on Banach spaces. See also operator algebra.
Calculus is, essentially, the study of two particular operators: the differential operator D = d/dt, and the indefinite integral operator . These operators are linear, as are many of the operators constructed from them. In more advanced parts of mathematics, these operators are studied as a part of functional analysis.
The differential operator is an operator which is fundamentally used in calculus to denote the action of taking a derivative. Common notations are dy/dx, and y'(x) to denote the derivative of y(x). Here, however, we will use the notation which is closest to the operator notation we have been using; that is, using Df to represent the action of taking the derivative of f.
Given that integration is an operator as well (inverse of differentiation), we have some important operators we can write in terms of integration.
The convolution is a mapping from two functions f(t) and g(t) to another function, defined by an integral as follows:
The Fourier transform is used in many areas, not only in mathematics, but in physics and in signal processing, to name a few. It is another integral operator; it is useful mainly because it converts a function on one (spatial) domain to a function on another (frequency) domain, in a way which is effectively invertible. Nothing significant is lost, because there is an inverse transform operator. In the simple case of periodic functions, this result is based on the theorem that any continuous periodic function can be represented as the sum of a series of sine waves and cosine waves:
When dealing with general function R → C, the transform takes on an integral form:
The Laplace transform is another integral operator and is involved in simplifying the process of solving differential equations.
Given f = f(s), it is defined by:
Three operators are key to vector calculus:
In type theory, an operator itself is a function, but has an attached type indicating the correct operand, and the kind of function returned. Functions can therefore conversely be considered operators, for which we forget some of the type baggage, leaving just labels for the domain and codomain.
In physics, an operator often takes on a more specialized meaning than in mathematics. Operators as observables are a key part of the theory of quantum mechanics. In that context operator often means a linear transformation from a Hilbert space to another, or (more abstractly) an element of a C*-algebra.
In general, the term 'operator' in computer programming languages has the same meaning as in mathematics. This is particularly true in functional programming languages, where an operator is also a function.
However, most programming languages distinguish between operators and functions in that operators are a special primitive part of the language, both syntactically and in terms of functionality. For example, most languages provide a '+' (addition) operator, which adds two numbers without making a function call.
In many languages, this behaviour is totally different from that of a function call. For example, in C (and many derivatives such as Java), the arithmetic operators can act on any numeric data type, while functions are only allowed to act on a single explicit type. However in C++ the distinction is blurred, since Operator overloading allows operators to be defined as functions, albeit only for data types that are not built-in.
Other languages (primarily older ones) do not have functions which return values at all. However, they often still have operators which do return values, widening the distinction between operators and functions.
Programming languages often feature non-mathematical operators. These may include operators which reference or dereference pointers, which access array elements, or get the size of a data type. They may also include compound operators such as "
+=", which increments a variable by a given value.