# Function (mathematics)

In mathematics, a function[1] was originally the idealization of how a varying quantity depends on another quantity. For example, the position of a planet is a function of time. Historically, the concept was elaborated with the infinitesimal calculus at the end of the 17th century, and, until the 19th century, the functions that were considered were differentiable (that is, they had a high degree of regularity). The concept of function was formalized at the end of the 19th century in terms of set theory, and this greatly enlarged the domains of application of the concept.

A function is a process or a relation that associates each element x of a set X, the domain of the function, to a single element y of another set Y (possibly the same set), the codomain of the function. If the function is called f, this relation is denoted y = f(x) (read f of x), the element x is the argument or input of the function, and y is the value of the function, the output, or the image of x by f.[2] The symbol that is used for representing the input is the variable of the function (one often says that f is a function of the variable x).

A function is uniquely represented by its graph which is the set of all pairs (x, f(x)). When the domain and the codomain are sets of numbers, each such pair may be considered as the Cartesian coordinates of a point in the plane. In general, these points form a curve, which is also called the graph of the function. This is a useful representation of the function, which is commonly used everywhere. For example, graphs of functions are commonly used in newspapers for representing the evolution of price indexes and stock market indexes

Functions are widely used in science, and in most fields of mathematics. Their role is so important that it has been said that they are "the central objects of investigation" in most fields of mathematics.[3]

Schematic depiction of a function described metaphorically as a "machine" or "black box" that for each input yields a corresponding output
The red curve is the graph of a function, because any vertical line has exactly one crossing point with the curve.
A function that associates any of the four colored shapes to its color.

## Definition

Diagram of a function, with domain X={1, 2, 3} and codomain Y={A, B, C, D}, which is defined by the set of ordered pairs {(1,D), (2,C), (3,C)}. The image/range is the set {C,D}.

This diagram, representing the set of pairs {(1,D), (2,B), (2,C)}, does not define a function. One reason is that 2 is the first element in more than one ordered pair, (2, B) and (2, C), of this set. Two other reasons, also sufficient by themselves, is that neither 3 nor 4 are first elements (input) of any ordered pair therein.

Intuitively, a function is a process that associates to each element of a set X a single element of a set Y.

Formally, a function f from a set X to a set Y is defined by a set G of ordered pairs (x, y) such that xX, yY, and every element of X is the first component of exactly one ordered pair in G.[4][note 1] In other words, for every x in X, there is exactly one element y such that the ordered pair (x, y) belongs to the set of pairs defining the function f. The set G is called the graph of the function. Formally speaking, it may be identified with the function, but this hides the usual interpretation of a function as a process. Therefore, in common usage, the function is generally distinguished from its graph. Functions are also called maps or mappings, though some authors make some distinction between "maps" and "functions" (see #Map vs function).

In the definition of function, X and Y are respectively called the domain and the codomain of the function f. If (x, y) belongs to the set defining f, then y is the image of x under f, or the value of f applied to the argument x. Especially in the context of numbers, one says also that y is the value of f for the value x of its variable, or, still shorter, y is the value of f of x, denoted as y = f(x).

Two functions f and g are equal if their domain and codomain sets are the same and their output values agree on the whole domain. Formally, f = g if f(x) = g(x) for all xX, where f:XY and g:XY.[5][6][note 2]

The domain and codomain are not always explicitly given when a function is defined, and, without some (possibly difficult) computation, one knows only that the domain is contained in a larger set. Typically, this occurs in mathematical analysis, where "a function from X to Y " often refers to a function that may have a proper subset of X as domain. For example, a "function from the reals to the reals" may refer to a real-valued function of a real variable, and this phrase does not mean that the domain of the function is the whole set of the real numbers, but only that the domain is a set of real numbers that contains a non-empty open interval; such a function is then called a partial function. For example, if f is a function that has the real numbers as domain and codomain, then a function mapping the value x to the value ${\displaystyle g(x)={\tfrac {1}{f(x)}}}$ is a function g from the reals to the reals, whose domain is the set of the reals x, such that f(x) ≠ 0.

The range of a function is the set of the images of all elements in the domain. However, range is sometimes used as a synonym of codomain, generally in old textbooks.

### Relational approach

Any subset of the Cartesian product of a domain ${\displaystyle X}$ and a codomain ${\displaystyle Y}$ is said to define a binary relation ${\displaystyle R\subseteq (X\times Y)}$ between these two sets. It is immediate that an arbitrary relation may contain pairs that violate the necessary conditions for a function, given above.

A univalent relation is a relation such that

${\displaystyle (x,y)\in R\;\land \;(x,z)\in R\quad \Rightarrow \quad y=z.}$

Univalent relations may be identified to functions whose domain is a subset of X.

A left-total relation is a relation such that

${\displaystyle \forall x\in X\;\exists y\in Y\colon (x,y)\in R.}$

Formal functions may be strictly identified to relations that are both univalent and left total. Violating the left-totality is similar to giving a convenient encompassing set instead of the true domain, as explained above.

Various properties of functions and function composition may be reformulated in the language of relations. For example, a function is injective if the converse relation ${\displaystyle R^{\text{T}}\subseteq (Y\times X)}$ is univalent, where the converse relation is defined as ${\displaystyle R^{\text{T}}=\{(y,x):(x,y)\in R\}.}$[7]

## Notation

There are various standard ways for denoting functions. The most commonly used notation is functional notation, which defines the function using an equation that gives the names of the function and the argument explicitly. This gives rise to a subtle point, often glossed over in elementary treatments of functions: functions are distinct from their values. Thus, a function f should be distinguished from its value f(x0) at the value x0 in its domain. To some extent, even working mathematicians will conflate the two in informal settings for convenience, and to avoid the use of pedantic language. However, strictly speaking, it is an abuse of notation to write "let ${\displaystyle f\colon \mathbb {R} \to \mathbb {R} }$ be the function f(x) = x2 ", since f(x) and x2 should both be understood as the value of f at x, rather than the function itself. Instead, it is correct, though pedantic, to write "let ${\displaystyle f\colon \mathbb {R} \to \mathbb {R} }$ be the function defined by the equation f(x) = x2, valid for all real values of x ".

This distinction in language and notation becomes important in cases where functions themselves serve as inputs for other functions. (A function taking another function as an input is termed a functional.) Other approaches to denoting functions, detailed below, avoid this problem but are less commonly used.

### Functional notation

As first used by Leonhard Euler in 1734,[8] functions are denoted by a symbol consisting generally of a single letter in italic font, most often the lower-case letters f, g, h. Some widely used functions are represented by a symbol consisting of several letters (usually two or three, generally an abbreviation of their name). By convention, in this case, a roman type is used, such as "sin" for the sine function, in contrast to italic font for single-letter symbols.

The notation (read: "y equals f of x")

${\displaystyle y=f(x)}$

means that the pair (x, y) belongs to the set of pairs defining the function f. If X is the domain of f, the set of pairs defining the function is thus, using set-builder notation,

${\displaystyle \{(x,f(x)):x\in X\}.}$

Often, a definition of the function is given by what f does to the explicit argument x. For example, a function f can be defined by the equation

${\displaystyle f(x)=\sin(x^{2}+1)}$

for all real numbers x. In this example, f can be thought of as the composite of several simpler functions: squaring, adding 1, and taking the sine. However, only the sine function has a common explicit symbol (sin), while the combination of squaring and then adding 1 is described by the polynomial expression ${\displaystyle x^{2}+1}$. In order to explicitly reference functions such as squaring or adding 1 without introducing new function names (e.g., by defining function g and h by ${\displaystyle g(x)=x^{2}}$ and ${\displaystyle h(x)=x+1}$), one of the methods below (arrow notation or dot notation) could be used.

Sometimes the parentheses of functional notation are omitted when the symbol denoting the function consists of several characters and no ambiguity may arise. For example, ${\displaystyle \sin x}$ can be written instead of ${\displaystyle \sin(x).}$

### Arrow notation

For explicitly expressing domain X and the codomain Y of a function f, the arrow notation is often used (read: "the function f from X to Y" or "the function f mapping elements of X to elements of Y"):

${\displaystyle f\colon X\to Y}$

or

${\displaystyle X~{\stackrel {f}{\to }}~Y.}$

This is often used in relation with the arrow notation for elements (read: "f maps x to f(x)"), often stacked immediately below the arrow notation giving the function symbol, domain, and codomain:

${\displaystyle x\mapsto f(x).}$

For example, if a multiplication is defined on a set X, then the square function ${\displaystyle \operatorname {sqr} }$ on X is unambiguously defined by (read: "the function ${\displaystyle \operatorname {sqr} }$ from X to X that maps x to xx")

{\displaystyle {\begin{aligned}\operatorname {sqr} \colon X&\to X\\x&\mapsto x\cdot x,\end{aligned}}}

the latter line being more commonly written

${\displaystyle x\mapsto x^{2}.}$

Often, the expression giving the function symbol, domain and codomain is omitted. Thus, the arrow notation is useful for avoiding introducing a symbol for a function that is defined, as it is often the case, by a formula expressing the value of the function in terms of its argument. As a common application of the arrow notation, suppose ${\displaystyle f\colon X\times X\to Y;\;(x,t)\mapsto f(x,t)}$ is a two-argument function, and we want to refer to a partially applied function ${\displaystyle X\to Y}$ produced by fixing the second argument to the value t0 without introducing a new function name. The map in question could be denoted ${\displaystyle x\mapsto f(x,t_{0})}$ using the arrow notation for elements. Note that the expression ${\displaystyle x\mapsto f(x,t_{0})}$ (read: "the map taking x to ${\displaystyle f(x,t_{0})}$") represents this new function with just one argument, whereas the expression ${\displaystyle f(x_{0},t_{0})}$ refers to the value of the function f at the point ${\displaystyle (x_{0},t_{0})}$.

### Index notation

Index notation is often used instead of functional notation. That is, instead of writing f(x), one writes ${\displaystyle f_{x}.}$

This is typically the case for functions whose domain is the set of the natural numbers. Such a function is called a sequence, and, in this case the element ${\displaystyle f_{n}}$ is called the nth element of sequence.

The index notation is also often used for distinguishing some variables called parameters from the "true variables". In fact, parameters are specific variables that are considered as being fixed during the study of a problem. For example, the map ${\displaystyle x\mapsto f(x,t)}$ (see above) would be denoted ${\displaystyle f_{t}}$ using index notation, if we define the collection of maps ${\displaystyle f_{t}}$ by the formula ${\displaystyle f_{t}(x)=f(x,t)}$ for all ${\displaystyle x,t\in X}$.

### Dot notation

In the notation ${\displaystyle x\mapsto f(x),}$ the symbol x does not represent any value, it is simply a placeholder meaning that, if x is replaced by any value on the left of the arrow, it should be replaced by the same value on the right of the arrow. Therefore, x may be replaced by any symbol, often an interpunct "". This may be useful for distinguishing the function f(⋅) from its value f(x) at x.

For example, ${\displaystyle a(\cdot )^{2}}$ may stand for the function ${\displaystyle x\mapsto ax^{2}}$, and ${\displaystyle \textstyle \int _{a}^{\,(\cdot )}f(u)\,du}$ may stand for a function defined by an integral with variable upper bound: ${\displaystyle \textstyle x\mapsto \int _{a}^{x}f(u)\,du}$.

### Specialized notations

There are other, specialized notations for functions in sub-disciplines of mathematics. For example, in linear algebra and functional analysis, linear forms and the vectors they act upon are denoted using a dual pair to show the underlying duality. This is similar to the use of bra–ket notation in quantum mechanics. In logic and the theory of computation, the function notation of lambda calculus is used to explicitly express the basic notions of function abstraction and application. In category theory and homological algebra, networks of functions are described in terms of how they and their compositions commute with each other using commutative diagrams that extend and generalize the arrow notation for functions described above.

## Map vs function

A function is often also called a map or a mapping. But some authors make a distinction between the term "map" and "function". For example, the term "map" is often reserved for a "function" with some sort of special structure; e.g., a group homomorphism between groups can simply be called a map between those groups for the sake of succinctness. See also: maps of manifolds. Some authors[9] reserve the word mapping to the case where the codomain Y belongs explicitly to the definition of the function. In this sense, the graph of the mapping recovers the function as the set of pairs.

Because the term "map" is synonymous with "morphism" in category theory, the term "map" can in particular emphasize the aspect that a function is a morphism in the category of sets: in the informal definition of function ${\displaystyle f:X\to Y}$, it is a subset of ${\displaystyle X\times Y}$ consisting of all the pairs ${\displaystyle (x,f(x))}$ for ${\displaystyle x\in X}$. In this sense, the function doesn't capture the information of which set ${\displaystyle Y}$ is used as the co-domain. Only the range ${\displaystyle f(X)}$ is determined by the function.

Some authors, such as Serge Lang,[10] use "function" only to refer to maps in which the codomain is a set of numbers (i.e. a subset of the fields R or C) and the term mapping for more general functions.

In the theory of dynamical systems, a map denotes an evolution function used to create discrete dynamical systems. See also Poincaré map.

A partial map is a partial function, and a total map is a total function. Related terms like domain, codomain, injective, continuous, etc. can be applied equally to maps and functions, with the same meaning. All these usages can be applied to "maps" as general functions or as functions with special properties.

## Specifying a function

Given a function ${\displaystyle f}$, by definition, to each element ${\displaystyle x}$ of the domain of the function ${\displaystyle f}$, there is a unique element, the value ${\displaystyle f(x)}$ of ${\displaystyle f}$ at ${\displaystyle x}$, associated to it. There are several ways to specify or describe how ${\displaystyle x}$ is related to ${\displaystyle f(x)}$, both explicitly and implicitly. Often, the specification or description is referred to as the definition of the function ${\displaystyle f}$.

• On a finite set, a function may be defined by listing the elements of the codomain that are associated to the elements of the domain. E.g., if ${\displaystyle A=\{1,2,3\}}$, then one can define a function ${\displaystyle f:A\to \mathbb {R} }$ by ${\displaystyle f(1)=2,f(2)=3,f(3)=4.}$
• Depending on a function, if possible, one might use a (closed) formula to define the function. For example, in the above example, ${\displaystyle f}$ can be defined by the formula ${\displaystyle f(n)=n+1}$, for ${\displaystyle n\in \{1,2,3\}}$.
• One often combines arithmetic or algebraic operations to define a new function; for example, a function ${\displaystyle f:\mathbb {R} \to \mathbb {R} }$, defined by ${\displaystyle f(x)={\sqrt {1+x^{2}}}}$, is defined by a combination of the polynomial ${\displaystyle 1+x^{2}}$ and the square root function.
• The following is an example of an implicit definition of a function: using calculus, one can show that, for each real number ${\displaystyle x}$, ${\displaystyle y^{2}=x^{2}+1}$ has two distinct real roots, a positive and a negative one. One can then define ${\displaystyle f:\mathbb {R} \to \mathbb {R} }$ by saying that ${\displaystyle f(x)}$ is the positive root of the equation ${\displaystyle y^{2}=x^{2}+1}$ (cf. #Multi-valued functions). This is the same function as the previous one. The natural logarithm is often defined by an appeal to the implicit function theorem.
• A power series can be used to define a function on the domain in which the series converges: for example, the exponential function is given by ${\displaystyle e^{x}=\sum _{0}^{\infty }{x^{n} \over n!}}$.
• In general, given a function ${\displaystyle f}$, there might not be a (closed) formula or condition that can be used to define it. An elementary function[note 3] is a function that can be defined by a finite number of applications of arithmetic operations and composition involving only constants, arithmetic operations, exponential functions, logarithms, and roots of polynomials.
• A choice function in the axiom of choice is an example of a function that exists only by postulation.

A recurrence relation is sometimes used to define a function. That this can be done relies formally on the following theorem.

Recursion theorem[11] — Let ${\displaystyle \varphi :X\to X}$ be a function from a nonempty set ${\displaystyle X}$ to itself and ${\displaystyle x_{0}\in X}$ an element. Then there exists a unique function ${\displaystyle f:\mathbb {N} \to X}$ such that (1) ${\displaystyle f(0)=x_{0}}$ and (2) ${\displaystyle f(n+1)=\varphi (f(n))}$ for each integer ${\displaystyle n\geq 0}$.

The theorem is a consequence of the axiom of induction of the natural numbers in the Peano axioms (there is also a transfinite version of the above theorem; see transfinite recursion.) Another inductive way of specifying a function is through analytic continuation. For example, for a complex variable ${\displaystyle s}$, the series

${\displaystyle \sum _{n=1}^{\infty }{\frac {1}{n^{s}}}}$

can be shown to converge if the real part of ${\displaystyle s}$ is strictly greater than 1. Hence, it defines a function on the domain ${\displaystyle \{s\in \mathbb {C} |\operatorname {Re} (s)>1\}}$. This function is analytic and has a unique analytic extension defined on ${\displaystyle \mathbb {C} -\{1\}}$, called the Riemann zeta function. Note the value ${\displaystyle \zeta (s)}$ is given by the above series if ${\displaystyle \operatorname {Re} (s)>1}$ but is not so in general.

Differential equations are sometimes used to define a function. For example, the natural logarithm is the solution of the initial value problem ${\displaystyle {\frac {d(\ln |x|)}{dx}}={\frac {1}{x}}}$ such that ${\displaystyle \ln(1)=0}$.

## Representing a function

A graph is commonly used to give an intuitive picture of a function. As an example of how a graph helps understand a function, it is easy to see from its graph whether a function is increasing or decreasing. Some functions may also be represented by bar charts.

### Graphs and plots

The function mapping each year to its US motor vehicle death count, shown as a line chart
The same function, shown as a bar chart

Given a function ${\displaystyle f\colon X\to Y,}$ its graph is, formally, the set

${\displaystyle G=\{(x,f(x)):x\in X\}.}$

In the frequent case where X and Y are subsets of the real numbers (or may be identified with such subsets, e.g. intervals), an element ${\displaystyle (x,y)\in G}$ may be identified with a point having coordinates x, y in a 2-dimensional coordinate system, e.g. the Cartesian plane. Parts of this may create a plot that represents (parts of) the function. The use of plots is so ubiquitous that they too are called the graph of the function. Graphic representations of functions are also possible in other coordinate systems. For example, the graph of the square function

${\displaystyle x\mapsto x^{2},}$

consisting of all points with coordinates ${\displaystyle (x,x^{2})}$ for ${\displaystyle x\in \mathbb {R} ,}$ yields, when depicted in Cartesian coordinates, the well known parabola. If the same quadratic function ${\displaystyle x\mapsto x^{2},}$ with the same formal graph, consisting of pairs of numbers, is plotted instead in polar coordinates ${\displaystyle (r,\theta )=(x,x^{2}),}$ the plot obtained is Fermat's spiral.

### Tables

A function can be represented as a table of values. If the domain of a function is finite, then the function can be completely specified in this way. For example, the multiplication function ${\displaystyle f\colon \{1,\ldots ,5\}^{2}\to \mathbb {R} }$ defined as ${\displaystyle f(x,y)=xy}$ can be represented by the familiar multiplication table

y
x
1 2 3 4 5
1 1 2 3 4 5
2 2 4 6 8 10
3 3 6 9 12 15
4 4 8 12 16 20
5 5 10 15 20 25

On the other hand, if a function's domain is continuous, a table can give the values of the function at specific values of the domain. If an intermediate value is needed, interpolation can be used to estimate the value of the function. For example, a portion of a table for the sine function might be given as follows, with values rounded to 6 decimal places:

x sin x
1.289 0.960557
1.290 0.960835
1.291 0.961112
1.292 0.961387
1.293 0.961662

Before the advent of handheld calculators and personal computers, such tables were often compiled and published for functions such as logarithms and trigonometric functions.

### Bar chart

Bar charts are often used for representing functions whose domain is a finite set, the natural numbers, or the integers. In this case, an element x of the domain is represented by an interval of the x-axis, and the corresponding value of the function, f(x), is represented by a rectangle whose base is the interval corresponding to x and whose height is f(x) (possibly negative, in which case the bar extends below the x-axis).

## General properties

This section describes general properties of functions, that are independent of specific properties of the domain and the codomain.

### Canonical functions

Some functions are uniquely defined by their domain and codomain, and are sometimes called canonical:

• For every set X, there is a unique function, called the empty function from the empty set to X. This function is not interesting by itself, but useful for simplifying statements, similarly as the empty sum (equal to 0) and the empty product equal to 1.
• For every set X and every singleton set {s}, there is a unique function, called the canonical surjection, from X to {s}, which maps to s every element of X. This is a surjection (see below), except if X is the empty set.
• Given a function ${\displaystyle f\colon X\to Y,}$ the canonical surjection of f onto its image ${\displaystyle f(X)=\{f(x)\mid x\in X\}}$ is the function from X to f(X) that maps x to f(x)
• For every subset X of a set Y, the canonical injection of X into Y is the injective (see below) function that maps every element of X to itself.
• The identity function of X, often denoted by ${\displaystyle \operatorname {id} _{X}}$ is the canonical injection of X into itself.

### Function composition

Given two functions ${\displaystyle f\colon X\to Y}$ and ${\displaystyle g\colon Y\to Z}$ such that the domain of g is the codomain of f, their composition is the function ${\displaystyle g\circ f\colon X\rightarrow Z}$ defined by

${\displaystyle (g\circ f)(x)=g(f(x)).}$

That is, the value of ${\displaystyle g\circ f}$ is obtained by first applying f to x to obtain y =f(x) and then applying g to the result y to obtain g(y) = g(f(x)). In the notation the function that is applied first is always written on the right.

The composition ${\displaystyle g\circ f}$ is an operation on functions that is defined only if the codomain of the first function is the domain of the second one. Even when both ${\displaystyle g\circ f}$ and ${\displaystyle f\circ g}$ satisfy these conditions, the composition is not necessarily commutative, that is, the functions ${\displaystyle g\circ f}$ and ${\displaystyle f\circ g}$ need not be equal, but may deliver different values for the same argument. For example, let f(x) = x2 and g(x) = x + 1, then ${\displaystyle g(f(x))=x^{2}+1}$ and ${\displaystyle f(g(x))=(x+1)^{2}}$ agree just for ${\displaystyle x=0.}$

The function composition is associative in the sense that, if one of ${\displaystyle (h\circ g)\circ f}$ and ${\displaystyle h\circ (g\circ f)}$ is defined, then the other is also defined, and they are equal. Thus, one writes

${\displaystyle h\circ g\circ f=(h\circ g)\circ f=h\circ (g\circ f).}$

The identity functions ${\displaystyle \operatorname {id} _{X}}$ and ${\displaystyle \operatorname {id} _{Y}}$ are respectively a right identity and a left identity for functions from X to Y. That is, if f is a function with domain X, and codomain Y, one has ${\displaystyle f\circ \operatorname {id} _{X}=\operatorname {id} _{Y}\circ f=f.}$

### Image and preimage

Let ${\displaystyle f\colon X\to Y.}$ The image by f of an element x of the domain X is f(x). If A is any subset of X, then the image of A by f, denoted f(A) is the subset of the codomain Y consisting of all images of elements of A, that is,

${\displaystyle f(A)=\{f(x)\mid x\in A\}.}$

The image of f is the image of the whole domain, that is f(X). It is also called the range of f, although the term may also refer to the codomain.[12]

On the other hand, the inverse image, or preimage by f of a subset B of the codomain Y is the subset of the domain X consisting of all elements of X whose images belong to B. It is denoted by ${\displaystyle f^{-1}(B).}$ That is

${\displaystyle f^{-1}(B)=\{x\in X\mid f(x)\in B\}.}$

For example, the preimage of {4, 9} under the square function is the set {−3,−2,2,3}.

By definition of a function, the image of an element x of the domain is always a single element of the codomain. However, the preimage of a single element y, denoted ${\displaystyle f^{-1}(x),}$ may be empty or contain any number of elements. For example, if f is the function from the integers to themselves that map every integer to 0, then f−1(0) = Z.

If ${\displaystyle f\colon X\to Y}$ is a function, A and B are subsets of X, and C and D are subsets of Y, then one has the following properties:

• ${\displaystyle A\subseteq B\Longrightarrow f(A)\subseteq f(B)}$
• ${\displaystyle C\subseteq D\Longrightarrow f^{-1}(C)\subseteq f^{-1}(D)}$
• ${\displaystyle A\subseteq f^{-1}(f(A))}$
• ${\displaystyle C\supseteq f(f^{-1}(C))}$
• ${\displaystyle f(f^{-1}(f(A)))=f(A)}$
• ${\displaystyle f^{-1}(f(f^{-1}(C)))=f^{-1}(C)}$

The preimage by f of an element y of the codomain is sometimes called, in some contexts, the fiber of y under f.

If a function f has an inverse (see below), this inverse is denoted ${\displaystyle f^{-1}.}$ In this case ${\displaystyle f^{-1}(C)}$ may denote either the image by ${\displaystyle f^{-1}}$ or the preimage by f of C. This is not a problem, as these sets are equal. The notation ${\displaystyle f(A)}$ and ${\displaystyle f^{-1}(C)}$ may be ambiguous in the case of sets that contain some subsets as elements, such as ${\displaystyle \{x,\{x\}\}.}$ In this case, some care may be needed, for example, by using square brackets ${\displaystyle f[A],f^{-1}[C]}$ for images and preimages of subsets, and ordinary parentheses for images and preimages of elements.

### Injective, surjective and bijective functions

Let ${\displaystyle f\colon X\to Y}$ be a function.

The function f is injective (or one-to-one, or is an injection) if f(a) ≠ f(b) for any two different elements a and b of X. Equivalently, f is injective if, for any ${\displaystyle y\in Y,}$ the preimage ${\displaystyle f^{-1}(y)}$ contains at most one element. An empty function is always injective. If X is not the empty set, and if, as usual, the axiom of choice is assumed, then f is injective if and only if there exists a function ${\displaystyle g\colon y\to X}$ such that ${\displaystyle g\circ f=\operatorname {id} _{X},}$ that is, if f has a left inverse. The axiom of choice is needed, because, if f is injective, one defines g by ${\displaystyle g(y)=x}$ if ${\displaystyle y=f(x),}$ and by ${\displaystyle g(y)=x_{0}}$, if ${\displaystyle y\not \in f(X),}$ where ${\displaystyle x_{0}}$ is an arbitrarily chosen element of X.

The function f is surjective (or onto, or is a surjection) if the range equals the codomain, that is, if f(X) = Y. In other words, the preimage ${\displaystyle f^{-1}(y)}$ of every ${\displaystyle y\in Y}$ is nonempty. If, as usual, the axiom of choice is assumed, then f is surjective if and only if there exists a function ${\displaystyle g\colon y\to X}$ such that ${\displaystyle f\circ g=\operatorname {id} _{Y},}$ that is, if f has a right inverse. The axiom of choice is needed, because, if f is injective, one defines g by ${\displaystyle g(y)=x,}$ where ${\displaystyle x}$ is an arbitrarily chosen element of ${\displaystyle f^{-1}(y).}$

The function f is bijective (or is bijection or a one-to-one correspondence) if it is both injective and surjective. That is f is bijective if, for any ${\displaystyle y\in Y,}$ the preimage ${\displaystyle f^{-1}(y)}$ contains exactly one element. The function f is bijective if and only if it admits an inverse function, that is a function ${\displaystyle g\colon y\to X}$ such that ${\displaystyle g\circ f=\operatorname {id} _{X},}$ and ${\displaystyle f\circ g=\operatorname {id} _{Y}.}$ (Contrarily to the case of injections and surjections, this does not require the axiom of choice.)

Every function ${\displaystyle f\colon X\to Y}$ may be factorized as the composition is of a surjection followed by an injection, where s is the canonical surjection of X onto f(X), and i is the canonical injection of f(X) into Y. This is the canonical factorization of f.

"One-to-one" and "onto" are terms that were more common in the older English language literature; "injective", "surjective", and "bijective" were originally coined as French words in the second quarter of the 20th century by the Bourbaki group and imported into English. As a word of caution, "a one-to-one function" is one that is injective, while a "one-to-one correspondence" refers to a bijective function. Also, the statement "f maps X onto Y" differs from "f maps X into B" in that the former implies that f is surjective), while the latter makes no assertion about the nature of f the mapping. In a complicated reasoning, the one letter difference can easily be missed. Due to the confusing nature of this older terminology, these terms have declined in popularity relative to the Bourbakian terms, which have also the advantage to be more symmetrical.

### Restriction and extension

If ${\displaystyle f\colon X\to Y}$ is a function, and S is a subset of X, then the restriction of f to S, denoted f|S, is the function from S to Y that is defined by

${\displaystyle f_{|S}(x)=f(x)\quad {\text{for all }}x\in S.}$

This often used for define partial inverse functions: if there is a subset S of a function f such that f|S is injective, then the canonical surjection of f|S on its image f|S(S) = f(S) is a bijection, which has an inverse function from f(S) to S. This is in this way that inverse trigonometric functions are defined. The cosine function, for example, is injective, when restricted to the interval (–0, π); the image of this restriction is the interval (–1, 1); this defines thus an inverse function from (–1, 1) to (–0, π), which is called arccosine and denoted arccos.

Function restriction may also be used for "gluing" functions together: let ${\displaystyle \textstyle X=\bigcup _{i\in I}U_{i}}$ be the decomposition of X as a union of subsets. Suppose that a function ${\displaystyle f_{i}\colon U_{i}\to Y}$ is defined on each ${\displaystyle U_{i},}$ such that, for each pair of indices, the restrictions of ${\displaystyle f_{i}}$ and ${\displaystyle f_{j}}$ to ${\displaystyle U_{i}\cap U_{j}}$ are equal. Then, this defines a unique function ${\displaystyle f\colon X\to Y}$ such that ${\displaystyle f_{|U_{i}}=f_{i}}$ for every i. This is generally in this way that functions on manifolds are defined.

An extension of a function f is a function g such that f is a restriction of g. A typical use of this concept is the process of analytic continuation, that allows extending functions whose domain is a small part of the complex plane to functions whose domain is almost the whole complex plane.

Here is another classical example of a function extension that is encountered when studying homographies of the real line. An homography is a function ${\displaystyle h(x)={\frac {ax+b}{cx+d}}}$ such that adbc ≠ 0. Its domain is the set of all real numbers different from ${\displaystyle -d/c,}$ and its image is the set of all real numbers different from ${\displaystyle a/c.}$ If one extends the real line to the projectively extended real line by adding to the real numbers, one may extend h for being a bijection of the extended real line to itself, by setting ${\displaystyle h(\infty )=a/c}$ and ${\displaystyle h(-d/c)=\infty .}$

## Multivariate function

A binary operation is a typical example of a bivariate, function which assigns to each pair ${\displaystyle (x,y)}$ the result ${\displaystyle x\circ y}$.

A multivariate function, or function of several variables is a function that depends on several arguments. Such functions are commonly encountered. For example, the position of a car on a road is a function of the time and its speed.

More formally, a function of n variables is a function whose domain is a set of n-tuples. For example, multiplication of integers is a function of two variables, or bivariate function, whose domain is the set of all pairs (2-tuples) of integers, and whose codomain is the set of integers. The same is true for every binary operation. More generally, every mathematical operation is defined as a multivariate function.

The Cartesian product ${\displaystyle X_{1}\times \cdots \times X_{n}}$ of n sets ${\displaystyle X_{1},\ldots ,X_{n}}$ is the set of all n-tuples ${\displaystyle (x_{1},\ldots ,x_{n})}$ such that ${\displaystyle x_{i}\in X_{i}}$ for every i with ${\displaystyle 1\leq i\leq n}$. Therefore, a function of n variables is a function

${\displaystyle f\colon U\to Y,}$

where the domain U has the form

${\displaystyle U\subseteq X_{1}\times \cdots \times X_{n}.}$

When using function notation, one usually omits the parentheses surrounding tuples, writing ${\displaystyle f(x_{1},x_{2})}$ instead of ${\displaystyle f((x_{1},x_{2})).}$

In the case where all the ${\displaystyle X_{i}}$ are equal to the set ${\displaystyle \mathbb {R} }$ of real numbers, one has a function of several real variables. If the ${\displaystyle X_{i}}$ are equal to the set ${\displaystyle \mathbb {C} }$ of complex numbers, one has a function of several complex variables.

It is common to also consider functions whose codomain is a product of sets. For example, Euclidean division maps every pair (a, b) of integers with b ≠ 0 to a pair of integers called the quotient and the remainder:

{\displaystyle {\begin{aligned}{\text{Euclidean division}}\colon \quad \mathbb {Z} \times (\mathbb {Z} \setminus \{0\})&\to \mathbb {Z} \times \mathbb {Z} \\(a,b)&\mapsto (\operatorname {quotient} (a,b),\operatorname {remainder} (a,b)).\end{aligned}}}

The codomain may also be a vector space. In this case, one talks of a vector-valued function. If the domain is contained in a Euclidean space, or more generally a manifold, a vector-valued function is often called a vector field.

## In calculus

The idea of function, starting in the 17th century, was fundamental to the new infinitesimal calculus (see History of the function concept). At that time, only real-valued functions of a real variable were considered, and all functions were assumed to be smooth. But the definition was soon extended to functions of several variables and to function of a complex variable. In the second half of the 19th century, the mathematically rigorous definition of a function was introduced, and functions with arbitrary domains and codomains were defined.

Functions are now used throughout all areas of mathematics. In introductory calculus, when the word function is used without qualification, it means a real-valued function of a single real variable. The more general definition of a function is usually introduced to second or third year college students with STEM majors, and in their senior year they are introduced to calculus in a larger, more rigorous setting in courses such as real analysis and complex analysis.

### Real function

Graph of a linear function
Graph of a polynomial function, here a quadratic function.
Graph of two trigonometric functions: sine and cosine.

A real function is a real-valued function of a real variable, that is, a function whose codomain is the field of real numbers and whose domain is a set of real numbers that contains an interval. In this section, these functions are simply called functions.

The functions that are most commonly considered in mathematics and its applications have some regularity, that is they are continuous, differentiable, and even analytic. This regularity insures that these functions can be visualized by their graphs. In this section, all functions are differentiable in some interval.

Functions enjoy pointwise operations, that is, if f and g are functions, their sum, difference and product are functions defined by

{\displaystyle {\begin{aligned}(f+g)(x)&=f(x)+g(x)\\(f-g)(x)&=f(x)-g(x)\\(f\cdot g)(x)&=f(x)\cdot g(x)\\\end{aligned}}.}

The domains of the resulting functions are the intersection of the domains of f and g. The quotient of two functions is defined similarly by

${\displaystyle {\frac {f}{g}}(x)={\frac {f(x)}{g(x)}},}$

but the domain of the resulting function is obtained by removing the zeros of g from the intersection of the domains of f and g.

The polynomial functions are defined by polynomials, and their domain is the whole set of real numbers. They include constant functions, linear functions and quadratic functions. Rational functions are quotients of two polynomial functions, and their domain is the real numbers with a finite number of them removed to avoid division by zero. The simplest rational function is the function ${\displaystyle x\mapsto {\frac {1}{x}},}$ whose graph is a hyperbola, and whose domain is the whole real line except for 0.

The derivative of a real differentiable function is a real function. An antiderivative of a continuous real function is a real function that is differentiable in any open interval in which the original function is continuous. For example, the function ${\displaystyle x\mapsto {\frac {1}{x}}}$ is continuous, and even differentiable, on the positive real numbers. Thus one antiderivative, which takes the value zero for x = 1, is a differentiable function called the natural logarithm.

A real function f is monotonic in an interval if the sign of ${\displaystyle {\frac {f(x)-f(y)}{x-y}}}$ does not depend of the choice of x and y in the interval. If the function is differentiable in the interval, it is monotonic if the sign of the derivative is constant in the interval. If a real function f is monotonic in an interval I, it has an inverse function, which is a real function with domain f(I) and image I. This is how inverse trigonometric functions are defined in terms of trigonometric functions, where the trigonometric functions are monotonic. Another example: the natural logarithm is monotonic on the positive real numbers, and its image is the whole real line; therefore it has an inverse function that is a bijection between the real numbers and the positive real numbers. This inverse is the exponential function.

Many other real functions are defined either by the implicit function theorem (the inverse function is a particular instance) or as solutions of differential equations. For example, the sine and the cosine functions are the solutions of the linear differential equation

${\displaystyle y''+y=0}$

such that

${\displaystyle \sin 0=0,\quad \cos 0=1,\quad {\frac {\partial \sin x}{\partial x}}(0)=1,\quad {\frac {\partial \cos x}{\partial x}}(0)=0.}$

### Function of several real or complex variables

Functions of several real (or complex) variables are functions which domain consists of tuples of real (or complex) numbers. This is, the domain is a subset of ${\displaystyle \mathbb {R} ^{n}}$ or ${\displaystyle \mathbb {C} ^{n}}$. For example, the division operation is a function that inputs a pair of real or complex numbers, one to be the dividend and the other the divisor, and returns their quotient ${\displaystyle (a,b)\mapsto a/b}$.

In the case of functions of several variables, the functional notation can be used in two ways. The symbol ${\displaystyle f(x)}$ could denote a function of several variables, if ${\displaystyle x}$ is assumed to be denoting tuples of real or complex numbers ${\displaystyle x=(x_{1},x_{2},\ldots ,x_{n})}$. Alternatively, the components of the tuple can be made explicit in the notation when this is written as ${\displaystyle f(x_{1},x_{2},\ldots ,x_{n})}$. The repeated parentheses ${\displaystyle f((x_{1},x_{2},\ldots ,x_{n}))}$ that would result from syntactically replacing ${\displaystyle x}$ by ${\displaystyle (x_{1},x_{2},\ldots ,x_{n})}$ in the symbol ${\displaystyle f(x)}$ are generally avoided in mathematics.

### Vector-valued function

When the elements of the co-domain of a function are vectors the function is said to be a vector-valued function. These functions are particularly useful in applications, for example modeling physical properties. The function that associates to each point of a fluid its velocity vector is a vector-valued function.

Some vector-valued function are defined on a subset of ${\displaystyle \mathbb {R} ^{n}}$ or other spaces that share geometric or topological properties similar to ${\displaystyle \mathbb {R} ^{n}}$, like manifolds. These vector-valued functions are given the name vector fields.

## Function space

In mathematical analysis, and more specifically in functional analysis, a function space is a set of scalar-valued or vector-valued functions, which share a specific property and form a topological vector space. For example, the real smooth functions with a compact support (that is, they are zero outside some compact set) form a function space that is at the basis of the theory of distributions.

Function spaces play a fundamental role in advanced mathematical analysis, by allowing the use of their algebraic and topological properties for studying properties of functions. For example, all theorems of existence and uniqueness of solutions of ordinary or partial differential equations result of the study of function spaces.

## Multi-valued functions

Together, the two square roots of all nonnegative real numbers form a single smooth curve.

Several methods for specifying functions of real or complex variables start from a local definition of the function at a point or on a neighbourhood of a point, and then extend by continuity the function to a much larger domain. Frequently, for a starting point ${\displaystyle x_{0},}$ there are several possible starting values for the function.

For example, in defining the square root as the inverse function of the square function, for any positive real number ${\displaystyle x_{0},}$ there are two choices for the value of the square root, one of which is positive and denoted ${\displaystyle {\sqrt {x_{0}}},}$ and another which is negative and denoted ${\displaystyle -{\sqrt {x_{0}}}.}$ These choices define two continuous functions, both having the nonnegative real numbers as a domain, and having either the nonnegative or the nonpositive real numbers as images. When looking at the graphs of these functions, one can see that, together, they form a single smooth curve. It is therefore often useful to consider these two square root functions as a single function that has two values for positive x, one value for 0 and no value for negative x.

In the preceding example, one choice, the positive square root, is more natural than the other. This is not the case in general. For example, let consider the implicit function that maps y to a root x of ${\displaystyle x^{3}-3x-y=0}$ (see the figure on the right). For y = 0 one may choose either ${\displaystyle 0,{\sqrt {3}},{\text{ or }}-{\sqrt {3}}}$ for x. By the implicit function theorem, each choice defines a function; for the first one, the (maximal) domain is the interval [–2, 2] and the image is [–1, 1]; for the second one, the domain is [–2, ∞) and the image is [1, ∞); for the last one, the domain is (–∞, 2] and the image is (–∞, –1]. As the three graphs together form a smooth curve, and there is no reason for preferring one choice, these three functions are often considered as a single multi-valued function of y that has three values for –2 < y < 2, and only one value for y ≤ –2 and y ≥ –2.

Usefulness of the concept of multi-valued functions is clearer when considering complex functions, typically analytic functions. The domain to which a complex function may be extended by analytic continuation generally consists of almost the whole complex plane. However, when extending the domain through two different paths, one often gets different values. For example, when extending the domain of the square root function, along a path of complex numbers with positive imaginary parts, one gets i for the square root of –1; while, when extending through complex numbers with negative imaginary parts, one gets i. There are generally two ways of solving the problem. One may define a function that is not continuous along some curve, called a branch cut. Such a function is called the principal value of the function. The other way is to consider that one has a multi-valued function, which is analytic everywhere except for isolated singularities, but whose value may "jump" if one follows a closed loop around a singularity. This jump is called the monodromy.

## In foundations of mathematics and set theory

The definition of a function that is given in this article requires the concept of set, since the domain and the codomain of a function must be a set. This is not a problem in usual mathematics, as it is generally not difficult to consider only functions whose domain and codomain are sets, which are well defined, even if the domain is not explicitly defined. However, it is sometimes useful to consider more general functions.

For example, the singleton set may be considered as a function ${\displaystyle x\mapsto \{x\}.}$ Its domain would include all sets, and therefore would not be a set. In usual mathematics, one avoids this kind of problem by specifying a domain, which means that one has many singleton functions. However, when establishing foundations of mathematics, one may have to use functions whose domain, codomain or both are not specified, and some authors, often logicians, give precise definition for these weakly specified functions.[13]

These generalized functions may be critical in the development of a formalization of foundations of mathematics. For example, the Von Neumann–Bernays–Gödel set theory, is an extension of the set theory in which the collection of all sets is a class. This theory includes the replacement axiom, which may be interpreted as "if X is a set, and F is a function, then F[X] is a set".

## In computer science

In computer science, functions are callable units of code. For example, the code

   define square_function(x):
return x*x


can be called by the expression square_function(x), where x can be replaced, for example, by numeric literals as in square_function(2) or identifiers of other valid input.

The calling of the unit of code consists in the expression square_function(x) being replaced by the execution of the code inside the function's definition. In the example, it would be replaced by executing the evaluation of the expression x*x. This expression in turn, could be indicating to compute the multiplication of x by itself, in the case of x representing a numeric value. The evaluation would then compute the square of x. The result of this evaluation is called the return value of the function.

As in the example, some functions in computer science behave like mathematical functions. The computer science function of the example would normally behave for numerical inputs like the mathematical function ${\displaystyle f(x)=x^{2}}$. On the other hand, not all functions in computer science behave like mathematical functions. Functions in computer science could not have a return value. The return value could not be unique for a given input as they are required to be for mathematical functions. This is due to the execution of the unit of code depending also on the state of the computing machine at the time in which the call is executed.

A function may[clarification needed] be described by an algorithm, and any kind of algorithm may[clarification needed] be used. Sometimes, the definition of a function may involve elements or properties that can be defined, but not computed. For example, if one considers the set ${\displaystyle {\mathcal {P}}}$ of the programs in a given programming language that take an integer as input. The terminating function is the function that returns 1 if a program of ${\displaystyle {\mathcal {P}}}$ runs forever when executed on a given integer input, and returns 0 otherwise. It is a basic theorem of computability theory that there does not exist an algorithm for computing this function. More generally, computability theory is the study of computable functions, that is, the functions that can be computed by an algorithm.

The above ways of defining functions define them "pointwise", that is, each value is defined independently of the other values. This is not necessarily the case.

## Notes

1. ^ The sets X, Y are parts of data defining a function; i.e., a function is a set of ordered pairs ${\displaystyle (x,y)}$ with ${\displaystyle x\in X,y\in Y}$, together with the sets X, Y, such that for each ${\displaystyle x\in X}$, there is a unique ${\displaystyle y\in Y}$ with ${\displaystyle (x,y)}$ in the set.
2. ^ This follows from the axiom of extensionality, which says two sets are the same if and only if they have the same members. Some authors drop codomain from a definition of a function, and in that definition, the notion of equality has to be handled with care; see, for example, https://math.stackexchange.com/questions/1403122/when-do-two-functions-become-equal
3. ^ Here "elementary" has not exactly its common sense: although most functions that are encountered in elementary courses of mathematics are elementary in this sense, some elementary functions are not elementary for the common sense, for example, those that involve roots of polynomials of high degree.
1. ^ The words map, mapping, transformation, correspondence, and operator are often used synonymously. Halmos 1970, p. 30.
2. ^ MacLane, Saunders; Birkhoff, Garrett (1967). Algebra (First ed.). New York: Macmillan. pp. 1–13.
3. ^ Spivak 2008, p. 39.
4. ^ Hamilton, A. G. (1982). Numbers, sets, and axioms: the apparatus of mathematics. Cambridge University Press. p. 83. ISBN 978-0-521-24509-8.
5. ^ Apostol 1981, p. 35.
6. ^ Kaplan 1972, p. 25.
7. ^ Gunther Schmidt( 2011) Relational Mathematics, Encyclopedia of Mathematics and its Applications, vol. 132, sect 5.1 Functions, pp. 49–60, Cambridge University Press ISBN 978-0-521-76268-7 CUP blurb for Relational Mathematics
8. ^ Ron Larson, Bruce H. Edwards (2010), Calculus of a Single Variable, Cengage Learning, p. 19, ISBN 978-0-538-73552-0
9. ^ T. M. Apostol (1981). Mathematical Analysis. Addison-Wesley. p. 35.
10. ^ Lang, Serge (1971), Linear Algebra (2nd ed.), Addison-Wesley, p. 83
11. ^ Jacobson, § 0.4. pg 16.
12. ^ Quantities and Units - Part 2: Mathematical signs and symbols to be used in the natural sciences and technology, p. 15. ISO 80000-2 (ISO/IEC 2009-12-01)
13. ^ Gödel 1940, p. 16; Jech 2003, p. 11; Cunningham 2016, p. 57