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]}
Contents
 1 Definition
 2 Notation
 3 Specifying a function
 4 Representing a function
 5 General properties
 6 Multivariate function
 7 In calculus
 8 Function space
 9 Generalizations
 10 In foundations of mathematics and set theory
 11 In computer science
 12 See also
 13 Notes
 14 References
 15 Further reading
 16 External links
Definition
Intuitively, a function is a process that associates to each element of a set X a unique 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 x ∈ X, y ∈ Y, and every element of X is the first component of exactly one ordered pair in G.^{[4]} 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. However, some authors^{[5]} 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.
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).
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 realvalued 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 nonempty open interval. 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 is a function g from the reals to the reals, whose domain is the set of the reals x, such that f(x) ≠ 0. In many cases, the exact domains are difficult to determine, but this is rarely a problem for working with such functions.
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 and a codomain is said to define a binary relation 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
Univalent relations may be identified to functions whose domain is a subset of X.
A lefttotal relation is a relation such that
Formal functions may be strictly identified to relations that are both univalent and left total. Violating the lefttotality 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 is univalent, where the converse relation is defined as ^{[6]}
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(x_{0}) at the value x_{0} 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 be the function f(x) = x^{2} ", since f(x) and x^{2} 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 be the function defined by the equation f(x) = x^{2}, 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,^{[7]} functions are denoted by a symbol consisting generally of a single letter in italic font, most often the lowercase 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 singleletter symbols.
The notation (read: "y equals f of 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 setbuilder notation,
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
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 . 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 and ), 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, can be written instead of
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"):
or
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:
For example, if a multiplication is defined on a set X, then the square function on X is unambiguously defined by (read: "the function from X to X that maps x to x ⋅ x")
the latter line being more commonly written
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 is a twoargument function, and we want to refer to a partially applied function produced by fixing the second argument to the value t_{0} without introducing a new function name. The map in question could be denoted using the arrow notation for elements. Note that the expression (read: "the map taking x to ") represents this new function with just one argument, whereas the expression refers to the value of the function f at the point .
Index notation
Index notation is often used instead of functional notation. That is, instead of writing f (x), one writes
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 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 (see above) would be denoted using index notation, if we define the collection of maps by the formula for all .
Dot notation
In the notation 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, may stand for the function , and may stand for a function defined by an integral with variable upper bound: .
Specialized notations
There are other, specialized notations for functions in subdisciplines 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.
Specifying a function
According to the definition, every element of a function's domain has a single element of the function's codomain associated with it. When the domain and the codomain are sets of numbers, this association may take the form of a computation taking as input any element of the domain and producing an output in the codomain. This computation may be described by a formula. (This is the starting point of algebra, where many similar numerical computations can be replaced by a single formula that describes these computations by means of variables that represent computation inputs as unspecified numbers). This type of specification of a function frequently uses previously defined auxiliary functions.
For example, the function f from the reals to the reals, defined by the formula employs, as auxiliary functions, the square function (mapping all the reals to the nonnegative reals), the square root function (mapping the nonnegative reals to the nonnegative reals), and the addition of real numbers. The whole set of real numbers may be taken as the domain of f, even though the domain of the square root function is restricted to the nonnegative real numbers; the image of f consists of the reals that are not less than one.
A computation that defines a function may often be described by an algorithm, and any kind of algorithm may 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 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 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.
When the domain of a function is the set of nonnegative integers or, more generally, when the domain is a well ordered set, a function may be defined by induction or recursion, meaning (roughly) that the calculation of the value of the function for some given input requires values of the function for lesser inputs. For example, the Fibonacci sequence is a function from the natural numbers into themselves that is defined by two starting values and a formula, recurring to the two immediately preceding arguments (see above for the use of indices for the argument of a function):
In calculus, the usual functions considered have extensive regularities. That is, the value of the function at a point is related to the values of the function at neighboring points. This allows defining them by functional equations (for example, the gamma function is the unique meromorphic function such that , and for any complex z that is not a nonpositive integer), by differential equations (for example, the natural logarithm is the solution of the differential equation such that ln(1) = 0), by integral equations or by analytic continuation.
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
Given a function its graph is, formally, the set
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 may be identified with a point having coordinates x, y in a 2dimensional 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
consisting of all points with coordinates for yields, when depicted in Cartesian coordinates, the well known parabola. If the same quadratic function with the same formal graph, consisting of pairs of numbers, is plotted instead in polar coordinates 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 defined as 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 xaxis, 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 xaxis).
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 the canonical surjection of f onto its image 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 is the canonical injection of X into itself.
Equality of functions
Two functions f and g are equal if their domain sets are the same and their output values agree on the whole domain. Formally, f=g if and only if they have the same domain X and for all x∈X the equality f(x)=g(x) is satisfied.^{[8]}^{[9]}
When functions are viewed as maps, this is when the study requires distinguishing their codomain, then for the equality of functions it is required in addition the equality of their codomains.
For example, the functions and defined as , , and , respectively, satisfy that . However, when viewed as maps then but is considered a different function.
Function composition
Given two functions and such that the domain of g is the codomain of f, their composition is the function defined by
That is, the value of 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 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 and satisfy these conditions, the composition is not necessarily commutative, that is, the functions and need not be equal, but may deliver different values for the same argument. For example, let f(x) = x^{2} and g(x) = x + 1, then and agree just for
The function composition is associative in the sense that, if one of and is defined, then the other is also defined, and they are equal. Thus, one writes
The identity functions and 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
Image and preimage
Let 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,
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.^{[10]}
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 That is
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 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 is a function, A and B are subsets of X, and C and D are subsets of Y, then one has the following properties:
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 In this case may denote either the image by or the preimage by f of C. This is not a problem, as these sets are equal. The notation and may be ambiguous in the case of sets that contain some subsets as elements, such as In this case, some care may be needed, for example, by using square brackets for images and preimages of subsets, and ordinary parentheses for images and preimages of elements.
Injective, surjective and bijective functions
Let be a function.
The function f is injective (or onetoone, 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 the preimage 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 such that that is, if f has a left inverse. The axiom of choice is needed, because, if f is injective, one defines g by if and by , if where 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 of every is nonempty. If, as usual, the axiom of choice is assumed, then f is surjective if and only if there exists a function such that that is, if f has a right inverse. The axiom of choice is needed, because, if f is injective, one defines g by where is an arbitrarily chosen element of
The function f is bijective (or is bijection or a onetoone correspondence) if it is both injective and surjective. That is f is bijective if, for any the preimage contains exactly one element. The function f is bijective if and only if it admits an inverse function, that is a function such that and (Contrarily to the case of injections and surjections, this does not require the axiom of choice.)
Every function may be factorized as the composition i ∘ s 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.
"Onetoone" 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 onetoone function" is one that is injective, while a "onetoone 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 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
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 be the decomposition of X as a union of subsets. Suppose that a function is defined on each such that, for each pair of indices, the restrictions of and to are equal. Then, this defines a unique function such that 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 such that ad – bc ≠ 0. Its domain is the set of all real numbers different from and its image is the set of all real numbers different from 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 and
Multivariate function
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 ntuples. For example, multiplication of integers is a function of two variables, or bivariate function, whose domain is the set of all pairs (2tuples) 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 of n sets is the set of all ntuples such that for every i with . Therefore, a function of n variables is a function
where the domain U has the form
When using function notation, one usually omits the parentheses surrounding tuples, writing instead of
In the case where all the are equal to the set of real numbers, one has a function of several real variables. If the are equal to the set 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:
The codomain may also be a vector space. In this case, one talks of a vectorvalued function. If the domain is contained in a Euclidean space, or more generally a manifold, a vectorvalued 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 realvalued 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 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 realvalued 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
A real function is a realvalued 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
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
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 whose graph is an 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 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 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
such that
Complex function
This section needs expansion. You can help by adding to it. (April 2018) 
When working with complex numbers different types of functions are used^{[11]}:
 Complexvalued functions, functions that return complex values
 for an arbitrary set, or perhaps a subset of the real numbers.
 Or a function for which both domain and range are subsets of the complex numbers.
 .
 Complex variable functions that return, say real numbers or other values
 .
The study of complex functions is a vast subject in mathematics with many applications, and that can claim^{[12]} to be an ancestor to many other areas of mathematics, like homotopy theory, and manifolds.
Function of several real or complex variables
This section needs expansion. You can help by adding to it. (April 2018) 
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 or . 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 .
In the case of functions of several variables, the functional notation can be used in two ways. The symbol could denote a function of several variables, if is assumed to be denoting tuples of real or complex numbers . Alternatively, the components of the tuple can be made explicit in the notation when this is written as . The repeated parentheses that would result from syntactically replacing by in the symbol are generally avoided in mathematics.
Vectorvalued function
This section needs expansion. You can help by adding to it. (April 2018) 
When the elements of the codomain of a function are vectors the function is said to be a vectorvalued 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 vectorvalued function.
Some vectorvalued function are defined on a subset of or other spaces that share geometric or topological properties similar to , like manifolds. These vectorvalued 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 scalarvalued or vectorvalued 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.
Generalizations
Natural extension
It is rather frequent that a function with domain X may be naturally extended to a function whose domain is a set Z that is built from X.
For example, for any set X, its power set P(X) is the set of all subsets of X. Any function may be extended to a function on power sets by
where f (S) is the image by f of the subset S of X.
According to the definition, a function f maps each element from its domain X to some element of its codomain Y. It is often convenient to extend this meaning to apply to arbitrary subsets of the domain, which are, as immediately can be checked, mapped to subsets of the codomain, thus considering a function mapping its domain, the powerset P(X) of f 's domain X, to its codomain, a subset of the powerset P(Y) of f 's codomain Y.
Under slight abuse of notation this function on subsets is often denoted also by f.
Another example is the following. If the function is a ring homomorphism, it may be extended to a function on polynomial rings
which is also a ring homomorphism.
Multivalued functions
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 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 there are two choices for the value of the square root, one of which is positive and denoted and another which is negative and denoted 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 (see the figure on the right). For y = 0 one may choose either 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 multivalued 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 multivalued 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 multivalued 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 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
This section needs expansion. You can help by adding to it. (April 2018) 
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 . 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.
Lambda calculus
Relevant to computer science and logic is lambda calculus, which is a formal system based on the abstraction of function application. It is constructed using only variables, anonymous functions (functions without name), like in the arrow notation
which in addition have only one input. In this system a lambda () and dot notation is used instead, giving it its name. For example, would be denoted by instead. Elements of this formal system are called lambda terms, which can be manipulated with a set of transformation rules. The transformation rules are analogous to evaluating an anonymous function, replacing a free variable by some other element of the formal system, and creating new anonymous functions out of other elements of the system by joining them with the and dot notation. The system is expressive enough to allow modelling any Turing machine.
See also
Subpages
Generalizations
Related topics
Notes
 ^ The words map, mapping, transformation, correspondence, and operator are often used synonymously. Halmos 1970, p. 30.
 ^ MacLane, Saunders; Birkhoff, Garrett (1967). Algebra (First ed.). New York: Macmillan. pp. 1–13.
 ^ Spivak 2008, p. 39.
 ^ Hamilton, A. G. (1982). Numbers, sets, and axioms: the apparatus of mathematics. Cambridge University Press. p. 83. ISBN 9780521245098.
 ^ T. M. Apostol (1981). Mathematical Analysis. AddisonWesley. p. 35.
 ^ Gunther Schmidt( 2011) Relational Mathematics, Encyclopedia of Mathematics and its Applications, vol. 132, sect 5.1 Functions, pp. 49–60, Cambridge University Press ISBN 9780521762687 CUP blurb for Relational Mathematics
 ^ Ron Larson, Bruce H. Edwards (2010), Calculus of a Single Variable, Cengage Learning, p. 19, ISBN 9780538735520
 ^ Apostol 1981, p. 35.
 ^ Kaplan 1972, p. 25.
 ^ Quantities and Units  Part 2: Mathematical signs and symbols to be used in the natural sciences and technology, p. 15. ISO 800002 (ISO/IEC 20091201)
 ^ L. Ahlfors (1966). Complex Analysis (second ed.). McGrawHill. p. 21.
 ^ J. B. Conway (1978). Functions of one complex variable (second ed.). SpringerVerlag. p. vii.
 ^ Gödel 1940, p. 16; Jech 2003, p. 11; Cunningham 2016, p. 57
References
 Bartle, Robert (1967). The Elements of Real Analysis. John Wiley & Sons.
 Bloch, Ethan D. (2011). Proofs and Fundamentals: A First Course in Abstract Mathematics. Springer. ISBN 9781441971265.
 Cunningham, Daniel W. (2016). Set theory: A First Course. Cambridge University Press. ISBN 9781107120327.
 Gödel, Kurt (1940). The Consistency of the Continuum Hypothesis. Princeton University Press. ISBN 9780691079271.
 Halmos, Paul R. (1970). Naive Set Theory. SpringerVerlag. ISBN 9780387900926.
 Jech, Thomas (2003). Set theory (Third Millennium ed.). SpringerVerlag. ISBN 9783540440857.
 Spivak, Michael (2008). Calculus (4th ed.). Publish or Perish. ISBN 9780914098911.
Further reading
 Anton, Howard (1980). Calculus with Analytical Geometry. Wiley. ISBN 9780471032489.
 Bartle, Robert G. (1976). The Elements of Real Analysis (2nd ed.). Wiley. ISBN 9780471054641.
 Dubinsky, Ed; Harel, Guershon (1992). The Concept of Function: Aspects of Epistemology and Pedagogy. Mathematical Association of America. ISBN 9780883850817.
 Hammack, Richard (2009). "12. Functions" (PDF). Book of Proof. Virginia Commonwealth University. Retrieved 20120801.
 Husch, Lawrence S. (2001). Visual Calculus. University of Tennessee. Retrieved 20070927.
 Katz, Robert (1964). Axiomatic Analysis. D. C. Heath and Company.
 Kleiner, Israel (1989). "Evolution of the Function Concept: A Brief Survey". The College Mathematics Journal. 20 (4): 282–300. CiteSeerX 10.1.1.113.6352. doi:10.2307/2686848. JSTOR 2686848.
 Lützen, Jesper (2003). "Between rigor and applications: Developments in the concept of function in mathematical analysis". In Porter, Roy. The Cambridge History of Science: The modern physical and mathematical sciences. Cambridge University Press. ISBN 9780521571999. An approachable and diverting historical presentation.
 Malik, M. A. (1980). "Historical and pedagogical aspects of the definition of function". International Journal of Mathematical Education in Science and Technology. 11 (4): 489–492. doi:10.1080/0020739800110404.
 Reichenbach, Hans (1947) Elements of Symbolic Logic, Dover Publishing Inc., New York, ISBN 0486240045.
 Ruthing, D. (1984). "Some definitions of the concept of function from Bernoulli, Joh. to Bourbaki, N.". Mathematical Intelligencer. 6 (4): 72–77.
 Thomas, George B.; Finney, Ross L. (1995). Calculus and Analytic Geometry (9th ed.). AddisonWesley. ISBN 9780201531749.
External links
Wikimedia Commons has media related to Functions (mathematics). 
 Hazewinkel, Michiel, ed. (2001) [1994], "Function", Encyclopedia of Mathematics, Springer Science+Business Media B.V. / Kluwer Academic Publishers, ISBN 9781556080104
 Weisstein, Eric W. "Function". MathWorld.
 The Wolfram Functions Site gives formulae and visualizations of many mathematical functions.
 NIST Digital Library of Mathematical Functions