Function composition

Last updated

In mathematics, function composition is an operation that takes two functions f and g and produces a function h such that h(x) = g(f(x)). In this operation, the function g is applied to the result of applying the function f to x. That is, the functions f : XY and g : YZ are composed to yield a function that maps x in X to g(f(x)) in Z.


Intuitively, if z is a function of y, and y is a function of x, then z is a function of x. The resulting composite function is denoted g ∘ f : XZ, defined by (g ∘ f )(x) = g(f(x)) for all x in X. [nb 1] The notation g ∘ f is read as "g circle f ", "g round f ", "g about f ", "g composed with f ", "g after f ", "g following f ", "g of f", "f then g", or "g on f ", or "the composition of g and f ". Intuitively, composing functions is a chaining process in which the output of function f feeds the input of function g.

The composition of functions is a special case of the composition of relations, sometimes also denoted by . [1] As a result, all properties of composition of relations are true of composition of functions, [2] though the composition of functions has some additional properties.

Composition of functions is different from multiplication of functions, and has quite different properties; [3] in particular, composition of functions is not commutative.


Concrete example for the composition of two functions. Example for a composition of two functions.svg
Concrete example for the composition of two functions.
(fg)(x) = f(g(x)) = f(x3) = 2x3 + 4, and
(gf)(x) = g(f(x)) = g(2x + 4) = (2x + 4)3.


The composition of functions is always associative—a property inherited from the composition of relations. [2] That is, if f, g, and h are composable, then f ∘ (g ∘ h) = (f ∘ g) ∘ h. [4] Since the parentheses do not change the result, they are generally omitted.

In a strict sense, the composition g ∘ f is only meaningful if the codomain of f equals the domain of g; in a wider sense, it is sufficient that the former be a subset of the latter. [nb 2] Moreover, it is often convenient to tacitly restrict the domain of f, such that f produces only values in the domain of g. For example, the composition g ∘ f of the functions f : (−∞,+9] defined by f(x) = 9 − x2 and g : [0,+∞) → ℝ defined by can be defined on the interval [−3,+3].

Compositions of two real functions, the absolute value and a cubic function, in different orders, show a non-commutativity of composition. Absolute value composition.svg
Compositions of two real functions, the absolute value and a cubic function, in different orders, show a non-commutativity of composition.

The functions g and f are said to commute with each other if g ∘ f = f ∘ g. Commutativity is a special property, attained only by particular functions, and often in special circumstances. For example, |x| + 3 = |x + 3| only when x ≥ 0. The picture shows another example.

The composition of one-to-one (injective) functions is always one-to-one. Similarly, the composition of onto (surjective) functions is always onto. It follows that the composition of two bijections is also a bijection. The inverse function of a composition (assumed invertible) has the property that (f ∘ g)−1 = g−1f−1. [5]

Derivatives of compositions involving differentiable functions can be found using the chain rule. Higher derivatives of such functions are given by Faà di Bruno's formula. [4]

Composition monoids

Suppose one has two (or more) functions f: XX,g: XX having the same domain and codomain; these are often called transformations . Then one can form chains of transformations composed together, such as ffgf. Such chains have the algebraic structure of a monoid, called a transformation monoid or (much more seldom) a composition monoid. In general, transformation monoids can have remarkably complicated structure. One particular notable example is the de Rham curve. The set of all functions f: XX is called the full transformation semigroup [6] or symmetric semigroup [7] on X. (One can actually define two semigroups depending how one defines the semigroup operation as the left or right composition of functions. [8] )

The similarity that transforms triangle EFA into triangle ATB is the composition of a homothety H  and a rotation R, of which the common centre is S.  For example, the image of A  under the rotation R is U,  which may be written R (A) = U.  And H(U) = B means that the mapping H transforms U  into B.  Thus H(R (A)) = (H [?] R )(A) = B. Academ Example of similarity with ratio square root of 2.svg
The similarity that transforms triangle EFA into triangle ATB is the composition of a homothety H  and a rotation  R, of which the common centre is S.  For example, the image of A  under the rotation R is U,  which may be written R (A) = U. And H(U) = B  means that the mapping  H transforms U  into B. Thus H(R(A)) = (H ∘ R )(A) = B.

If the transformations are bijective (and thus invertible), then the set of all possible combinations of these functions forms a transformation group; and one says that the group is generated by these functions. A fundamental result in group theory, Cayley's theorem, essentially says that any group is in fact just a subgroup of a permutation group (up to isomorphism). [9]

The set of all bijective functions f: XX (called permutations) forms a group with respect to function composition. This is the symmetric group, also sometimes called the composition group.

In the symmetric semigroup (of all transformations) one also finds a weaker, non-unique notion of inverse (called a pseudoinverse) because the symmetric semigroup is a regular semigroup. [10]

Functional powers

If Y X, then f: XY may compose with itself; this is sometimes denoted as f 2. That is:

(ff)(x) = f(f(x)) = f2(x)
(fff)(x) = f(f(f(x))) = f3(x)
(ffff)(x) = f(f(f(f(x)))) = f4(x)

More generally, for any natural number n ≥ 2, the nth functional power can be defined inductively by fn = ffn−1 = fn−1f, a notation introduced by Hans Heinrich Bürmann [ citation needed ] [11] [12] and John Frederick William Herschel. [13] [11] [14] [12] Repeated composition of such a function with itself is called iterated function .

Note: If f takes its values in a ring (in particular for real or complex-valued f), there is a risk of confusion, as fn could also stand for the n-fold product of f, e.g. f2(x) = f(x) · f(x). [12] For trigonometric functions, usually the latter is meant, at least for positive exponents. [12] For example, in trigonometry, this superscript notation represents standard exponentiation when used with trigonometric functions: sin2(x) = sin(x) · sin(x). However, for negative exponents (especially 1), it nevertheless usually refers to the inverse function, e.g., tan−1 = arctan ≠ 1/tan.

In some cases, when, for a given function f, the equation gg = f has a unique solution g, that function can be defined as the functional square root of f, then written as g = f1/2.

More generally, when gn = f has a unique solution for some natural number n > 0, then fm/n can be defined as gm.

Under additional restrictions, this idea can be generalized so that the iteration count becomes a continuous parameter; in this case, such a system is called a flow, specified through solutions of Schröder's equation. Iterated functions and flows occur naturally in the study of fractals and dynamical systems.

To avoid ambiguity, some mathematicians[ citation needed ] choose to use to denote the compositional meaning, writing fn(x) for the n-th iterate of the function f(x), as in, for example, f∘3(x) meaning f(f(f(x))). For the same purpose, f[n](x) was used by Benjamin Peirce [15] [12] whereas Alfred Pringsheim and Jules Molk suggested nf(x) instead. [16] [12] [nb 3]

Alternative notations

Many mathematicians, particularly in group theory, omit the composition symbol, writing gf for gf. [17]

In the mid-20th century, some mathematicians decided that writing "gf" to mean "first apply f, then apply g" was too confusing and decided to change notations. They write "xf" for "f(x)" and "(xf)g" for "g(f(x))". [18] This can be more natural and seem simpler than writing functions on the left in some areas – in linear algebra, for instance, when x is a row vector and f and g denote matrices and the composition is by matrix multiplication. This alternative notation is called postfix notation. The order is important because function composition is not necessarily commutative (e.g. matrix multiplication). Successive transformations applying and composing to the right agrees with the left-to-right reading sequence.

Mathematicians who use postfix notation may write "fg", meaning first apply f and then apply g, in keeping with the order the symbols occur in postfix notation, thus making the notation "fg" ambiguous. Computer scientists may write "f ; g" for this, [19] thereby disambiguating the order of composition. To distinguish the left composition operator from a text semicolon, in the Z notation the ⨾ character is used for left relation composition. [20] Since all functions are binary relations, it is correct to use the [fat] semicolon for function composition as well (see the article on composition of relations for further details on this notation).

Composition operator

Given a function g, the composition operatorCg is defined as that operator which maps functions to functions as

Composition operators are studied in the field of operator theory.

In programming languages

Function composition appears in one form or another in numerous programming languages.

Multivariate functions

Partial composition is possible for multivariate functions. The function resulting when some argument xi of the function f is replaced by the function g is called a composition of f and g in some computer engineering contexts, and is denoted f |xi = g

When g is a simple constant b, composition degenerates into a (partial) valuation, whose result is also known as restriction or co-factor. [21]

In general, the composition of multivariate functions may involve several other functions as arguments, as in the definition of primitive recursive function. Given f, a n-ary function, and nm-ary functions g1, ..., gn, the composition of f with g1, ..., gn, is the m-ary function


This is sometimes called the generalized composite or superposition of f with g1, ..., gn. [22] The partial composition in only one argument mentioned previously can be instantiated from this more general scheme by setting all argument functions except one to be suitably chosen projection functions. Here g1, ..., gn can be seen as a single vector/tuple-valued function in this generalized scheme, in which case this is precisely the standard definition of function composition. [23]

A set of finitary operations on some base set X is called a clone if it contains all projections and is closed under generalized composition. Note that a clone generally contains operations of various arities. [22] The notion of commutation also finds an interesting generalization in the multivariate case; a function f of arity n is said to commute with a function g of arity m if f is a homomorphism preserving g, and vice versa i.e.: [22]


A unary operation always commutes with itself, but this is not necessarily the case for a binary (or higher arity) operation. A binary (or higher arity) operation that commutes with itself is called medial or entropic. [22]


Composition can be generalized to arbitrary binary relations. If RX × Y and SY × Z are two binary relations, then their composition RS is the relation defined as {(x, z) ∈ X × Z : yY. (x, y) ∈ R (y, z) ∈ S}. Considering a function as a special case of a binary relation (namely functional relations), function composition satisfies the definition for relation composition. A small circle RS has been used for the infix notation of composition of relations, as well as functions. When used to represent composition of functions however, the text sequence is reversed to illustrate the different operation sequences accordingly.

The composition is defined in the same way for partial functions and Cayley's theorem has its analogue called the Wagner–Preston theorem. [24]

The category of sets with functions as morphisms is the prototypical category. The axioms of a category are in fact inspired from the properties (and also the definition) of function composition. [25] The structures given by composition are axiomatized and generalized in category theory with the concept of morphism as the category-theoretical replacement of functions. The reversed order of composition in the formula (f ∘ g)−1 = (g−1f−1) applies for composition of relations using converse relations, and thus in group theory. These structures form dagger categories.


The composition symbol is encoded as U+2218RING OPERATOR (HTML ∘ ·∘, ∘); see the Degree symbol article for similar-appearing Unicode characters. In TeX, it is written \circ.

See also


  1. Some authors use f ∘ g : XZ, defined by (f ∘ g )(x) = g(f(x)) instead. This is common when a postfix notation is used, especially if functions are represented by exponents, as, for instance, in the study of group actions. See Dixon, John D.; Mortimer, Brian (1996). Permutation groups. Springer. p.  5. ISBN   0-387-94599-7.
  2. The strict sense is used, e.g., in category theory, where a subset relation is modelled explicitly by an inclusion function.
  3. Alfred Pringsheim's and Jules Molk's (1907) notation nf(x) to denote function compositions must not be confused with Rudolf von Bitter Rucker's (1982) notation nx, introduced by Hans Maurer (1901) and Reuben Louis Goodstein (1947) for tetration, or with David Patterson Ellerman's (1995) nx pre-superscript notation for roots.

Related Research Articles

Bijection Function that is one to one and onto (mathematics)

In mathematics, a bijection, bijective function, one-to-one correspondence, or invertible function, is a function between the elements of two sets, where each element of one set is paired with exactly one element of the other set, and each element of the other set is paired with exactly one element of the first set. There are no unpaired elements. In mathematical terms, a bijective function f: XY is a one-to-one (injective) and onto (surjective) mapping of a set X to a set Y. The term one-to-one correspondence must not be confused with one-to-one function.

Exponential function Class of specific mathematical functions

In mathematics, the exponential function is the function where e = 2.71828... is Euler's number.

In mathematics, an elementary function is a function of a single variable that is defined as taking sums, products, and compositions of finitely many polynomial, rational, trigonometric, hyperbolic, and exponential functions, including possibly their inverse functions.

In algebra, a homomorphism is a structure-preserving map between two algebraic structures of the same type. The word homomorphism comes from the Ancient Greek language: ὁμός meaning "same" and μορφή meaning "form" or "shape". However, the word was apparently introduced to mathematics due to a (mis)translation of German ähnlich meaning "similar" to ὁμός meaning "same". The term "homomorphism" appeared as early as 1892, when it was attributed to the German mathematician Felix Klein (1849–1925).

Inverse function Mathematical concept

In mathematics, an inverse function is a function that "reverses" another function: if the function f applied to an input x gives a result of y, then applying its inverse function g to y gives the result x, i.e., g(y) = x if and only if f(x) = y. The inverse function of f is also denoted as .

Logarithm Inverse of the exponential function, which maps products to sums

In mathematics, the logarithm is the inverse function to exponentiation. That means the logarithm of a given number x is the exponent to which another fixed number, the base b, must be raised, to produce that number x. In the simplest case, the logarithm counts the number of occurrences of the same factor in repeated multiplication; e.g., since 1000 = 10 × 10 × 10 = 103, the "logarithm base 10" of 1000 is 3, or log10(1000) = 3. The logarithm of x to baseb is denoted as logb(x), or without parentheses, logbx, or even without the explicit base, log x, when no confusion is possible, or when the base does not matter such as in big O notation.

Monoid Algebraic structure with an associative operation and an identity element

In abstract algebra, a branch of mathematics, a monoid is a set equipped with an associative binary operation and an identity element.

In mathematics, a partial functionf from a set X to a set Y is a function from a subset S of X to Y. The subset S, that is, the domain of f viewed as a function, is called the domain of definition of f. If S equals X, that is, if f is defined on every element in X, then f is said to be total.


In mathematics, a semigroup is an algebraic structure consisting of a set together with an associative binary operation.

In abstract algebra, the idea of an inverse element generalises the concepts of negation and reciprocation. The intuition is of an element that can 'undo' the effect of combination with another given element. While the precise definition of an inverse element varies depending on the algebraic structure involved, these definitions coincide in a group.

Exponentiation Mathematical operation

Exponentiation is a mathematical operation, written as bn, involving two numbers, the baseb and the exponent or powern, and pronounced as "b raised to the power of n". When n is a positive integer, exponentiation corresponds to repeated multiplication of the base: that is, bn is the product of multiplying n bases:

Tetration Repeated or iterated exponentiation

In mathematics, tetration is an operation based on iterated, or repeated, exponentiation. It is the next hyperoperation after exponentiation, but before pentation. The word was coined by Reuben Louis Goodstein from tetra- (four) and iteration.

In mathematics, an iterated function is a function X → X which is obtained by composing another function f : X → X with itself a certain number of times. The process of repeatedly applying the same function is called iteration. In this process, starting from some initial number, the result of applying a given function is fed again in the function as input, and this process is repeated.

In group theory, an inverse semigroupS is a semigroup in which every element x in S has a unique inversey in S in the sense that x = xyx and y = yxy, i.e. a regular semigroup in which every element has a unique inverse. Inverse semigroups appear in a range of contexts; for example, they can be employed in the study of partial symmetries.

In mathematics, the converse relation, or transpose, of a binary relation is the relation that occurs when the order of the elements is switched in the relation. For example, the converse of the relation 'child of' is the relation 'parent of'. In formal terms, if X and Y are sets and LX × Y is a relation from X to Y, then LT is the relation defined so that y LTx if and only if x L y. In set-builder notation, LT = {(y, x) ∈ Y × X | ∈ L}.

In abstract algebra, a semiheap is an algebraic structure consisting of a non-empty set H with a ternary operation denoted that satisfies a modified associativity property:

In the mathematics of binary relations, the composition of relations is the forming of a new binary relation R ; S from two given binary relations R and S. In the calculus of relations, the composition of relations is called relative multiplication, and its result is called a relative product. Function composition is the special case of composition of relations where all relations involved are functions.

Section (category theory)

In category theory, a branch of mathematics, a section is a right inverse of some morphism. Dually, a retraction is a left inverse of some morphism. In other words, if f : XY and g : YX are morphisms whose composition fog : YY is the identity morphism on Y, then g is a section of f, and f is a retraction of g.

In mathematics, brackets of various typographical forms, such as parentheses ( ), square brackets [ ], braces { } and angle brackets ⟨ ⟩, are frequently used in mathematical notation. Generally, such bracketing denotes some form of grouping: in evaluating an expression containing a bracketed sub-expression, the operators in the sub-expression take precedence over those surrounding it. Additionally, there are several uses and meanings for the various brackets.

In mathematics, particularly in abstract algebra, a semigroup with involution or a *-semigroup is a semigroup equipped with an involutive anti-automorphism, which—roughly speaking—brings it closer to a group because this involution, considered as unary operator, exhibits certain fundamental properties of the operation of taking the inverse in a group: uniqueness, double application "cancelling itself out", and the same interaction law with the binary operation as in the case of the group inverse. It is thus not a surprise that any group is a semigroup with involution. However, there are significant natural examples of semigroups with involution that are not groups.


  1. "Comprehensive List of Algebra Symbols". Math Vault. 2020-03-25. Retrieved 2020-08-28.
  2. 1 2 Velleman, Daniel J. (2006). How to Prove It: A Structured Approach. Cambridge University Press. p. 232. ISBN   978-1-139-45097-3.
  3. "3.4: Composition of Functions". Mathematics LibreTexts. 2020-01-16. Retrieved 2020-08-28.
  4. 1 2 Weisstein, Eric W. "Composition". Retrieved 2020-08-28.
  5. Rodgers, Nancy (2000). Learning to Reason: An Introduction to Logic, Sets, and Relations. John Wiley & Sons. pp. 359–362. ISBN   978-0-471-37122-9.
  6. Hollings, Christopher (2014). Mathematics across the Iron Curtain: A History of the Algebraic Theory of Semigroups. American Mathematical Society. p. 334. ISBN   978-1-4704-1493-1.
  7. Grillet, Pierre A. (1995). Semigroups: An Introduction to the Structure Theory. CRC Press. p. 2. ISBN   978-0-8247-9662-4.
  8. Dömösi, Pál; Nehaniv, Chrystopher L. (2005). Algebraic Theory of Automata Networks: An introduction. SIAM. p. 8. ISBN   978-0-89871-569-9.
  9. Carter, Nathan (2009-04-09). Visual Group Theory. MAA. p. 95. ISBN   978-0-88385-757-1.
  10. Ganyushkin, Olexandr; Mazorchuk, Volodymyr (2008). Classical Finite Transformation Semigroups: An Introduction. Springer Science & Business Media. p. 24. ISBN   978-1-84800-281-4.
  11. 1 2 3 Herschel, John Frederick William (1820). "Part III. Section I. Examples of the Direct Method of Differences". A Collection of Examples of the Applications of the Calculus of Finite Differences. Cambridge, UK: Printed by J. Smith, sold by J. Deighton & sons. pp. 1–13 [5–6]. Archived from the original on 2020-08-04. Retrieved 2020-08-04. (NB. Inhere, Herschel refers to his 1813 work and mentions Hans Heinrich Bürmann's older work.)
  12. 1 2 3 4 5 6 7 Cajori, Florian (1952) [March 1929]. "§472. The power of a logarithm / §473. Iterated logarithms / §533. John Herschel's notation for inverse functions / §535. Persistence of rival notations for inverse functions / §537. Powers of trigonometric functions". A History of Mathematical Notations. 2 (3rd corrected printing of 1929 issue, 2nd ed.). Chicago, USA: Open court publishing company. pp. 108, 176–179, 336, 346. ISBN   978-1-60206-714-1 . Retrieved 2016-01-18. […] §473. Iterated logarithms […] We note here the symbolism used by Pringsheim and Molk in their joint Encyclopédie article: "2logba = logb (logba), …, k+1logba = logb (klogba)." [a] […] §533. John Herschel's notation for inverse functions, sin1x, tan1x, etc., was published by him in the Philosophical Transactions of London , for the year 1813. He says (p. 10): "This notation cos.1e must not be understood to signify 1/cos. e, but what is usually written thus, arc(cos.=e)." He admits that some authors use cos.mA for (cos.A)m, but he justifies his own notation by pointing out that since d2x, Δ3x, Σ2x mean ddx, ΔΔΔx, ΣΣx, we ought to write sin.2x for sin.sin.x, log.3x for log.log.log.x. Just as we write dnV=∫nV, we may write similarly sin.1x=arc(sin.=x), log.1x.=cx. Some years later Herschel explained that in 1813 he used fn(x), fn(x), sin.1x, etc., "as he then supposed for the first time. The work of a German Analyst, Burmann, has, however, within these few months come to his knowledge, in which the same is explained at a considerably earlier date. He[Burmann], however, does not seem to have noticed the convenience of applying this idea to the inverse functions tan1, etc., nor does he appear at all aware of the inverse calculus of functions to which it gives rise." Herschel adds, "The symmetry of this notation and above all the new and most extensive views it opens of the nature of analytical operations seem to authorize its universal adoption." [b] […] §535. Persistence of rival notations for inverse function. […] The use of Herschel's notation underwent a slight change in Benjamin Peirce's books, to remove the chief objection to them; Peirce wrote: "cos[1]x," "log[1]x." [c] […] §537. Powers of trigonometric functions.Three principal notations have been used to denote, say, the square of sinx, namely, (sinx)2, sinx2, sin2x. The prevailing notation at present is sin2x, though the first is least likely to be misinterpreted. In the case of sin2x two interpretations suggest themselves; first, sinx· sinx; second, [d] sin(sinx). As functions of the last type do not ordinarily present themselves, the danger of misinterpretation is very much less than in case of log2x, where logx· logx and log(logx) are of frequent occurrence in analysis. […] The notation sinnx for (sinx)n has been widely used and is now the prevailing one. […] (xviii+367+1 pages including 1 addenda page) (NB. ISBN and link for reprint of 2nd edition by Cosimo, Inc., New York, USA, 2013.)
  13. 1 2 Herschel, John Frederick William (1813) [1812-11-12]. "On a Remarkable Application of Cotes's Theorem". Philosophical Transactions of the Royal Society of London . London: Royal Society of London, printed by W. Bulmer and Co., Cleveland-Row, St. James's, sold by G. and W. Nicol, Pall-Mall. 103 (Part 1): 8–26 [10]. doi: 10.1098/rstl.1813.0005 . JSTOR   107384. S2CID   118124706.
  14. Peano, Giuseppe (1903). Formulaire mathématique (in French). IV. p. 229.
  15. Peirce, Benjamin (1852). Curves, Functions and Forces. I (new ed.). Boston, USA. p. 203.
  16. Pringsheim, Alfred; Molk, Jules (1907). Encyclopédie des sciences mathématiques pures et appliquées (in French). I. p. 195. Part I.
  17. Ivanov, Oleg A. (2009-01-01). Making Mathematics Come to Life: A Guide for Teachers and Students. American Mathematical Society. pp. 217–. ISBN   978-0-8218-4808-1.
  18. Gallier, Jean (2011). Discrete Mathematics. Springer. p. 118. ISBN   978-1-4419-8047-2.
  19. Barr, Michael; Wells, Charles (1998). Category Theory for Computing Science (PDF). p. 6. Archived from the original (PDF) on 2016-03-04. Retrieved 2014-08-23. (NB. This is the updated and free version of book originally published by Prentice Hall in 1990 as ISBN   978-0-13-120486-7.)
  20. ISO/IEC 13568:2002(E), p. 23
  21. Bryant, R. E. (August 1986). "Logic Minimization Algorithms for VLSI Synthesis" (PDF). IEEE Transactions on Computers. C-35 (8): 677–691. doi:10.1109/tc.1986.1676819. S2CID   10385726.
  22. 1 2 3 4 Bergman, Clifford (2011). Universal Algebra: Fundamentals and Selected Topics. CRC Press. pp.  79–80, 90–91. ISBN   978-1-4398-5129-6.
  23. Tourlakis, George (2012). Theory of Computation. John Wiley & Sons. p. 100. ISBN   978-1-118-31533-0.
  24. Lipscomb, S. (1997). Symmetric Inverse Semigroups. AMS Mathematical Surveys and Monographs. p. xv. ISBN   0-8218-0627-0.
  25. Hilton, Peter; Wu, Yel-Chiang (1989). A Course in Modern Algebra. John Wiley & Sons. p. 65. ISBN   978-0-471-50405-4.