| 各種函數 |
| --- |
| *x* ↦ *f* (*x*) |
| 
不同定義域和陪域 |
| 
* {\displaystyle X} → {\displaystyle \mathbb {B} }, {\displaystyle \mathbb {B} } → {\displaystyle X}, {\displaystyle \mathbb {B} ^{n}} → {\displaystyle \mathbb {B} }
* {\displaystyle X} →（英语：） {\displaystyle \mathbb {Z} }, {\displaystyle \mathbb {Z} ^{+}}→ {\displaystyle X}
* {\displaystyle X} →（英语：） {\displaystyle \mathbb {R} }, {\displaystyle \mathbb {R} } → {\displaystyle X}, {\displaystyle \mathbb {R} ^{n}} →（英语：） {\displaystyle X}
* {\displaystyle X} →（英语：） {\displaystyle \mathbb {C} }, {\displaystyle \mathbb {C} } → {\displaystyle X}, {\displaystyle \mathbb {C} ^{n}} →（英语：） {\displaystyle X}

 |
| 函數類/性質 |
| 
* 常值
* 恆等
* 線性
* 多項式
* 有理
* 代數
* 解析
* 光滑
* 連續
* 可測
* 單射
* 满射
* 双射

 |
| 
構造 |
| 
* 限制
* 複合
* λ
* 逆

 |
| 
推廣 |
| 
* 偏（英语：）
* 多值
* 隱

 |
| * 
* 论
* 编
 |

**复合函数**（英語：），又稱作**合成函數**，在数学中是指逐点地把一个函数作用于另一个函数的结果，所得到的第三个函数。例如，函数 *f* : *X* → *Y* 和 *g* : *Y* → *Z* 可以复合，得到从 *X* 中的 *x* 映射到 *Z* 中 *g*(*f*(*x*)) 的函数。直观来说，如果 *z* 是 *y* 的函数，*y* 是 *x* 的函数，那么 *z* 是 *x* 的函数。得到的复合函数记作 *g* ∘ *f* : *X* → *Z*，定义为对 *X* 中的所有 *x*，(*g* ∘ *f* )(*x*) = *g*(*f*(*x*))。 直观地说，复合两个函数是把两个函数链接在一起的过程，内函数的输出就是外函数的输入。

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

定義
--

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

如果我們有兩個函數 {\displaystyle f} 和 {\displaystyle g} ，而兩者的定義域分別是 {\displaystyle D\_{f}} 和 {\displaystyle D\_{g}} ；值域分別是 {\displaystyle I\_{f}} 和 {\displaystyle I\_{g}} 。如果 {\displaystyle I\_{f}\cap D\_{g}\neq \varnothing } ，那我們定義合成函數為 

{\displaystyle g\circ f:=\{(x,\,z)\,|\,(\exists y\in I\_{f}\cap D\_{g})[y=f(x)\wedge z=g(y)]\}}

直觀上來說，如果 {\displaystyle f} 的"輸出範圍"是有一部分在 {\displaystyle g} 的"輸入範圍"，那我們就可以定義"先作用 {\displaystyle f} 再作用 {\displaystyle g} "的函數，但這個"新合成"的函數的定義域可能會因此被限縮（輸出值處在兩者交集的那些 {\displaystyle x} 而已）。注意到每個 {\displaystyle x} 只會有一個輸出值 {\displaystyle y} ，而每個 {\displaystyle y} 只會有一個輸出值 {\displaystyle z} ，所以這樣"先作用 {\displaystyle f} 再作用 {\displaystyle g} "的話，每個 {\displaystyle x} 只會有一個輸出值 {\displaystyle z} 而已，這確保了 {\displaystyle g\circ f} 符合我們對函數的要求。

绝对值函数与三次函數，两个实函数以不同的次序复合。这表明了函数复合不遵守交换律
当 {\displaystyle g\circ f=f\circ g} 时（注意這是集合的相等！），我们会说 {\displaystyle g} 和 {\displaystyle f} 是可交换的。

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

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

例子
--

*g* ∘ *f* ，*f* 与 *g* 的复合。例如，(*g* ∘ *f* )(c) = #.
两个函数复合的具体例子
* 有限集上的函数复合：若 *f* = {(1, 3), (2, 1), (3, 4), (4, 6)}，*g* = {(1, 5), (2, 3), (3, 4), (4, 1), (5, 3), (6, 2)}，则 *g* ∘ *f* = {(1, 4), (2, 5), (3, 1), (4, 2)}.
* 无限集上的函数复合：若 *f*: ℝ → ℝ （其中 ℝ 是所有实数的集合）表达式为 *f*(*x*) = 2*x* + 4，而 *g*: ℝ → ℝ 表达式为 *g*(*x*) = *x*3，则：

(*f* ∘ *g*)(*x*) = *f*(*g*(*x*)) = *f*(*x*3) = 2*x*3 + 4, and
(*g* ∘ *f*)(*x*) = *g*(*f*(*x*)) = *g*(2*x* + 4) = (2*x* + 4)3.
* 如果一架飞机在 *t* 时刻的海拔为 *h*(*t*)，而海拔 *x* 处的氧气浓度为 *c*(*x*)，那么 (*c* ∘ *h*)(*t*) 描述了 *t* 时刻飞机周围的氧气浓度。

复合幺半群
-----

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

把△*EFA*变换为△ATB的相似性是位似 *H* 和以 *S* 为中心的旋转 *R* 的复合。例如，*A* 在旋转R下的像是 *U*，可以写作*R* (*A*) = *U*。而 *H*(*U*) = *B* 表示映射 *H* 把 *U* 变换到了 *B*。因此，*H*(*R* (*A*)) = (*H ∘ R* )(*A*) = *B*。
如果变换是双射（也就可逆），则这些函数所有可能的组合就构成了一个变换群；可以说这个群是由这些函数生成的。这就引出了群论里面的凱萊定理从本质上表明，（在同构意义下）任何群都是某一置换群的子群。

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

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

函数幂
---

如果 *Y* ⊆ *X*，则 *f*: *X*→*Y* 有可能可以与自身复合；这有时候记作 *f* 2。即： 

(*f* ∘ *f*)(x) = *f*(*f*(*x*)) = *f* 2(*x*)
(*f* ∘ *f* ∘ *f*)(x) = *f*(*f*(*f*(*x*))) = *f* 3(*x*)
(*f* ∘ *f* ∘ *f* ∘ *f*)(x) = *f*(*f*(*f*(*f*(*x*)))) = *f* 4(*x*)
更一般地，对于 *n* ≥ 2 的自然数，*n* 次**函数冪**可以归纳定义为 *f* *n* = *f* ∘ *f* *n*−1 = *f* *n*−1 ∘ *f*. 这种函数与自身的反复复合称作**迭代函数**。 

* 习惯上，*f* 0 定义为 *f* 定义域上的恒同映射，*id**X*.
* 如果 *Y* = *X*，而 *f*: *X* → *X* 存在反函數 *f* −1，那么对于 *n* > 0，负函数幂 *f* −*n* 定义为反函数的幂：*f* −*n* = (*f* −1)*n*.

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

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

更一般地，当 *g**n* = *f* 只有唯一解时（自然数 *n* > 0），*f* *m*/*n*可以定义为 *g**m*. 

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

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

其他记法
----

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

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

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

复合算子
----

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

{\displaystyle C\_{g}f=f\circ g.}
的从函数映射到函数的算子。在算子理论领域会研究复合算子。

多元函数
----

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

{\displaystyle f|\_{x\_{i}=g}=f(x\_{1},\ldots ,x\_{i-1},g(x\_{1},x\_{2},\ldots ,x\_{n}),x\_{i+1},\ldots ,x\_{n}).}
当 *g* 是一个常数 *b* 时，复合退化为一个（部分）求值，其结果就会是限制或者辅因子。

{\displaystyle f|\_{x\_{i}=b}=f(x\_{1},\ldots ,x\_{i-1},b,x\_{i+1},\ldots ,x\_{n}).}
通常，多元函数的复合可能涉及若干其他函数作为参数，如原始递归函数的定义。给定 *f*，一个 *n* 元函数，*n* 个 *m* 元函数 *g*1, ... *g**n*，*f* 与 *g*1, ... *g**n* 的复合是 *m* 元函数

{\displaystyle h(x\_{1},\ldots ,x\_{m})=f(g\_{1}(x\_{1},\ldots ,x\_{m}),\ldots ,g\_{n}(x\_{1},\ldots ,x\_{m}))}.
这有时称作 *f* 与 *g*1, ... *g**n* 的**广义复合**。 在这个一般化的情形中，可以通过把所有这些用作参数的函数合适地选为射影函数，只保留一个参数函数，就能得到前面提到的只有一个参数部分复合的函数。还要注意，在这个一般化情形中，*g*1, ... *g**n* 可以看作是单个向量或元组值函数，这样理解的话，这就是复合函数的标准定义。

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

{\displaystyle f(g(a\_{11},\ldots ,a\_{1m}),\ldots ,g(a\_{n1},\ldots ,a\_{nm}))=g(f(a\_{11},\ldots ,a\_{n1}),\ldots ,f(a\_{1m},\ldots ,a\_{nm}))}.
一元运算总是与自己可交换，但二元（或者更多元）运算不一定如此。与自身可交换的二元（或更多元）运算称为medial或entropic。

推广
--

复合可以推广到任意二元关系。若 *R* ⊆ *X* × *Y* 与 *S* ⊆ *Y* × *Z* 是两个二元关系，则它们的复合 *S*∘*R* 是定义为 {(*x*, *z*) ∈ *X* × *Z* : ∃*y* ∈ *Y*. (*x*, *y*) ∈ *R* ∧ (*y*, *z*) ∈ *S*}. 考虑二元关系的一个特殊情形（函数关系），复合函数满足关系复合的定义。

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

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

排版
--

复合算子 ∘  编码为U+2218 ∘ RING OPERATOR ，HTML：`&#8728;`。参见Degree symbol条目中外观类似的Unicode字符。在TeX中，写作`\circ`。

参见
--

* 组合子逻辑
* 函数分解（英语：）
* 迭代函数
* 解析函数的无限复合（英语：）
* 流
* 高阶函数
* 蛛网图（英语：），函数复合的图形方法
* Λ演算
* 函数平方根（英语：）
* 复合环（英语：），复合运算的形式公理化
* 随机变量函数

参考文献
----

1. ↑  Daniel J. Velleman.. Cambridge University Press. 2006: 232. ISBN 978-1-139-45097-3.
2. ↑  Christopher Hollings.. American Mathematical Society. 2014: 334. ISBN 978-1-4704-1493-1.
3. ↑  Pierre A. Grillet.. CRC Press. 1995: 2. ISBN 978-0-8247-9662-4.
4. ↑  Pál Dömösi; Chrystopher L. Nehaniv.. SIAM. 2005: 8. ISBN 978-0-89871-569-9.
5. ↑  Nathan Carter.. MAA. 9 April 2009: 95. ISBN 978-0-88385-757-1.
6. ↑  Olexandr Ganyushkin; Volodymyr Mazorchuk.. Springer Science & Business Media. 2008: 24. ISBN 978-1-84800-281-4.
7. ↑  Oleg A. Ivanov.. American Mathematical Soc. 1 January 2009: 217–. ISBN 978-0-8218-4808-1.
8. ↑  Jean Gallier.. Springer. 2011: 118  [2018-08-05]. ISBN 978-1-4419-8047-2. （原始内容存档于2019-06-06）.
9. ↑  ISO/IEC 13568:2002(E), p. 23
10. ↑  Bryant, R.E.  (PDF). IEEE Transactions on Computers. August 1986, **C–35** (8): 677–691  [2018-08-05]. doi:10.1109/tc.1986.1676819. （原始内容存档 (PDF)于2020-11-29）.
11. 1 2  Clifford Bergman.. CRC Press. 2011: 79–80. ISBN 978-1-4398-5129-6.
12. ↑  George Tourlakis.. John Wiley & Sons. 2012: 100. ISBN 978-1-118-31533-0.
13. 1 2  Clifford Bergman.. CRC Press. 2011: 90–91. ISBN 978-1-4398-5129-6.
14. ↑  S. Lipscomb, "Symmetric Inverse Semigroups", AMS Mathematical Surveys and Monographs (1997), ISBN 0-8218-0627-0, p. xv
15. ↑  Peter Hilton; Yel-Chiang Wu.. John Wiley & Sons. 1989: 65. ISBN 978-0-471-50405-4.

外部链接
----

* Hazewinkel, Michiel (编), , Springer, 2001, ISBN 978-1-55608-010-4
* "Composition of Functions （页面存档备份，存于）" by Bruce Atwood, the Wolfram Demonstrations Project, 2007.