复合函数
复合函数(Template:Lang-en),又稱作合成函數,在数学中是指逐点地把一个函数作用于另一个函数的结果,所得到的第三个函数。例如,函数 Template:Math 和 Template:Math 可以复合,得到从 Template:Math 中的 Template:Math 映射到 Template:Math 中 Template:Math 的函数。直观来说,如果 Template:Math 是 Template:Math 的函数,Template:Math 是 Template:Math 的函数,那么 Template:Math 是 Template:Math 的函数,得到的复合函数记作 Template:Math,定义为对 Template:Math 中的所有 Template:Math,Template:Math。[note 1] 直观地说,复合两个函数是把两个函数链接在一起的过程,内函数的输出就是外函数的输入。
函数的复合是关系复合的一个特例,因此复合关系的所有性质也适用于函数的复合。[1] 复合函数还有一些其他性质。
定義
考慮到函數的值域跟定义域,要簡單的以“計算式”,如把所有 和 的有序对頭接尾的這樣直觀定義“合成”是會遇到問題的,像是把 取為实数,這樣把 很自然的對接到 然後開根號成 ,是會遇到對負數開根號,出現非單一值的問題(請參見棣莫弗公式),就算不考慮單一值的問題,我們期望的“合成函數”的值域到底該不該包含複數呢?所以 (1) 我們一開始就要把準備“合成”的兩個函數的值域跟定義域劃分清楚 (2) 要考慮到對接的時候,前面的值域跟後面的值域不一定相等的問題。
设我們有兩個函數 和 ,兩者的定義域分別是 和 ,值域分別是 和 。如果 ,那我們定義合成函數為
直觀上來說,如果
的“輸出範圍”是有一部分在
的“輸入範圍”,那我們就可以定義“先作用
再作用
”的函數,但這個“新合成”的函數的定義域可能會因此被限縮(輸出值處在兩者交集的那些
而已)。注意到每個
只會有一個輸出值
,而每個
只會有一個輸出值
,所以這樣“先作用
再作用
”的話,每個
只會有一個輸出值
而已,這確保了
符合我們對函數的要求。

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


- 有限集上的函数复合:若 Template:Math,Template:Math,则 Template:Math.
- 无限集上的函数复合:若 Template:Math (其中 Template:Math 是所有实数的集合)表达式为 Template:Math,而 Template:Math 表达式为 Template:Math,则:
- 如果一架飞机在 Template:Math 时刻的海拔为 Template:Math,而海拔 Template:Math 处的氧气浓度为 Template:Math,那么 Template:Math 描述了 Template:Math 时刻飞机周围的氧气浓度。
复合幺半群
假设我们有两个(或多个)函数 Template:Math Template:Math,定义域与到达域相同;这些函数一般称作变换。于是,我们可以构造多个变换复合而成的链,比如 Template:Math。这种链具有幺半群的代数结构,称作变换幺半群或者复合幺半群。通常,变换幺半群可以具有非常复杂的结构。一个很有名的例子是德拉姆曲线。所有函数 Template:Math 的集合称作 Template:Math 上的全变换半群[2]或对称半群[3]。(我们其实可以定义两个半群,这取决于定义半群运算为函数左复合和右复合的方式。[4])

如果变换是双射(也就可逆),则这些函数所有可能的组合就构成了一个变换群;可以说这个群是由这些函数生成的。这就引出了群论里面的凱萊定理从本质上表明,(在同构意义下)任何群都是某一置换群的子群。[5]
所有双射函数 Template:Math(称作置-{}-換)的集合构成了一个关于复合算子的群。这就是对称群,有时称作复合群。
在(所有变换的)对称半群中,我们还可以发现一个较弱的、非唯一的逆变换(称作伪逆),因为对称子群是一个正则半群。[6]
函数幂
如果 Template:Math,则 Template:Math 有可能可以与自身复合;这有时候记作 Template:Math。即:
更一般地,对于 Template:Math 的自然数,Template:Math 次函数冪可以归纳定义为 Template:Math. 这种函数与自身的反复复合称作迭代函数。
- 习惯上,Template:Math 定义为 Template:Math 定义域上的恒同映射,Template:Math.
- 如果 Template:Math,而 Template:Math 存在反函數 Template:Math,那么对于 Template:Math,负函数幂 Template:Math 定义为反函数的幂:Template:Math.
注意:若 Template:Math 在一个环内取值(特别是对于实值或复值Template:Math),存在混淆的风险,因为 Template:Math 也可以表示 Template:Math 的 Template:Math 次乘积,比如 Template:Math. 对于三角函数,通常会使用后者的含义,至少对于正指数是这样。例如,在三角学中,使用三角函数 Template:Math 的时候,这个上标记号表示标准的指数运算。不过,对于负指数(特别是 −1),则通常指的是反函数,例如,Template:Math.
在一些情况下,对于给定函数 Template:Math,方程 Template:Math 只有一个解 Template:Math 的时候,该函数可以定义为 Template:Math 的函数平方根,记作 Template:Math.
更一般地,当 Template:Math 只有唯一解时(自然数 Template:Math),Template:Math可以定义为 Template:Math.
在额外的限制下,这个想法还可以推广,使得迭代函数可以是一个连续的参数;在此情形下,这样的系统称作流,由施罗德方程定义。迭代函数和流很自然地出现在分形和动力系统的研究中。
为避免混淆,有些数学家把 Template:Mvar 的 n 次迭代写作 Template:Math.
其他记法
许多数学家,特别是群论方面的数学家,省去复合符号,把 Template:Math 写作 Template:Math.[7]
在20世纪中叶,一些数学家认为用“Template:Math”来表示“首先施加 Template:Math,然后施加 Template:Math”太令人困惑,于是决定改变记法。他们用“Template:Math”来代表“Template:Math”,用“Template:Math”来代表“Template:Math”。[8] 这在某些领域会比函数写在左面更加自然和简便—比如在线性代数中,当 Template:Math 为行向量,Template:Math 和 Template:Math 表示矩阵,而复合是通过矩陣乘法完成的时候。这种替代记法称作后缀表示法。顺序很重要,因为函数复合不一定是可交换的(比如矩阵乘法)。向右进行施加函数和复合的写法复合从左到右的阅读顺序。
使用后缀表示法的数学家可能会写“Template:Math”,表示先施加 Template:Math 再施加 Template:Math,这样就能与后缀表示法中的符号的顺序保持一致,不过这就会让“Template:Math”这个记号有歧义了。计算机科学家可能用 Template:Math 来表示 [1] ,这样就能区分出复合的顺序了。要把左复合算子和文本分好区分开来,在Z表示法(Z notation)中 ⨾ 字符用于左关系复合。[9] 由于所有函数都是二元关系,在函数复合中也应该用[粗]分号(参见 关系复合条目了解此记法的详细内容)。
复合算子
给定函数 Template:Math,复合算子 Template:Math 定义为使得
的从函数映射到函数的算子。在算子理论领域会研究复合算子。
多元函数
对于多元函数来说,部分复合是有可能的。当函数 Template:Math 的部分参数 Template:Math 由 Template:Math 换掉后得到的结果在一些计算机工程文献中,记作 Template:Math
当 Template:Math 是一个常数 Template:Math 时,复合退化为一个(部分)求值,其结果就会是限制或者辅因子。[10]
通常,多元函数的复合可能涉及若干其他函数作为参数,如原始递归函数的定义。给定 Template:Math,一个 Template:Math 元函数,Template:Math 个 Template:Math 元函数 Template:Math,Template:Math 与 Template:Math 的复合是 Template:Math 元函数
- .
这有时称作 f 与 Template:Math 的广义复合。[11] 在这个一般化的情形中,可以通过把所有这些用作参数的函数合适地选为射影函数,只保留一个参数函数,就能得到前面提到的只有一个参数部分复合的函数。还要注意,在这个一般化情形中,Template:Math 可以看作是单个向量或元组值函数,这样理解的话,这就是复合函数的标准定义。[12]
某些基本集 X 上的一些有限性运算称作克隆,它们需要包含所有射影,并且在广义复合下封闭。请注意,克隆通常包含各种元数(arity)的运算。[11] 交换的概念在多元情形中叶有一个有意思的推广:如果元数 n的函数 f 是保持 g 的同态函数(g 的元数为 m),则可以说 f与 g 是可交换的,反之亦然。例如:[13]
- .
一元运算总是与自己可交换,但二元(或者更多元)运算不一定如此。与自身可交换的二元(或更多元)运算称为medial或entropic。[13]
推广
复合可以推广到任意二元关系。若 Template:Math 与 Template:Math 是两个二元关系,则它们的复合 Template:Math 是定义为 Template:Math. 考虑二元关系的一个特殊情形(函数关系),复合函数满足关系复合的定义。
偏函数的复合可是用相同方式定义的定义,有一个类似凯莱定理(Cayley's theorem)的定理叫做Wagner-Preston定理。[14]
具有态射函数的集合范畴叫做原型范畴(prototypical category)。范畴的公理实际上受到了复合函数的性质(和定义)启发。[15] 由复合形成的结构在范畴论中被公理化和推广,函数的概念换成了范畴论中的态射。公式 Template:Math 中的反序复合,同样适用于使用逆关系的关系复合,因此在群论中也适用。这些结构形成了dagger范畴。
排版
复合算子 Template:Math 编码为Template:Unichar。参见Degree symbol条目中外观类似的Unicode字符。在TeX中,写作\circ。
参见
- 组合子逻辑
- Template:Le
- 迭代函数
- Template:Le
- 流
- 高阶函数
- Template:Le,函数复合的图形方法
- Λ演算
- Template:Le
- Template:Le,复合运算的形式公理化
- 随机变量函数
注释
参考文献
外部链接
- Template:Springer
- "Composition of Functions Template:Wayback" by Bruce Atwood, the Wolfram Demonstrations Project, 2007.
引用错误:名称为“note”的group(分组)存在<ref>标签,但未找到对应的<references group="note"/>标签
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ Template:Cite book
- ↑ ISO/IEC 13568:2002(E), p. 23
- ↑ Template:Cite journal
- ↑ 11.0 11.1 Template:Cite book
- ↑ Template:Cite book
- ↑ 13.0 13.1 Template:Cite book
- ↑ S. Lipscomb, "Symmetric Inverse Semigroups", AMS Mathematical Surveys and Monographs (1997), Template:Isbn, p. xv
- ↑ Template:Cite book