In
mathematics, an **operation** is a
function which takes zero or more input values (also called "*
operands*" or "arguments") to a well-defined output value. The number of operands is the
arity of the operation.

The most commonly studied operations are
binary operations (i.e., operations of arity 2), such as
addition and
multiplication, and
unary operations (i.e., operations of arity 1), such as
additive inverse and
multiplicative inverse. An operation of arity zero, or
nullary operation, is a
constant.^{
[1]}^{
[2]} The
mixed product is an example of an operation of arity 3, also called
ternary operation.

Generally, the arity is taken to be finite. However,
infinitary operations are sometimes considered,^{
[1]} in which case the "usual" operations of finite arity are called **finitary operations**.

A **partial operation** is defined similarly to an operation, but with a
partial function in place of a function.

There are two common types of operations:
unary and
binary. Unary operations involve only one value, such as
negation and
trigonometric functions.^{
[3]} Binary operations, on the other hand, take two values, and include
addition,
subtraction,
multiplication,
division, and
exponentiation.^{
[4]}

Operations can involve mathematical objects other than numbers. The
logical values *true* and *false* can be combined using
logic operations, such as *and*, *or,* and *not*.
Vectors can be added and subtracted.^{
[5]}
Rotations can be combined using the
function composition operation, performing the first rotation and then the second. Operations on
sets include the binary operations *
union* and *
intersection* and the unary operation of *
complementation*.^{
[6]}^{
[7]}^{
[8]} Operations on
functions include
composition and
convolution.^{
[9]}^{
[10]}

Operations may not be defined for every possible value of its *
domain*. For example, in the real numbers one cannot divide by zero^{
[11]} or take square roots of negative numbers. The values for which an operation is defined form a set called its *domain of definition* or *active domain*. The set which contains the values produced is called the *
codomain*, but the set of actual values attained by the operation is its codomain of definition, active codomain, *
image* or *
range*.^{
[12]}^{[
failed verification]} For example, in the real numbers, the squaring operation only produces non-negative numbers; the codomain is the set of real numbers, but the range is the non-negative numbers.

Operations can involve dissimilar objects: a vector can be multiplied by a
scalar to form another vector (an operation known as
scalar multiplication),^{
[13]} and the
inner product operation on two vectors produces a quantity that is scalar.^{
[14]}^{
[15]} An operation may or may not have certain properties, for example it may be
associative,
commutative,
anticommutative,
idempotent, and so on.

The values combined are called *operands*, *arguments*, or *inputs*, and the value produced is called the *value*, *result*, or *output*. Operations can have fewer or more than two inputs (including the case of zero input and infinitely many inputs^{
[1]}).

An **operator** is similar to an operation in that it refers to the symbol or the process used to denote the operation, hence their point of view is different. For instance, one often speaks of "the operation of addition" or "the addition operation", when focusing on the operands and result, but one switches to "addition operator" (rarely "operator of addition"), when focusing on the process, or from the more symbolic viewpoint, the function +: *X* × *X* → *X*.

An *n*-ary operation*ω* from *X*_{1}, …, *X*_{n} to *Y* is a
function *ω*: *X*_{1} × … × *X*_{n} → *Y*. The set *X*_{1} × … × *X*_{n} is called the *domain* of the operation, the set *Y* is called the *codomain* of the operation, and the fixed non-negative integer *n* (the number of operands) is called the *
arity* of the operation. Thus a
unary operation has arity one, and a
binary operation has arity two. An operation of arity zero, called a *nullary* operation, is simply an element of the codomain *Y*. An *n*-ary operation can also be viewed as an (*n* + 1)-ary
relation that is
total on its *n* input domains and
unique on its output domain.

An *n*-ary partial operation*ω* from *X*_{1}, …, *X*_{n} to *Y* is a
partial function *ω*: *X*_{1} × … × *X*_{n} → *Y*. An *n*-ary partial operation can also be viewed as an (*n* + 1)-ary relation that is unique on its output domain.

The above describes what is usually called a **finitary operation**, referring to the finite number of operands (the value *n*). There are obvious extensions where the arity is taken to be an infinite
ordinal or
cardinal,^{
[1]} or even an arbitrary set indexing the operands.

Often, the use of the term *operation* implies that the domain of the function includes a power of the codomain (i.e. the
Cartesian product of one or more copies of the codomain),^{
[16]} although this is by no means universal, as in the case of
dot product, where vectors are multiplied and result in a scalar. An *n*-ary operation *ω*: *X*^{n} → *X* is called an **internal operation**. An *n*-ary operation *ω*: *X*^{i} × *S* × *X*^{n − i − 1} → *X* where 0 ≤ *i* < *n* is called an **external operation** by the *scalar set* or *operator set* *S*. In particular for a binary operation, *ω*: *S* × *X* → *X* is called a **left-external operation** by *S*, and *ω*: *X* × *S* → *X* is called a **right-external operation** by *S*. An example of an internal operation is
vector addition, where two vectors are added and result in a vector. An example of an external operation is
scalar multiplication, where a vector is multiplied by a scalar and result in a vector.

An ** n-ary multifunction** or

- ^
^{a}^{b}^{c}^{d}"Algebraic operation - Encyclopedia of Mathematics".*www.encyclopediaofmath.org*. Retrieved 2019-12-10. **^**DeMeo, William (August 26, 2010). "Universal Algebra Notes" (PDF).*math.hawaii.edu*. Retrieved 2019-12-09.**^**Weisstein, Eric W. "Unary Operation".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Binary Operation".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Vector".*mathworld.wolfram.com*. Retrieved 2020-07-27.Vectors can be added together (vector addition), subtracted (vector subtraction) ...

**^**Weisstein, Eric W. "Union".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Intersection".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Complementation".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Composition".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Convolution".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Division by Zero".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Weisstein, Eric W. "Domain".*mathworld.wolfram.com*. Retrieved 2020-08-08.**^**Weisstein, Eric W. "Scalar Multiplication".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Jain, P. K.; Ahmad, Khalil; Ahuja, Om P. (1995).*Functional Analysis*. New Age International. ISBN 978-81-224-0801-0.**^**Weisstein, Eric W. "Inner Product".*mathworld.wolfram.com*. Retrieved 2020-07-27.**^**Burris, S. N.; Sankappanavar, H. P. (1981). "Chapter II, Definition 1.1".*A Course in Universal Algebra*. Springer.**^**Brunner, J.; Drescher, Th.; Pöschel, R.; Seidel, H. (Jan 1993). "Power algebras: clones and relations" (PDF).*EIK (Elektronische Informationsverarbeitung und Kybernetik)*.**29**: 293–302. Retrieved 2022-10-25.