KNOWPIA
WELCOME TO KNOWPIA

In mathematics, a **binary function** (also called **bivariate function**, or **function of two variables**) is a function that takes two inputs.

Precisely stated, a function is binary if there exists sets such that

where is the Cartesian product of and

Set-theoretically, a binary function can be represented as a subset of the Cartesian product , where belongs to the subset if and only if . Conversely, a subset defines a binary function if and only if for any and , there exists a unique such that belongs to . is then defined to be this .

Alternatively, a binary function may be interpreted as simply a function from to . Even when thought of this way, however, one generally writes instead of . (That is, the same pair of parentheses is used to indicate both function application and the formation of an ordered pair.)

Division of whole numbers can be thought of as a function. If is the set of integers, is the set of natural numbers (except for zero), and is the set of rational numbers, then division is a binary function .

In a vector space *V* over a field *F*, scalar multiplication is a binary function. A scalar *a* ∈ *F* is combined with a vector *v* ∈ *V* to produce a new vector *av* ∈ *V*.

Another example is that of inner products, or more generally functions of the form , where x, y are real-valued vectors of appropriate size and M is a matrix. If M is a positive definite matrix, this yields an inner product.^{[1]}

Functions whose domain is a subset of are often also called functions of two variables even if their domain does not form a rectangle and thus the cartesian product of two sets.^{[2]}

In turn, one can also derive ordinary functions of one variable from a binary function.
Given any element , there is a function , or , from to , given by .
Similarly, given any element , there is a function , or , from to , given by . In computer science, this identification between a function from to and a function from to , where is the set of all functions from to , is called *currying*.

The various concepts relating to functions can also be generalised to binary functions.
For example, the division example above is *surjective* (or *onto*) because every rational number may be expressed as a quotient of an integer and a natural number.
This example is *injective* in each input separately, because the functions *f* ^{x} and *f* _{y} are always injective.
However, it's not injective in both variables simultaneously, because (for example) *f* (2,4) = *f* (1,2).

One can also consider *partial* binary functions, which may be defined only for certain values of the inputs.
For example, the division example above may also be interpreted as a partial binary function from **Z** and **N** to **Q**, where **N** is the set of all natural numbers, including zero.
But this function is undefined when the second input is zero.

A binary operation is a binary function where the sets *X*, *Y*, and *Z* are all equal; binary operations are often used to define algebraic structures.

In linear algebra, a bilinear transformation is a binary function where the sets *X*, *Y*, and *Z* are all vector spaces and the derived functions *f* ^{x} and *f*_{y} are all linear transformations.
A bilinear transformation, like any binary function, can be interpreted as a function from *X* × *Y* to *Z*, but this function in general won't be linear.
However, the bilinear transformation can also be interpreted as a single linear transformation from the tensor product to *Z*.

The concept of binary function generalises to *ternary* (or *3-ary*) *function*, *quaternary* (or *4-ary*) *function*, or more generally to *n-ary function* for any natural number *n*.
A *0-ary function* to *Z* is simply given by an element of *Z*.
One can also define an *A-ary function* where *A* is any set; there is one input for each element of *A*.

In category theory, *n*-ary functions generalise to *n*-ary morphisms in a multicategory.
The interpretation of an *n*-ary morphism as an ordinary morphisms whose domain is some sort of product of the domains of the original *n*-ary morphism will work in a monoidal category.
The construction of the derived morphisms of one variable will work in a closed monoidal category.
The category of sets is closed monoidal, but so is the category of vector spaces, giving the notion of bilinear transformation above.