# Operator

In mathematics, an **operator** is a function, that operates on (or modifies) another function. Often, an "operator" is a function that 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 that 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*.

## Notation

An **operator name** or **operator symbol** is a notation that 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 that denotes it. The reason for identifying it with its notation is that there are some operators that have come to have standard notations.

## Simple examples of operators

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 is 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.

## Operators versus functions

The word *operator* can in principle be applied to any function. However, in practice it is most often applied to functions that 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 addition *"+"* and division *"/"*, and postfix operators such as factorial *"!"*. This usage is unrelated to the complexity of the entities involved.

## Influences from other disciplines

Concepts from other disciplines, including in physics and to a lesser degree computer science, have influenced the ways in which operators are perceived and used.

### Physics

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 that 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."

## Examples of mathematical operators

This section concentrates on illustrating the expressive power of the operator concept in mathematics. Please refer to individual topics pages for further details.

### Linear operators

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:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): T(f(x)+g(x)) = T(f(x))+T(g(x))****Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): T(af(x)) = aT(f(x))**

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 **R**^{2} is reflection: given a vector **x** = (*x*_{1}, *x*_{2})

*Q*(*x*_{1},*x*_{2}) = (−*x*_{1},*x*_{2})

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.

### Operators in probability theory

Operators are also involved in probability theory. Such operators as expectation, variance, covariance, factorials, etc.

### Operators in calculus

Calculus is, essentially, the study of two particular operators: the differential operator *D* = d/d*t*, and the indefinite integral operator **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): \int_0^t**
. 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

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 that is closest to the operator notation we have been using; that is, using *Df* to represent the action of taking the derivative of *f*.

#### Integral operators

Given that integration is an operator as well (inverse of differentiation), we have some important operators we can write in terms of integration.

##### Convolution

The *convolution* **Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): *\,**
is a mapping from two functions *f*(*t*) and *g*(*t*) to another function, defined by an integral as follows:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): (f * g)(t) = \int_0^t f(\tau) g(t - \tau) \,d\tau.**

##### Fourier transform

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 that 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:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): f(t) = {a_0 \over 2} + \sum_{n=1}^{\infty}{ a_n \cos ( \omega n t ) + b_n \sin ( \omega n t ) }**

When dealing with general function **R** → **C**, the transform takes on an integral form:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): f(t) = {1 \over \sqrt{2 \pi}} \int_{- \infty}^{+ \infty}{g( \omega )e^{ i \omega t } \,d\omega }.**

##### Laplacian transform

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:

**Failed to parse (MathML with SVG or PNG fallback (recommended for modern browsers and accessibility tools): Invalid response ("Math extension cannot connect to Restbase.") from server "https://api.formulasearchengine.com/v1/":): F(s) = (\mathcal{L}f)(s) =\int_0^\infty e^{-st} f(t)\,dt.**

### Fundamental operators on scalar and vector fields

Three main operators are key to vector calculus, the operator ∇, known as gradient, where at a certain point in a scalar field forms a vector which points in the direction of greatest change of that scalar field. In a vector field, the divergence is an operator that measures a vector field's tendency to originate from or converge upon a given point. Curl, in a vector field, is a vector operator that shows a vector field's tendency to rotate about a point.

## Relation to type theory

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.

## Operators in physics

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.

## Operators in computer programming languages

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.

### Operators as primitives

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.

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.

### Non-mathematical operators

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.

### Operators in assembly language

In assembly language programming, the term "operator" may refer to the opcode of a given instruction. This is very similar to the primitive concept of an operator in a higher-level language.

## See also

ca:Operador matemàtic cs:Operátor de:Operator (Mathematik) it:Operatore he:אופרטור hu:Műveleti jel nl:Operator sl:operator (matematika) sv:Operator