複合函數

複合函數（composite function），又稱作合成函數，在數學中是指逐點地把一個函數作用於另一個函數的結果，所得到的第三個函數。例如，函數 f : X → Y 和 g : Y → Z 可以複合，得到從 X 中的 x 映射到 Z 中 g(f(x)) 的函數。直觀來說，如果 z 是 y 的函數，y 是 x 的函數，那麼 z 是 x 的函數，得到的複合函數記作 g ∘ f : X → Z，定義為對 X 中的所有 x，1=(g ∘ f )(x) = g(f(x))。 直觀地說，複合兩個函數是把兩個函數鏈接在一起的過程，內函數的輸出就是外函數的輸入。
函數的複合是關係複合的一個特例，因此複合關係的所有性質也適用於函數的複合。 複合函數還有一些其他性質。

**定義**
考慮到函數的值域跟定義域，要簡單的以“計算式”，如把所有  和  的有序對頭接尾的這樣直觀定義“合成”是會遇到問題的，像是把  取為實數，這樣把  很自然的對接到  然後開根號成  ，是會遇到對負數開根號，出現非單一值的問題（請參見棣莫弗公式），就算不考慮單一值的問題，我們期望的“合成函數”的值域到底該不該包含複數呢？所以 (1) 我們一開始就要把準備“合成”的兩個函數的值域跟定義域劃分清楚 (2) 要考慮到對接的時候，前面的值域跟後面的值域不一定相等的問題。 
設我們有兩個函數  和  ，兩者的定義域分別是  和 ，值域分別是  和 。如果   ，那我們定義合成函數為 
 
直觀上來說，如果  的“輸出範圍”是有一部分在  的“輸入範圍”，那我們就可以定義“先作用  再作用  ”的函數，但這個“新合成”的函數的定義域可能會因此被限縮（輸出值處在兩者交集的那些  而已）。注意到每個  只會有一個輸出值  ，而每個  只會有一個輸出值  ，所以這樣“先作用  再作用  ”的話，每個  只會有一個輸出值  而已，這確保了  符合我們對函數的要求。絕對值函數與三次函數，兩個實函數以不同的次序複合。這表明了函數複合不遵守交換律
當  時（注意這是集合的相等！），我們會說  和  是可交換的。
兩個一對一函數的合成函數也是一對一的。
涉及到可導函數的複合函數的導數，可以用鏈式法則求得。Faà di Bruno公式給出了複合函數的高階導數的表達式。

**例子**
g ∘ f ，f 與 g 的複合。例如，1=(g ∘ f )(c) = #.
兩個函數複合的具體例子- 有限集上的函數複合：若 ，，則 .- 無限集上的函數複合：若 f: ℝ → ℝ （其中 ℝ 是所有實數的集合）表達式為 1=f(x) = 2x + 4，而 g: ℝ → ℝ 表達式為 1=g(x) = x3，則： 
1=(f ∘ g)(x) = f(g(x)) = f(x3) = 2x3 + 4，且 
1=(g ∘ f)(x) = g(f(x)) = g(2x + 4) = (2x + 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 上的全變換半群或對稱半群。（我們其實可以定義兩個半群，這取決於定義半群運算為函數左複合和右複合的方式。） 
相似性是位似 H 和以 S 為中心的旋轉 R 的複合。例如，A 在旋轉R下的像是 U，可以寫作。而  表示映射 H 把 U 變換到了 B。因此，。
如果變換是雙射（也就可逆），則這些函數所有可能的組合就構成了一個變換群；可以說這個群是由這些函數生成的。這就引出了群論裡面的凱萊定理從本質上表明，（在同構意義下）任何群都是某一置換群的子群。
所有雙射函數 f: X → X（稱作置-{}-換）的集合構成了一個關於複合算子的群。這就是對稱群，有時稱作複合群。 
在（所有變換的）對稱半群中，我們還可以發現一個較弱的、非唯一的逆變換（稱作偽逆），因為對稱子群是一個正則半群。

**函數冪**
如果 math|Y ⊆ X，則 f: X→Y 有可能可以與自身複合；這有時候記作 f 2。即： 
1=(f ∘ f)(x) = f(f(x)) = f 2(x)
1=(f ∘ f ∘ f)(x) = f(f(f(x))) = f 3(x)
1=(f ∘ f ∘ f ∘ f)(x) = f(f(f(f(x)))) = f 4(x)
更一般地，對於 n ≥ 2 的自然數，n 次函數冪可以歸納定義為 1=f n = f ∘ f n−1 = f n−1 ∘ f. 這種函數與自身的反覆複合稱作迭代函數。 - 習慣上，f 0 定義為 f 定義域上的恆同映射，idX.- 如果 1=Y = X，而 f: X → X 存在反函數 f −1，那麼對於 n > 0，負函數冪 f −n 定義為反函數的冪：1=f −n = (f −1)n.
注意：若 f 在一個環內取值（特別是對於實值或復值f），存在混淆的風險，因為 f n 也可以表示 f 的 n 次乘積，比如 1=f 2(x) = f(x) · f(x). 對於三角函數，通常會使用後者的含義，至少對於正指數是這樣。例如，在三角學中，使用三角函數 1=sin2(x) = sin(x) · sin(x) 的時候，這個上標記號表示標準的指數運算。不過，對於負指數（特別是 −1），則通常指的是反函數，例如，1=tan−1 = arctan ≠ 1/tan.
在一些情況下，對於給定函數 f，方程 1=g ∘ g = f 只有一個解 g 的時候，該函數可以定義為 f 的函數平方根，記作 1=g = f 1/2.
更一般地，當 1=gn = f 只有唯一解時（自然數 n > 0），f m/n可以定義為 gm. 
在額外的限制下，這個想法還可以推廣，使得迭代函數可以是一個連續的參數；在此情形下，這樣的系統稱作流，由施羅德方程定義。迭代函數和流很自然地出現在分形和動力系統的研究中。 
為避免混淆，有些數學家把 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，複合算子 Cg 定義為使得
:
的從函數映射到函數的算子。在算子理論領域會研究複合算子。

**多元函數**
對於多元函數來說，部分複合是有可能的。當函數 f 的部分參數 xi 由 g 換掉後得到的結果在一些計算機工程文獻中，記作 

當 g 是一個常數 b 時，複合退化為一個（部分）求值，其結果就會是限制或者輔因子。

通常，多元函數的複合可能涉及若干其他函數作為參數，如原始遞歸函數的定義。給定 f，一個 n 元函數，n 個 m 元函數 g1, ..., gn，f 與 g1, ..., gn 的複合是 m 元函數
.
這有時稱作 f 與 g1, ..., gn 的廣義複合。 在這個一般化的情形中，可以通過把所有這些用作參數的函數合適地選為射影函數，只保留一個參數函數，就能得到前面提到的只有一個參數部分複合的函數。還要注意，在這個一般化情形中，g1, ..., gn 可以看作是單個向量或元組值函數，這樣理解的話，這就是複合函數的標準定義。
某些基本集 X 上的一些有限性運算稱作克隆，它們需要包含所有射影，並且在廣義複合下封閉。請注意，克隆通常包含各種元數（arity）的運算。 交換的概念在多元情形中葉有一個有意思的推廣：如果元數 n的函數 f 是保持 g 的同態函數（g 的元數為 m），則可以說 f與 g 是可交換的，反之亦然。例如：
.
一元運算總是與自己可交換，但二元（或者更多元）運算不一定如此。與自身可交換的二元（或更多元）運算稱為medial或entropic。

**推廣**
複合可以推廣到任意二元關係。若 math|R ⊆ X × Y 與 S ⊆ Y × Z 是兩個二元關係，則它們的複合 S∘R 是定義為 . 考慮二元關係的一個特殊情形（函數關係），複合函數滿足關係複合的定義。
偏函數的複合可是用相同方式定義的定義，有一個類似凱萊定理（Cayley's theorem）的定理叫做Wagner-Preston定理。
具有態射函數的集合範疇叫做原型範疇（prototypical category）。範疇的公理實際上受到了複合函數的性質（和定義）啟發。 由複合形成的結構在範疇論中被公理化和推廣，函數的概念換成了範疇論中的態射。公式 1=(f ∘ g)−1 = (g−1 ∘ f −1) 中的反序複合，同樣適用於使用逆關係的關係複合，因此在群論中也適用。這些結構形成了dagger範疇。

**排版**
複合算子 ∘  編碼為html=。參見Degree symbol條目中外觀類似的Unicode字符。在TeX中，寫作\circ。

**參見**
 組合子邏輯- Functional decomposition- 迭代函數- Infinite compositions of analytic functions- 流- 高階函數- Cobweb plot，函數複合的圖形方法- Λ演算- Functional square root- Composition ring，複合運算的形式公理化- 隨機變量函數

**註釋**

**參考文獻**

**外部鏈接**
 id=p/c024260- " Composition of Functions date=20201122101708 " by Bruce Atwood, the Wolfram Demonstrations Project, 2007.