# Inverse function

Template:Functions
In mathematics, an **inverse function** is a function that "reverses" another function: if the function Template:Mvar applied to an input Template:Mvar gives a result of Template:Mvar, then applying its inverse function Template:Mvar to Template:Mvar gives the result Template:Mvar, and vice versa. i.e., *f*(*x*) = *y* if and only if *g*(*y*) = *x*.

A function Template:Mvar that has an inverse is said to be **invertible**. When it exists, the inverse function is uniquely determined by Template:Mvar and is denoted by *f*^{ −1}, read *f inverse*. Superscripted "−1" does not, in general, refer to numerical exponentiation.

In some situations, for instance when Template:Mvar is an invertible real-valued function of a real variable, the relationship between Template:Mvar and *f*^{−1} can be written more compactly, in this case, *f*^{−1}(*f*(*x*)) = *x* = *f*(*f*^{−1}(*x*)), meaning *f*^{−1} composed with Template:Mvar, in either order, is the identity function on **R**.

## Definitions

{{#invoke:see also|seealso}}

Let Template:Mvar be a function whose domain is the set Template:Mvar, and whose image (range) is the set Template:Mvar. Then Template:Mvar is *invertible* if there exists a function Template:Mvar with domain Template:Mvar and image Template:Mvar, with the property:

If Template:Mvar is invertible, the function Template:Mvar is unique; in other words, there is exactly one function Template:Mvar satisfying this property (no more, no less). That function Template:Mvar is then called *the* inverse of Template:Mvar, and usually denoted as *f*^{ −1}.

Stated otherwise, a function is invertible if and only if its inverse relation is a function on the range Template:Mvar, in which case the inverse relation is the inverse function.^{[1]}

Not all functions have an inverse. For this rule to be applicable, each element *y* ∈ *Y* must correspond to no more than one *x* ∈ *X*; a function Template:Mvar with this property is called one-to-one or an injection. If Template:Mvar and *f*^{ −1} are functions on Template:Mvar and Template:Mvar respectively, then both are bijections. The inverse of an injection that is not a bijection is a partial function, that means for some *y* ∈ *Y* it is undefined.

### Example: squaring and square root functions

The function *f*(*x*) = *x*^{2} may or may not be invertible, depending on what kinds of numbers are being considered (the "domain").

If the domain is the real numbers, then each possible result *y* corresponds to two different starting points in Template:Mvar: one positive and one negative (±*x*), and so this function is not invertible: as it is impossible to deduce from its output the sign of its input. Such a function is called non-injective or information-losing. Neither the square root nor the principal square root function is the inverse of *x*^{2} because the first is not single-valued, and the second returns −*x* when Template:Mvar is negative.

If only positive numbers (and zero) are being considered, then the function is injective and invertible.

### Inverses in higher mathematics

The definition given above is commonly adopted in set theory and calculus. In higher mathematics, the notation

means "Template:Mvar is a function mapping elements of a set Template:Mvar to elements of a set Template:Mvar". The source, Template:Mvar, is called the domain of Template:Mvar, and the target, Template:Mvar, is called the codomain. The codomain contains the range of Template:Mvar as a subset, and is considered part of the definition of Template:Mvar.^{[2]}

When using codomains, the inverse of a function *f*: *X* → *Y* is required to have domain Template:Mvar and codomain Template:Mvar. For the inverse to be defined on all of Template:Mvar, every element of Template:Mvar must lie in the range of the function Template:Mvar. A function with this property is called *onto* or a *surjection*. Thus, a function with a codomain is invertible if and only if it is both *injective* (one-to-one) and surjective (onto). Such a function is called a one-to-one correspondence or a bijection, and has the property that every element *y* ∈ *Y* corresponds to exactly one element *x* ∈ *X*.

### Inverses and composition

If Template:Mvar is an invertible function with domain Template:Mvar and range Template:Mvar, then

Using the composition of functions we can rewrite this statement as follows:

where id_{X} is the identity function on the set Template:Mvar; that is, the function that leaves its argument unchanged. In category theory, this statement is used as the definition of an inverse morphism.

Considering function composition helps to understand the notation *f*^{ −1}. (Repeatedly) composing a function with itself is called iteration, and is denoted *f*^{ n}(*x*) if Template:Mvar is applied Template:Mvar times, starting with the value Template:Mvar; so *f*^{ 2}(*x*) = *f* (*f* (*x*)), etc. Since *f*^{ −1}(*f* (*x*)) = *x*, composing *f*^{ −1} and *f*^{ n} yields *f*^{ n−1}, "undoing" the effect of one application of Template:Mvar.

The notation can also be linked to regular multiplication, by considering multiplication functions *f*_{x}(*y*) = *xy*. Applying *f*_{x}^{−1} to *f*_{x}(*y*) gives Template:Mvar, which is the same as dividing Template:Mvar by Template:Mvar, or multiplying by *x*^{ −1}.

### Note on notation

The superscript notation for inverses can sometimes be confused with other uses of superscripts, especially when dealing with trigonometric and hyperbolic functions. To avoid this confusion, the notations *f*^{ [−1]} or with the "^{−1}" above the Template:Mvar are sometimes used.{{ safesubst:#invoke:Unsubst||date=__DATE__ |$B=
{{#invoke:Category handler|main}}{{#invoke:Category handler|main}}^{[citation needed]}
}}

Whereas the notation *f*^{ −1}(*x*) might be misunderstood, *f*(*x*)^{−1} certainly denotes the multiplicative inverse of *f*(*x*) and has nothing to do with inversion of Template:Mvar.

The expression sin^{−1} *x* does not represent the multiplicative inverse to sin *x*,^{[3]} but the inverse of the sine function applied to Template:Mvar (actually a partial inverse; see below). To avoid confusion, an inverse trigonometric function is often indicated by the prefix "arc". For instance, the inverse of the sine function is typically called the arcsine function, written as arcsin, which is, like sin, conventionally denoted in roman type and not in italics (note that software libraries of mathematical functions often use the name `asin`):

The function (sin *x*)^{ −1} is the multiplicative inverse to the sine, and is called the cosecant. It is usually denoted csc *x*:

Hyperbolic functions behave similarly, using the prefix "ar" for their inverse functions, as in arsinh for the inverse function of sinh, and csch *x* for the multiplicative inverse of sinh *x*.

### Non-example: inverse operations that lead to inverse functions

In the context of proportionality, direct variation functions represent a relationship between x and y such that the quotient of the two variables equal a constant, k. Thus, the direct variation function is as follows: *y* = *kx*. An alternative view of this equation is the slope-intercept form, where k is the slope and always positive.

The inverse variation function represents an inverted relationship between x and y when compared to their relationship in direct variation functions. This notion is not to be confused with finding the inverse function of the direct variation function. The inverse variation function simply implies that as the value of one variable increases the other variable decreases. The function for this relationship cannot be found by finding the inverse of the direct variation function because the result will yield another linear function with a slope of, which is a positive value. Instead, the product of the two variables should always produce a constant. Thus, the inverse variation function is as follows: *y* = *k*/*x* . As x increases, a larger number is dividing the constant k, so y is approaching 0.
^{[4]}

### Non-example: percentages

Despite their familiarity, percentage changes do not have a straightforward inverse. That is, an X per cent fall is not the inverse of an X per cent rise.

## Properties

### Uniqueness

If an inverse function exists for a given function Template:Mvar, it is unique: it must be the inverse relation.

### Symmetry

There is a symmetry between a function and its inverse. Specifically, if Template:Mvar is an invertible function with domain Template:Mvar and range Template:Mvar, then its inverse *f*^{ −1} has domain Template:Mvar and range Template:Mvar, and the inverse of *f*^{ −1} is the original function Template:Mvar. In symbols, for Template:Mvar a function with domain Template:Mvar and range Template:Mvar, and Template:Mvar a function with domain Template:Mvar and range Template:Mvar:

This follows from the connection between function inverse and relation inverse, because inversion of relations is an involution.

This statement is an obvious consequence of the deduction that for Template:Mvar to be invertible it must be injective (first definition of the inverse) or bijective (second definition). The property of involutive symmetry can be concisely expressed by the following formula:

The inverse of a composition of functions is given by the formula

Notice that the order of Template:Mvar and Template:Mvar have been reversed; to undo Template:Mvar followed by Template:Mvar, we must first undo Template:Mvar and then undo Template:Mvar.

For example, let *f*(*x*) = 3*x* and let *g*(*x*) = *x* + 5. Then the composition *g* ∘ *f* is the function that first multiplies by three and then adds five:

To reverse this process, we must first subtract five, and then divide by three:

This is the composition
(*f*^{ −1} ∘ *g*^{ −1})(*y*).

### Self-inverses

If Template:Mvar is a set, then the identity function on Template:Mvar is its own inverse:

More generally, a function *f* : *X* → *X* is equal to its own inverse if and only if the composition *f* ∘ *f* is equal to id_{X}. Such a function is called an involution.

## Inverses in calculus

Single-variable calculus is primarily concerned with functions that map real numbers to real numbers. Such functions are often defined through formulas, such as:

A function Template:Mvar from the real numbers to the real numbers possesses an inverse as long as it is one-to-one, i.e. as long as the graph of *y* = *f*(*x*) has, for each possible Template:Mvar value only one corresponding Template:Mvar value, and thus passes the horizontal line test.

The following table shows several standard functions and their inverses:

Function *f*(*x*)Inverse *f*^{ −1}(*y*)Notes *x*+*a**y*−*a**a*−*x**a*−*y**mx*[[division (mathematics)|{{ safesubst:#invoke:Unsubst $B=Template:Mvar/Template:Mvar}}]] *m*≠ 0{{ safesubst:#invoke:Unsubst $B=1/Template:Mvar}} {{ safesubst:#invoke:Unsubst $B=1/Template:Mvar}} *x*,*y*≠ 0*x*^{2}[[square root|Template:Sqrt]] *x*,*y*≥ 0 only*x*^{3}[[cube root|Template:Radic]] no restriction on Template:Mvar and Template:Mvar *x*^{p}*y*^{1/p}(i.e. Template:Radic)*x*,*y*≥ 0 in general,*p*≠ 0*e*^{x}ln *y**y*> 0*a*^{x}log _{a}*y**y*> 0 and*a*> 0trigonometric functions inverse trigonometric functions various restrictions (see table below)

### Formula for the inverse

One approach to finding a formula for *f*^{ −1}, if it exists, is to solve the equation *y* = *f*(*x*) for Template:Mvar. For example, if Template:Mvar is the function

then we must solve the equation *y* = (2*x* + 8)^{3} for Template:Mvar:

Thus the inverse function *f*^{ −1} is given by the formula

Sometimes the inverse of a function cannot be expressed by a formula with a finite number of terms. For example, if Template:Mvar is the function

then Template:Mvar is one-to-one, and therefore possesses an inverse function *f*^{ −1}. The formula for this inverse has an infinite number of terms:

### Graph of the inverse

If Template:Mvar is invertible, then the graph of the function

is the same as the graph of the equation

This is identical to the equation *y* = *f*(*x*) that defines the graph of Template:Mvar, except that the roles of Template:Mvar and Template:Mvar have been reversed. Thus the graph of *f*^{ −1} can be obtained from the graph of Template:Mvar by switching the positions of the Template:Mvar and Template:Mvar axes. This is equivalent to reflecting the graph across the line
*y* = *x*.

### Inverses and derivatives

A continuous function Template:Mvar is one-to-one (and hence invertible) if and only if it is either strictly increasing or decreasing (with no local maxima or minima). For example, the function

is invertible, since the derivative
*f′*(*x*) = 3*x*^{2} + 1 is always positive.

If the function Template:Mvar is differentiable, then the inverse *f*^{ −1} will be differentiable as long as *f′*(*x*) ≠ 0. The derivative of the inverse is given by the inverse function theorem:

If we set *x* = *f*^{ −1}(*y*), then the formula above can be written

This result follows from the chain rule (see the article on inverse functions and differentiation).

The inverse function theorem can be generalized to functions of several variables. Specifically, a differentiable multivariable function *f *: **R**^{n} → **R**^{n} is invertible in a neighborhood of a point Template:Mvar as long as the Jacobian matrix of Template:Mvar at Template:Mvar is invertible. In this case, the Jacobian of *f*^{ −1} at *f*(*p*) is the matrix inverse of the Jacobian of Template:Mvar at Template:Mvar.

## Real-world examples

1. Let Template:Mvar be the function that converts a temperature in degrees Celsius to a temperature in degrees Fahrenheit:

then its inverse function converts degrees Fahrenheit to degrees Celsius:

since

2. Suppose Template:Mvar assigns each child in a family its birth year. An inverse function would output which child was born in a given year. However, if the family has twins (or triplets) then the output cannot be known when the input is the common birth year. As well, if a year is given in which no child was born then a child cannot be named. But if each child was born in a separate year, and if we restrict attention to the three years in which a child was born, then we do have an inverse function. For example,

3. Let Template:Mvar be the function that leads to an Template:Mvar percentage rise of some quantity, and Template:Mvar be the function producing an Template:Mvar percentage fall. Applied to $100 with Template:Mvar = 10%, we find that applying the first function followed by the second does not restore the original value of $100, demonstrating the fact that, despite appearances, these two functions are not inverses of each other.

## Generalizations

### Partial inverses

Even if a function Template:Mvar is not one-to-one, it may be possible to define a **partial inverse** of Template:Mvar by restricting the domain. For example, the function

is not one-to-one, since *x*^{2} = (−*x*)^{2}. However, the function becomes one-to-one if we restrict to the domain *x* ≥ 0, in which case

(If we instead restrict to the domain *x* ≤ 0, then the inverse is the negative of the square root of Template:Mvar.) Alternatively, there is no need to restrict the domain if we are content with the inverse being a multivalued function:

Sometimes this multivalued inverse is called the **full inverse** of Template:Mvar, and the portions (such as Template:Sqrt and −Template:Sqrt) are called *branches*. The most important branch of a multivalued function (e.g. the positive square root) is called the *principal branch*, and its value at Template:Mvar is called the *principal value* of *f*^{ −1}(*y*).

For a continuous function on the real line, one branch is required between each pair of local extrema. For example, the inverse of a cubic function with a local maximum and a local minimum has three branches (see the picture to the right).

These considerations are particularly important for defining the inverses of trigonometric functions. For example, the sine function is not one-to-one, since

for every real Template:Mvar (and more generally sin(*x* + 2π*n*) = sin(*x*) for every integer Template:Mvar). However, the sine is one-to-one on the interval
Template:Closed-closed, and the corresponding partial inverse is called the arcsine. This is considered the principal branch of the inverse sine, so the principal value of the inverse sine is always between −{{ safesubst:#invoke:Unsubst||$B=π/2}} and {{ safesubst:#invoke:Unsubst||$B=π/2}}. The following table describes the principal branch of each inverse trigonometric function:

function Range of usual principal value sin ^{−1}−{{ safesubst:#invoke:Unsubst $B=π/2}} ≤ sin ^{−1}(*x*) ≤ {{ safesubst:#invoke:Unsubst$B=π/2}} cos ^{−1}0 ≤ cos ^{−1}(*x*) ≤ πtan ^{−1}−{{ safesubst:#invoke:Unsubst $B=π/2}} < tan ^{−1}(*x*) < {{ safesubst:#invoke:Unsubst$B=π/2}} cot ^{−1}0 < cot ^{−1}(*x*) < πsec ^{−1}0 ≤ sec ^{−1}(*x*) ≤ πcsc ^{−1}−{{ safesubst:#invoke:Unsubst $B=π/2}} ≤ csc ^{−1}(*x*) ≤ {{ safesubst:#invoke:Unsubst$B=π/2}}

### Left and right inverses

If *f*: *X* → *Y*, a **left inverse** for Template:Mvar (or *retraction* of Template:Mvar) is a function *g*: *Y* → *X* such that

That is, the function Template:Mvar satisfies the rule

Thus, Template:Mvar must equal the inverse of Template:Mvar on the image of Template:Mvar, but may take any values for elements of Template:Mvar not in the image. A function Template:Mvar with a left inverse is necessarily injective. In classical mathematics, every injective function Template:Mvar necessarily has a left inverse; however, this may fail in constructive mathematics. For instance, a left inverse of the inclusion {0,1} → **R** of the two-element set in the reals violates indecomposability by giving a retraction of the real line to the set {0,1} .

A **right inverse** for Template:Mvar (or *section* of Template:Mvar) is a function *h*: *Y* → *X* such that

That is, the function Template:Mvar satisfies the rule

Thus, *h*(*y*) may be any of the elements of Template:Mvar that map to Template:Mvar under Template:Mvar. A function Template:Mvar has a right inverse if and only if it is surjective (though constructing such an inverse in general requires the axiom of choice).

An inverse which is both a left and right inverse must be unique. Likewise, if Template:Mvar is a left inverse for Template:Mvar, then Template:Mvar may or may not be a right inverse for Template:Mvar; and if Template:Mvar is a right inverse for Template:Mvar, then Template:Mvar is not necessarily a left inverse for Template:Mvar. For example let *f*: **R** → Template:Closed-open denote the squaring map, such that *f*(*x*) = *x*^{2} for all Template:Mvar in **R**, and let Template:Mvar: Template:Closed-open → **R** denote the square root map, such that *g*(*x*) = Template:Radic for all *x* ≥ 0. Then *f*(*g*(*x*)) = *x* for all Template:Mvar in Template:Closed-open; that is, Template:Mvar is a right inverse to Template:Mvar. However, Template:Mvar is not a left inverse to Template:Mvar, since, e.g., *g*(*f*(−1)) = 1 ≠ −1.

### Preimages

If *f*: *X* → *Y* is any function (not necessarily invertible), the **preimage** (or **inverse image**) of an element *y* ∈ *Y* is the set of all elements of Template:Mvar that map to Template:Mvar:

The preimage of Template:Mvar can be thought of as the image of Template:Mvar under the (multivalued) full inverse of the function Template:Mvar.

Similarly, if Template:Mvar is any subset of Template:Mvar, the preimage of Template:Mvar is the set of all elements of Template:Mvar that map to Template:Mvar:

For example, take a function *f*: **R** → **R**, where *f*: *x* ↦ *x*^{2}. This function is not invertible for reasons discussed above. Yet preimages may be defined for subsets of the codomain:

The preimage of a single element *y* ∈ *Y* – a singleton set {*y*} – is sometimes called the *fiber* of Template:Mvar. When Template:Mvar is the set of real numbers, it is common to refer to *f*^{ −1}(*y*) as a *level set*.

## See also

- Inverse function theorem, gives sufficient conditions for a function to be invertible in a neighborhood of a point in its domain and gives a formula for the derivative of the inverse function
- Inverse functions and differentiation
- Inverse relation
- Lagrange inversion theorem, gives the Taylor series expansion of the inverse function of an analytic function

## Notes

## References

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

## Further reading

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

- {{#invoke:citation/CS1|citation

|CitationClass=citation }}

## External links

- Basic outline.
- {{#invoke:citation/CS1|citation

|CitationClass=citation }}