复合函数（），又稱作合成函數，在数学中是指逐点地把一个函数作用于另一个函数的结果，所得到的第三个函数。例如，函数  和  可以复合，得到从  中的  映射到  中  的函数。直观来说，如果  是  的函数， 是  的函数，那么  是  的函数。得到的复合函数记作 ，定义为对  中的所有 ，。 直观地说，复合两个函数是把两个函数链接在一起的过程，内函数的输出就是外函数的输入。

函数的复合是关系复合的一个特例，因此复合关系的所有性质也适用于函数的复合。 复合函数还有一些其他性质。

定義
考慮到函數的值域跟定义域，要簡單的以"計算式"，如把所有  和  的有序对頭接尾的這樣直觀定義"合成"是會遇到問題的，像是把  取為实数，這樣把  很自然的對接到  然後開根號成  ，是會遇到對負數開根號，出現非單一值的問題 (請參見棣莫弗公式) ，就算不考慮單一值的問題，我們期望的"合成函數"的值域到底該不該包含複數呢? 所以 (1) 我們一開始就要把準備"合成"的兩個函數的值域跟定義域劃分清楚 (2) 要考慮到對接的時候，前面的值域跟後面的值域不一定相等的問題。 

如果我們有兩個函數  和  ，而兩者的定義域分別是  和  ；值域分別是  和  。如果   ，那我們定義合成函數為 

 

直觀上來說，如果  的"輸出範圍" 是有一部分在  的"輸入範圍"，那我們就可以定義"先作用  再作用  "的函數，但這個"新合成"的函數的定義域可能會因此被限縮(輸出值處在兩者交集的那些  而已)。注意到每個  只會有一個輸出值  ，而每個  只會有一個輸出值  ，所以這樣"先作用  再作用  "的話，每個  只會有一個輸出值  而已，這確保了  符合我們對函數的要求。
当  时(注意這是集合的相等!)，我们会说  和  是可交换的。

兩個一對一函數的合成函數也是一對一的。

涉及到可导函数的复合函数的导数，可以用链式法则求得。Faà di Bruno公式给出了复合函数的高阶导数的表达式。

例子

 有限集上的函数复合：若 ，，则 .
 无限集上的函数复合：若  （其中  是所有实数的集合）表达式为 ，而  表达式为 ，则： 
, and
.
 如果一架飞机在  时刻的海拔为 ，而海拔  处的氧气浓度为 ，那么  描述了  时刻飞机周围的氧气浓度。

复合幺半群
假设我们有两个（或多个）函数  ，定义域与到达域相同；这些函数一般称作变换。于是，我们可以构造多个变换复合而成的链，比如 。这种链具有幺半群的代数结构，称作变换幺半群或者复合幺半群。通常，变换幺半群可以具有非常复杂的结构。一个很有名的例子是德拉姆曲线。所有函数  的集合称作  上的全变换半群或对称半群。（我们其实可以定义两个半群，这取决于定义半群运算为函数左复合和右复合的方式。） 

如果变换是双射（也就可逆），则这些函数所有可能的组合就构成了一个变换群；可以说这个群是由这些函数生成的。这就引出了群论里面的凱萊定理从本质上表明，（在同构意义下）任何群都是某一置换群的子群。

所有双射函数 （称作置-{}-換）的集合构成了一个关于复合算子的群。这就是对称群，有时称作复合群。 

在（所有变换的）对称半群中，我们还可以发现一个较弱的、非唯一的逆变换（称作伪逆），因为对称子群是一个正则半群。

函数幂
如果 ，则  有可能可以与自身复合；这有时候记作 。即： 

更一般地，对于  的自然数， 次函数冪可以归纳定义为 . 这种函数与自身的反复复合称作迭代函数。 
 习惯上， 定义为  定义域上的恒同映射，.
 如果 ，而  存在反函數 ，那么对于 ，负函数幂  定义为反函数的幂：.

注意：若  在一个环内取值（特别是对于实值或复值），存在混淆的风险，因为  也可以表示  的  次乘积，比如 . 对于三角函数，通常会使用后者的含义，至少对于正指数是这样。例如，在三角学中，使用三角函数  的时候，这个上标记号表示标准的指数运算。不过，对于负指数（特别是 −1），则通常指的是反函数，例如，.

在一些情况下，对于给定函数 ，方程  只有一个解  的时候，该函数可以定义为  的函数平方根，记作 .

更一般地，当  只有唯一解时（自然数 ），可以定义为 . 

在额外的限制下，这个想法还可以推广，使得迭代函数可以是一个连续的参数；在此情形下，这样的系统称作流，由施罗德方程定义。迭代函数和流很自然地出现在分形和动力系统的研究中。 

为避免混淆，有些数学家把  的 n 次迭代写作 .

其他记法

许多数学家，特别是群论方面的数学家，省去复合符号，把  写作 .

在20世纪中叶，一些数学家认为用“”来表示“首先施加 ，然后施加 ”太令人困惑，于是决定改变记法。他们用“”来代表“”，用“”来代表“”。 这在某些领域会比函数写在左面更加自然和简便—比如在线性代数中，当  为行向量， 和  表示矩阵，而复合是通过矩陣乘法完成的时候。这种替代记法称作后缀表示法。顺序很重要，因为函数复合不一定是可交换的（比如矩阵乘法）。向右进行施加函数和复合的写法复合从左到右的阅读顺序。

使用后缀表示法的数学家可能会写“”，表示先施加  再施加 ，这样就能与后缀表示法中的符号的顺序保持一致，不过这就会让“”这个记号有歧义了。计算机科学家可能用  来表示 [1] ，这样就能区分出复合的顺序了。要把左复合算子和文本分好区分开来，在Z表示法（Z notation）中 ⨾ 字符用于左关系复合。 由于所有函数都是二元关系，在函数复合中也应该用[粗]分号（参见 关系复合条目了解此记法的详细内容）。

复合算子
给定函数 ，复合算子  定义为使得

的从函数映射到函数的算子。在算子理论领域会研究复合算子。

多元函数
对于多元函数来说，部分复合是有可能的。当函数  的部分参数  由  换掉后得到的结果在一些计算机工程文献中，记作 

当  是一个常数  时，复合退化为一个（部分）求值，其结果就会是限制或者辅因子。

通常，多元函数的复合可能涉及若干其他函数作为参数，如原始递归函数的定义。给定 ，一个  元函数， 个  元函数 ， 与  的复合是  元函数
.

这有时称作 f 与  的广义复合。 在这个一般化的情形中，可以通过把所有这些用作参数的函数合适地选为射影函数，只保留一个参数函数，就能得到前面提到的只有一个参数部分复合的函数。还要注意，在这个一般化情形中， 可以看作是单个向量或元组值函数，这样理解的话，这就是复合函数的标准定义。

某些基本集 X 上的一些有限性运算称作克隆，它们需要包含所有射影，并且在广义复合下封闭。请注意，克隆通常包含各种元数（arity）的运算。 交换的概念在多元情形中叶有一个有意思的推广：如果元数 n的函数 f 是保持 g 的同态函数（g 的元数为 m），则可以说 f与 g 是可交换的，反之亦然。例如：
.

一元运算总是与自己可交换，但二元（或者更多元）运算不一定如此。与自身可交换的二元（或更多元）运算称为medial或entropic。

推广
复合可以推广到任意二元关系。若  与  是两个二元关系，则它们的复合  是定义为 . 考虑二元关系的一个特殊情形（函数关系），复合函数满足关系复合的定义。

偏函数的复合可是用相同方式定义的定义，有一个类似凯莱定理（Cayley's theorem）的定理叫做Wagner-Preston定理。

具有态射函数的集合范畴叫做原型范畴（prototypical category）。范畴的公理实际上受到了复合函数的性质（和定义）启发。 由复合形成的结构在范畴论中被公理化和推广，函数的概念换成了范畴论中的态射。公式  中的反序复合，同样适用于使用逆关系的关系复合，因此在群论中也适用。这些结构形成了dagger范畴。

排版

复合算子  编码为。参见Degree symbol条目中外观类似的Unicode字符。在TeX中，写作\circ。

参见
 组合子逻辑
 
 迭代函数
 
 流
 高阶函数
 ，函数复合的图形方法
 Λ演算
 
 ，复合运算的形式公理化
 随机变量函数

注释

参考文献

外部链接
 
 "Composition of Functions " by Bruce Atwood, the Wolfram Demonstrations Project, 2007.

函数
集合論基本概念
二元運算