# Function (mathematics)

# Function (mathematics)

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.

In mathematics, a **function**^{[1]} is a relation between sets that associates to every element of a first set exactly one element of the second set. Typical examples are functions from integers to integers or from the real numbers to real numbers.

Functions were 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.^{[7]} 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 the set of all pairs (*x*, *f* (*x*)), called the graph of the function.^{[2]} When the domain and the codomain are sets of real numbers, each such pair may be considered as the Cartesian coordinates of a point in the plane. The set of these points is called the graph of the function; it is a popular means to illustrate the function.

Functions are widely used in science, and in most fields of mathematics. It has been said that functions are "the central objects of investigation" in most fields of mathematics.^{[8]}

Definition

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.

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

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 *x* ∈ *X*, *y* ∈ *Y*, and every element of *X* is the first component of exactly one ordered pair in G.^{[9]}^{[3]} 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 section #Map).

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 *x* ∈ *X*, where *f*:*X* → *Y* and *g*:*X* → *Y*.^{[10]}^{[11]}^{[4]}

`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 inmathematical analysis, where "a functionfromXtoY"often refers to a function that may have a proper subset ofXas domain. For example, a "function from the reals to the reals" may refer to areal-valuedfunction of areal variable, and this phrase does not mean that the domain of the function is the whole set of thereal numbers, but only that the domain is a set of real numbers that contains a non-emptyopen interval; such a function is then called apartial function. For example, iffis a function that has the real numbers as domain and codomain, then a function mapping the valuexto the valueis a functiongfrom the reals to the reals, whose domain is the set of the realsx, 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 two setsanddefines abinary relationbetween 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 or functional relation is a relation such that

`for allinandin. Univalent relations may be identified with functions with codomainwhose domain is a subset ofX.`

A total relation is a relation such that

Formally, functions are identified as relations that are both univalent and total. Univalent relations that are *not* total are called partial functions.

`Various properties of functions and function composition may be reformulated in the language of relations. For example, a function isinjectiveif theconverse relationis univalent, where the converse relation is defined as`

^{[12]}As an element of a Cartesian product over a domain

`The set of all functions from some given domain to a codomain is sometimes identified with the Cartesian product of copies of the codomain,indexedby the domain. Namely, given setsandany functionis an element of the Cartesian product of copies ofs over the index set`

`Viewingas tuple with coordinates, then for each, theth coordinate of this tuple is the valueThis reflects the intuition that for eachthe function`

*picks*some elementnamely,.(This point of view is used for example in the discussion of achoice function.)Infinite Cartesian products are often simply "defined" as sets of functions.^{[13]}

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 appearing pedantic. However, strictly speaking, it is anabuse of notationto write "letbe 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 long-winded, to write "letbe the function defined by the equation*f*(*x*) =*x*^{2},valid for all real values of*x*". A compact phrasing is "letwith*f*(*x*) =*x*^{2}," where the redundant "be the function" is omitted and, by convention, "for allin the domain of" is understood.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,^{[14]} 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")

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,

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 thecompositeof 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*byand), 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 setX, then thesquare functiononXis unambiguously defined by (read: "the functionfromXtoXthat mapsxto`

*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, supposeis a two-argument function, and we want to refer to apartially applied functionproduced by fixing the second argument to the value`

*t*_{0}without introducing a new function name. The map in question could be denotedusing the arrow notation for elements. The expression(read: "the map taking*x*to") represents this new function with just one argument, whereas the expressionrefers to the value of the function*f*at thepoint.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 thenatural numbers. Such a function is called asequence, and, in this case the elementis called thenth element of sequence.`

`The index notation is also often used for distinguishing some variables calledparametersfrom 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 denotedusing index notation, if we define the collection of mapsby the formulafor all.`

Dot notation

`In the notationthe symbolxdoes not represent any value, it is simply aplaceholdermeaning that, ifxis 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,xmay be replaced by any symbol, often aninterpunct"⋅". This may be useful for distinguishing the function`

*f*(⋅)from its value*f*(*x*)atx.`For example,may stand for the function, andmay stand for a function defined by an integral with variable upper bound:.`

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.

Other terms

Term | Distinction from "function" |
---|---|

Map/Mapping | None; the terms are synonymous.^{[15]} |

A map can have any set as its codomain, while, in some contexts, typically in older books, the codomain of a function is specifically the set of real or complex numbers.^{[16]} | |

Alternatively, a map is associated with a special structure (e.g. by explicitly specifying a structured codomain in its definition). For example, a linear map.^{[17]} | |

Homomorphism | A function between two structures of the same type that preserves the operations of the structure (e.g. a group homomorphism).^{[18]}^{[19]} |

Morphism | A generalisation of homomorphisms to any category, even when the objects of the category are not sets (for example, a group defines a category with only one object, which has the elements of the group as morphisms; see Category (mathematics) § Examples for this example and other similar ones).^{[20]}^{[18]}^{[21]} |

Map

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. maps of manifolds). In particular *map* is often used in place of *homomorphism* for the sake of succinctness (e.g., linear map or *map from G to H* instead of *group homomorphism from G to H*). Some authors^{[22]} reserve the word *mapping* for the case where the structure of the codomain belongs explicitly to the definition of the function.

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

Whichever definition of *map* is used, related terms like *domain*, *codomain*, *injective*, *continuous* have the same meaning as for a function.

Morphism

`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 thecategory of sets: in the informal definition of a function,is a subset ofconsisting of all the pairsfor. In this sense, the function doesn't capture the information thatis the codomain; only the rangeis determined by the function.`

Specifying a function

`Given a function, by definition, to each elementof the domain of the function, there is a unique element associated to it, the valueofat. There are several ways to specify or describe howis related to, both explicitly and implicitly. Sometimes, a theorem or anaxiomasserts the existence of a function having some properties, without describing it more precisely. Often, the specification or description is referred to as the definition of the function.`

By listing function values

`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, then one can define a functionby`

By a formula

`Functions are often defined by aformulathat describes a combination ofarithmetic operationsand previously defined functions; such a formula allows computing the value of the function from the value of any element of the domain. For example, in the above example,can be defined by the formula, for.`

`When a function is defined this way, the determination of its domain is sometimes difficult. If the formula that defines the function contains divisions, the values of the variable for which a denominator is zero must be excluded from the domain; thus, for a complicated function, the determination of the domain passes through the computation of thezerosof auxiliary functions. Similarly, ifsquare rootsoccur in the definition of a function fromtothe domain is included in the set of the values of the variable for which the arguments of the square roots are nonnegative.`

`For example,defines a functionwhose domain isbecauseis always positive ifxis a real number. On the other hand,defines a function from the reals to the reals whose domain is reduced to the interval[–1, 1]. (In old texts, such a domain was called the`

*domain of definition*of the function.)Functions are often classified by the nature of formulas that can that define them:

A quadratic function is a function that may be written where

*a*,*b*,*c*are constants.More generally, a polynomial function is a function that can be defined by a formula involving only additions, subtractions, multiplications, and exponentiation to nonnegative integers. For example, and

A rational function is the same, with divisions also allowed, such as and

An algebraic function is the same, with nth roots and roots of polynomials also allowed.

An elementary function

^{[5]}is the same, with logarithms and exponential functions allowed.

Inverse and implicit functions

`A functionwith domainXand codomainY, isbijective, if for everyyinY, there is one and only one elementxinYsuch that`

*y*=*f*(x). In this case, theinverse functionoffis the functionthat mapsto the elementsuch that*y*=*f*(x). For example, thenatural logarithmis a bijective function from the positive real numbers to the real numbers. It has these an inverse, called theexponential functionthat maps the real numbers onto the positive numbers.`If a functionis not bijective, it may occur that one can select subsetsandsuch that therestrictionofftoEis a bijection fromEtoF, and has thus an inverse. Theinverse trigonometric functionsare defined this way. For example, thecosine functioninduces, by restriction, a bijection from theinterval[0,π]onto the interval[–1, 1], and its inverse function, calledarccosine, maps[–1, 1]onto[0,π]. The other inverse trigonometric functions are defined similarly.`

`More generally, given abinary relationRbetween two setsXandY, letEbe a subset ofXsuch that, for everythere is somesuch that`

*x R y*. If one has a criterion allowing selecting such anyfor everythis defines a functioncalled animplicit function, because it is implicitly defined by the relationR.`For example, the equation of theunit circledefines a relation on real numbers. If–1 <`

*x*< 1there are two possible values ofy, one positive and one negative. For*x*= ± 1, these two values become both equal to 0. Otherwise, there is no possible value ofy. This means that the equation defines two implicit functions with domain[–1, 1]and respective codomains[0, +∞)and(–∞, 0].`In this example, the equation can be solved iny, givingbut, in more complicated examples, this is impossible. For example, the relationdefinesyas an implicit function ofx, called theBring radical, which hasas domain and range. The Bring radical cannot be expressed in terms of the four arithmetic operations andnth roots.`

The implicit function theorem provides mild differentiability conditions for existence and uniqueness of an implicit function in the neighborhood of a point.

Using differential calculus

Many functions can be defined as the antiderivative of another function. This is the case of the natural logarithm, which is the antiderivative of 1/*x* that is 0 for *x* = 1. Another common example is the error function.

More generally, many functions, including most special functions, can be defined as solutions of differential equations. The simplest example is probably the exponential function, which can be defined as the unique function that is equal to its derivative and takes the value 1 for *x* = 0.

`Power seriescan be used to define functions on the domain in which they converge. For example, theexponential functionis given by. However, as the coefficients of a series are quite arbitrary, a function that is the sum of a convergent series is generally defined otherwise, and the sequence of the coefficients is the result of some computation based on another definition. Then, the power series can be used to enlarge the domain of the function. Typically, if a function for a real variable is the sum of itsTaylor seriesin some interval, this power series allows immediately enlarging the domain to a subset of thecomplex numbers, thedisc of convergenceof the series. Thenanalytic continuationallows enlarging further the domain for including almost the wholecomplex plane. This process is the method that is generally used for defining thelogarithm, theexponentialand thetrigonometric functionsof a complex number.`

By recurrence

Functions whose domain are the nonnegative integers, known as sequences, are often defined by recurrence relations.

`Thefactorialfunction on the nonnegative integers () is a basic example, as it can be defined by the recurrence relation`

and the initial condition

Representing a function

A graph is commonly used to give an intuitive picture of a function. As an example of how a graph helps to 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 functionits`

*graph*is, formally, the set`In the frequent case whereXandYare subsets of thereal numbers(or may be identified with such subsets, e.g.intervals), an elementmay be identified with a point having coordinates`

*x*,*y*in a 2-dimensional coordinate system, e.g. theCartesian plane. Parts of this may create aplotthat 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 thesquare function`consisting of all points with coordinatesforyields, when depicted in Cartesian coordinates, the well knownparabola. If the same quadratic functionwith the same formal graph, consisting of pairs of numbers, is plotted instead inpolar coordinatesthe plot obtained isFermat'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 functiondefined ascan be represented by the familiarmultiplication 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.

Standard functions

There are a number of standard functions that occur frequently:

For every set X, there is a unique function, called the

**empty function**from the empty set to X. The existence of the empty function from the empty set to itself is required for the category of sets to be a category – in a category, each object must have an "identity morphism", and the empty function serves as the identity for the empty set. The existence of a unique empty function from the empty set to every set A means that the empty set is an initial object in the category of sets. In terms of cardinal arithmetic, it means that*k*0 = 1 for every cardinal number k.For every set X and every singleton set {

*s*}, there is a unique function from X to {*s*}, which maps every element of X to s. This is a surjection (see below) unless 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 A of a set X, the inclusion map of A into X is the injective (see below) function that maps every element of A to itself.

The identity function on a set X, often denoted by id

*X*, is the inclusion of X into itself.

Function composition

`Given two functionsandsuch that the domain ofgis the codomain off, their`

*composition*is the functiondefined by`That is, the value ofis obtained by first applying`

*f*to*x*to obtain*y*=*f*(*x*)and then applying*g*to the resultyto obtain*g*(*y*) =*g*(*f*(*x*)). In the notation the function that is applied first is always written on the right.`The compositionis anoperationon functions that is defined only if the codomain of the first function is the domain of the second one. Even when bothandsatisfy these conditions, the composition is not necessarilycommutative, that is, the functionsandneed not be equal, but may deliver different values for the same argument. For example, let`

*f*(*x*) =*x*^{2}and*g*(*x*) =*x*+ 1, thenandagree just for`The function composition isassociativein the sense that, if one ofandis defined, then the other is also defined, and they are equal. Thus, one writes`

`Theidentity functionsandare respectively aright identityand aleft identityfor functions fromXtoY. That is, iffis a function with domainX, and codomainY, one has`

Image and preimage

`LetThe`

*image*byfof an elementxof the domainXis*f*(*x*). If*A*is any subset of*X*, then the*image*ofAbyf, denoted*f*(*A*)is the subset of the codomain*Y*consisting of all images of elements ofA, 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.^{[24]}

`On the other hand, the *inverse image*, or *preimage`

- by

*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 byThat isFor 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 elementy, denotedmay beemptyor contain any number of elements. For example, iffis the function from the integers to themselves that maps every integer to 0, then.`Ifis 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 functionfhas an inverse (see below), this inverse is denotedIn this casemay denote either the image byor the preimage byfofC. This is not a problem, as these sets are equal. The notationandmay be ambiguous in the case of sets that contain some subsets as elements, such asIn this case, some care may be needed, for example, by using square bracketsfor images and preimages of subsets, and ordinary parentheses for images and preimages of elements.`

Injective, surjective and bijective functions

`Letbe a function.`

`The functionfis *injective`

- (or
*one-to-one*, or is an*injection*) if

*f*(*a*) ≠*f*(*b*)for any two different elements*a*and*b*ofX. Equivalently,fis injective if, for anythe preimagecontains at most one element. An empty function is always injective. IfXis not the empty set, and if, as usual,Zermelo–Fraenkel set theoryis assumed, thenfis injective if and only if there exists a functionsuch thatthat is, iffhas aleft inverse. Iffis injective, for definingg, one chooses an elementinX(which exists asXis supposed to be nonempty),^{[6]}and one definesgbyifand, if`The functionfis *surjective`

- (or
*onto*, or is a*surjection*) if the range equals the codomain, that is, if

*f*(*X*) =*Y*. In other words, the preimageof everyis nonempty. If, as usual, the axiom of choice is assumed, thenfis surjective if and only if there exists a functionsuch thatthat is, iffhas aright inverse. The axiom of choice is needed, because, iffis surjective, one definesgbywhereis an*arbitrarily chosen*element of`The functionfis *bijective`

- (or is
*bijection*or a*one-to-one correspondence*) if it is both injective and surjective. That is

`Every functionmay befactorizedas the composition`

*i*∘*s*of a surjection followed by an injection, wheresis the canonical surjection ofXonto*f*(*X*), andiis the canonical injection of*f*(*X*)intoY. This is the*canonical factorization*off."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

`Ifis a function and`

*S*is a subset of*X*, then the*restriction*ofto*S*, denoted, is the function from*S*to*Y*defined by`for all`

*x*in*S*. Restrictions can be used to define partial inverse functions: if there is a subset*S*of the domain of a functionsuch thatis injective, then the canonical surjection ofonto its imageis a bijection, and thus has an inverse function fromto*S*. This is in this way thatinverse trigonometric functionsare defined. For example, thecosinefunction is injective when restricted to theinterval(0,π). The image of this restriction is the interval(–1, 1), and thus the restriction has an inverse function from(–1, 1)to(0,π), which is calledarccosineand is denotedarccos.`Function restriction may also be used for "gluing" functions together. Letbe the decomposition ofXas aunionof subsets, and suppose that a functionis defined on eachsuch that for each pairof indices, the restrictions ofandtoare equal. Then this defines a unique functionsuch thatfor alli. This is the way that functions onmanifoldsare 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 studyinghomographiesof thereal line. A`

*homography*is a functionsuch that*ad*–*bc*≠ 0. Its domain is the set of allreal numbersdifferent fromand its image is the set of all real numbers different fromIf one extends the real line to theprojectively extended real lineby including∞, one may extendhto a bijection from the extended real line to itself by settingand.Multivariate function

A binary operation is a typical example of a bivariate, function which assigns to each pair the result .

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.

`TheCartesian productofnsetsis the set of alln-tuplessuch thatfor everyiwith. Therefore, a function ofnvariables is a function`

where the domain U has the form

`When using function notation, one usually omits the parentheses surrounding tuples, writinginstead of`

`In the case where all theare equal to the setofreal numbers, one has afunction of several real variables. If theare equal to the setofcomplex numbers, one has afunction 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 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 functions 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

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.

`Thepolynomial functionsare defined bypolynomials, and their domain is the whole set of real numbers. They includeconstant functions,linear functionsandquadratic functions.Rational functionsare quotients of two polynomial functions, and their domain is the real numbers with a finite number of them removed to avoiddivision by zero. The simplest rational function is the functionwhose graph is ahyperbola, and whose domain is the wholereal lineexcept for 0.`

`Thederivativeof a real differentiable function is a real function. Anantiderivativeof a continuous real function is a real function that is differentiable in anyopen intervalin which the original function is continuous. For example, the functionis 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 thenatural logarithm.`A real functionfismonotonicin an interval if the sign ofdoes not depend of the choice ofxandyin 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 functionfis monotonic in an intervalI, it has aninverse function, which is a real function with domain`

*f*(*I*)and imageI. This is howinverse trigonometric functionsare defined in terms oftrigonometric 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 abijectionbetween the real numbers and the positive real numbers. This inverse is theexponential 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

Vector-valued function

When the elements of the codomain 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. For example, the function that associates to each point of a fluid its velocity vector is a vector-valued function.

`Some vector-valued functions are defined on a subset ofor other spaces that share geometric ortopologicalproperties of, such asmanifolds. 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 aneighbourhoodof a point, and then extend by continuity the function to a much larger domain. Frequently, for a starting pointthere are several possible starting values for the function.`

`For example, in defining thesquare rootas the inverse function of the square function, for any positive real numberthere are two choices for the value of the square root, one of which is positive and denotedand another which is negative and denotedThese 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 singlesmooth curve. It is therefore often useful to consider these two square root functions as a single function that has two values for positivex, one value for 0 and no value for negativex.`

`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 theimplicit functionthat mapsyto arootxof(see the figure on the right). For`

*y*= 0one may choose eitherforx.By theimplicit 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*ofythat has three values for–2 <*y*< 2, and only one value for*y*≤ –2and*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 the 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, thesingleton setmay be considered as a functionIts 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.`

^{[25]}These generalized functions may be critical in the development of a formalization of the foundations of mathematics. For example, 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 stated as: If X is a set and F is a function, then *F*[*X*] is a set.

In computer science

In computer programming, a function is, in general, a piece of a computer program, which implements the abstract concept of function. That is, it is a program unit that produces an output for each input. However, in many programming languages every subroutine is called a function, even when there is no output, and when the functionality consists simply of modifying some data in the computer memory.

Functional programming is the programming paradigm consisting of building programs by using only subroutines that behave like mathematical functions. For example, if_then_else is a function that takes three functions as arguments, and, depending on the result of the first function (*true* or *false*), returns the result of either the second or the third function. An important advantage of functional programming is that it makes easier program proofs, as being based on a well founded theory, the lambda calculus (see below).

Except for computer-language terminology, "function" has the usual mathematical meaning in computer science. In this area, a property of major interest is the computability of a function. For giving a precise meaning to this concept, and to the related concept of algorithm, several models of computation have been introduced, the old ones being general recursive functions, lambda calculus and Turing machine. The fundamental theorem of computability theory is that these three models of computation define the same set of computable functions, and that all the other models of computation that have ever been proposed define the same set of computable functions or a smaller one. The Church–Turing thesis is the claim that every philosophically acceptable definition of a *computable function* defines also the same functions.

General recursive functions are partial functions from integers to integers that can be defined from

constant functions,

successor, and

projection functions

via the operators

composition,

primitive recursion, and

Although defined only for functions from integers to integers, they can model any computable function as a consequence of the following properties:

a computation is the manipulation of finite sequences of symbols (digits of numbers, formulas, ...),

every sequence of symbols may be coded as a sequence of bits,

a bit sequence can be interpreted as the binary representation of an integer.

Lambda calculus is a theory that defines computable functions without using set theory, and is the theoretical background of functional programming. It consists of *terms* that are either variables, function definitions (*λ*-terms), or applications of functions to terms. Terms are manipulated through some rules, (the *α*-equivalence, the β-reduction, and the η-conversion), which are the axioms of the theory and may be interpreted as rules of computation.

In its original form, lambda calculus does not include the concepts of domain and codomain of a function. Roughly speaking, they have been introduced in the theory under the name of *type* in typed lambda calculus. Most kinds of typed lambda calculi can define fewer functions than untyped lambda calculus.

See also

Subpages

List of types of functions

List of functions

Function fitting

Implicit function

Generalizations

Homomorphism

Morphism

Microfunction

Distribution

Related topics

Associative array

Functional

Functional decomposition

Functional predicate

Functional programming

Parametric equation

Elementary function

Closed-form expression

## References

**map**,

**mapping**,

**transformation**,

**correspondence**, and

**operator**are often used synonymously. Halmos, Paul R. (1970).

*Naive Set Theory*. Springer-Verlag. ISBN 978-0-387-90092-6., p. 30.

*set*of pairs of objects. Graphs, in the sense of

*diagrams*, are most applicable to functions from the real numbers to themselves. All functions can be described by sets of pairs but it may not be practical to construct a diagram for functions between other sets (such as sets of matrices).

*X*,

*Y*are parts of data defining a function; i.e., a function is a set of ordered pairs with , together with the sets

*X*,

*Y*, such that for each , there is a unique with in the set.

*Stack Exchange*. August 19, 2015.

*Algebra*(First ed.). New York: Macmillan. pp. 1–13.

*Calculus*(4th ed.). Publish or Perish. ISBN 978-0-914098-91-1., p. 39.

*Numbers, sets, and axioms: the apparatus of mathematics*. Cambridge University Press. p. 83. ISBN 978-0-521-24509-8.

*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*

*Calculus of a Single Variable*, Cengage Learning, p. 19, ISBN 978-0-538-73552-0

*mathworld.wolfram.com*. Retrieved 2019-06-12.

*Linear Algebra*(2nd ed.), Addison-Wesley, p. 83

*Mathematical Analysis*. Addison-Wesley. p. 35.

*ncatlab.org*. Retrieved 2019-06-12.