Functions are a basic concept which appear in almost every academic discipline:
A function is the generalization of the common notion of a "mathematical formula". Functions describe a mathematical relationship between an argument, x and the function, f(x). Consider:
This function equals the square of any number, x; this concept is deterministic, always producing the same result from the same input. A function may be thought of as a "machine", converting valid input into a unique output.
A function could be specified as a formula, a relationship, and/or a rule. For example, functions such as f(x) = x^{2} and f(x,y)=xy are used to convert input arguments into output, via direct substitution. The first example takes some number, x, and squares it; the second example takes two numbers, x and y, and multiplies them. According to how a function is specified, it is said to be an explicit function or an implicit function, see How to specify a function.
The mathematical notion of function is not limited to computations using single numbers, or even numbers at all  a function may be any of a wide variety of mappings, maps or transformations. Because of this generality, functions appear in a wide variety of mathematical contexts, and several mathematical fields are based on the study of functions.
It should be noted that the words "function", "mapping" and "map" are usually used synonymously. Furthermore, functions may occasionally referred to as welldefined function or total function (See the section "Formal Definition" below).

As a mathematical term, "function" was coined by Leibniz, in 1694, to describe a quantity related to a curve; such as a curve's slope or a specific point of said curve. Functions related to curves are nowaday called differentiable functions and are still the most frequently type of functions encounted by nonmathematicians. For such kind of functions, one can talk about limits and derivatives, both are measurements of the change of output values with respect to the change of input values. They are the basics of calculus.
The word was later used by Euler during the mid18th Century to describe an expression involving various arguments; ie: y = F(x). By boarden the definition of functions, mathematicians were then able to study much weird mathematical objects, for example: functions which are nowhere differentiable. Those functions, first thought as pure imaginary, are later found to be important in physical phenomenons like Brownian motion.
During the 19th Century, mathematicians starts to unify all the different mathematics branches under set theory and they tried to define every mathematical object as a set. It was Dirichlet who gave the modern "formal" definition of function.
Under Dirichlet's definition, a function is a mathematical relation which is also a set. In most cases, however, the differences between the modern definition and Euler's definition is negligible.
Formally, a function f from a set X of input values to a set Y of possibly output values (written as f: X → Y) is a relation between X and Y which satisfies:
For each input value x in the domain, the corresponding unique output value y in the codomain is denoted by f(x).
Consider the following three examples:
This is not a "welldefined" function; because, the element 3, in X, is associated with two elements b and c in Y (Condition 1 is violated). This is a multivalued function.  
This is not a "welldefined" function; because, the element 1, in X , is associated with nothing (Condition 2 is violated). This is a partial function.  
This is a function, called a discrete function (or rarely piecewise function); of which the range is {a,c,d}. It can be stated explicitly as

Occasionally, all three relations above are called functions. In this case, the function satisfies Conditions (1) and (2) is said to be a "welldefined function" or "total function". In this encyclopedia, the terms "welldefined function", "total function" and "function" are synonymous.
Domains, Codomains, and Ranges
X, the set of input values, is called the domain of f and Y, the set of possible output values, is called the codomain. The range of f is the set of all actual outputs {f(x) : x in the domain}. Beware that sometimes the codomain is wrongly called the range because of a failure to distinguish between possible and actual values.
In computer science, specifying the datatypes of the arguments and return values sets the domain and codomain (respectively) of a subprogram. So the domain and codomain are constraints imposed initially on a function; on the other hand the range is to do with how things turn out in practice.
The graph of a function f is the collection of all points(x, f(x)), for all x in set X. In the example of the discrete function, the graph of f is {(1,a),(2,d),(3,c)}. There are theorems formulated or proved most easily in terms of the graph, such as the closed graph theorem[?].
If X and Y are real lines, then this definition coincides with the familiar sense of graph. Below is the graph of a cubic function, which is a curve:
Note that a function f is usually identified with its graph.
The image of an element x∈X under f is the output f(x).
The image (or direct image) of A⊂X under f is the subset of Y defined by
Notice that the range of f is the image f(X) of its domain. In our example of discrete function, the image of {2,3} under f is f({2,3})={c,d} and the range of f is {a,c,d}.
The preimage of y∈Y is the set f^{−1}(y)={x∈X : f(x)=y}. If the set is a singleton {x}, then we simply say that x=f^{−1}(y) is the preimage of y.
The preimage (or inverse image) of B ⊂ Y under f is the subset of X defined by
Note that with this definiton, f^{ 1} becomes a function whose domain is the set of all subsets of Y (also known as the power set of Y) and whose codomain is the power set of X.
Some consequences that follow immediately from these definitions are:
The results relating images and preimages to the algebra of intersection and union work for any number of sets, not just for 2.
Injective, surjective and bijective functions
Several types of functions are very useful, deserve special names:
(More can be found at List of functions.)
Most commonly used types of mathematical functions involving addition, division, exponents, logarithms, multiplication, polynomials, radicals, rationals, subtraction, and trigonometric expressions. They are sometimes collectively referred as Elementary functions  but the meaning of this term varies among different branches of mathematics. Example of nonelementary functions are Bessel functions and gamma functions.
nary function: function of several variables
Functions in applications are often functions of several variables: the values they take depend on a number of different factors. From a mathematical point of view all the variables must be made explicit in order to have a functional relationship  no 'hidden' factors are allowed. Then, again from the mathematical point of view, there is no qualitative difference between functions of one and of several variables. A function of three real variables is just a function that applies to triples of real numbers. The following paragraph says this in more formal language.
If the domain of a function is a subset of the Cartesian product of n sets then the function is called an nary function. For example, the relation dist has the domain R × R and is therefore a binary function. In that case dist((x,y)) is simply written as dist(x,y).
Another name applied to some types of functions of several variables is operation. In abstract algebra, operators such as "*" are defined as binary functions; when we write a formula such as x*y in this context, we are implicitly invoking the function *(x,y), but writing it in a convenient infix notation.
An important theoretical paradigm, functional programming, takes the function concept as central. In that setting, the handling of functions of several variables becomes an operational matter, for which the lambda calculus provides the basic syntax. The composition of functions (see under composing functions immediately below) becomes a question of explicit forms of substitution, as used in the substitution rule of calculus. In particular, a formalism called currying can be used to reduce nary functions to functions of a single variable.
The functions f: X → Y and g: Y → Z can be composed by first applying f to an argument x and then applying g to the result. Thus one obtains a function g o f: X → Z defined by (g o f)(x) := g(f(x)) for all x in X. As an example, suppose that a plane's height at time t is given by the function h(t) and that the oxygen concentration at height x is given by the function c(x). Then (c o h)(t) describes the oxygen concentration around the plane at time t.
An example of an inverse function, for f(x) = x^{2}, is f(x)^{−1} = √x. Likewise, the inverse of 2x is x/2. The inverse function is the function that "undoes" its original.
If f: X → R and g: X → R are functions with common domain X and codomain is a ring R, then one can define the sum function f + g: X → R and the product function f × g: X → R as follows:
This turns the set of all such functions into a ring. The binary operations in that ring have as domain ordered pairs of functions, and as codomain functions. This is an example of climbing up in abstraction, to functions of more complex types.
By taking some other algebraic structure A in the place of R, we can turn the set of all functions from X to A into an algebraic structure of the same type in an analogous way.
Search Encyclopedia

Featured Article
