在哈密頓力學裏，當計算正則變換時，**生成函數**扮演的角色，好似在兩組正則坐標 ({\mathbf {q}},\ {\mathbf {p}}) ，({\mathbf {Q}},\ {\mathbf {P}}) 之間的一座橋。為了要保證正則變換的正確性 ，採取一種間接的方法，稱為**生成函數方法**。這兩組變數必須符合方程式

\mathbf{p}\cdot\dot{\mathbf{q}} - \mathcal{H}=\mathbf{P}\cdot\dot{\mathbf{Q}} - \mathcal{K}+\frac{dG}{dt} ；(1)
其中，\mathbf{q}=(q\_1,\ q\_2,\ \dots,\ q\_N) 是舊廣義坐標，\mathbf{p}=(p\_1,\ p\_2,\ \dots,\ p\_N) 是舊廣義動量，\mathbf{Q}=(Q\_1,\ Q\_2,\ \dots,\ Q\_N) 是新廣義坐標，\mathbf{P}=(P\_1,\ P\_2,\ \dots,\ P\_N) 是新廣義動量，\mathcal{H}(\mathbf{q},\ \mathbf{p},\ t),\ \mathcal{K}(\mathbf{Q},\ \mathbf{P},\ t) 分別為舊哈密頓量與新哈密頓量，G(-,\ -,\ t) 是**生成函數**，t 是時間。

生成函數 G 的參數，除了時間以外，一半是舊的正則坐標；另一半是新的正則坐標。視選擇出來不同的變數而定，一共有四種基本的生成函數。每一種基本生成函數設定一種不同的變換，從舊的一組正則坐標變換為新的一組正則坐標。這變換 (\mathbf{q},\ \mathbf{p}) \rightarrow (\mathbf{Q},\ \mathbf{P}) 保證是正則變換。

生成函數列表
------

| 生成函數 | 導數 |
| --- | --- |
| {\displaystyle G=G\_{1}(\mathbf {q} ,\ \mathbf {Q} ,\ t)} | {\displaystyle \mathbf {p} =~~{\frac {\partial G\_{1}}{\partial \mathbf {q} }}\ ,\qquad \mathbf {P} =-{\frac {\partial G\_{1}}{\partial \mathbf {Q} }}} |
| {\displaystyle G=G\_{2}(\mathbf {q} ,\ \mathbf {P} ,\ t)-\mathbf {Q} \mathbf {P} } | {\displaystyle \mathbf {p} =~~{\frac {\partial G\_{2}}{\partial \mathbf {q} }}\ ,\qquad \mathbf {Q} =~~{\frac {\partial G\_{2}}{\partial \mathbf {P} }}} |
| {\displaystyle G=G\_{3}(\mathbf {p} ,\ \mathbf {Q} ,\ t)+\mathbf {q} \mathbf {p} } | {\displaystyle \mathbf {q} =-{\frac {\partial G\_{3}}{\partial \mathbf {p} }}\ ,\qquad \mathbf {P} =-{\frac {\partial G\_{3}}{\partial \mathbf {Q} }}} |
| {\displaystyle G=G\_{4}(\mathbf {p} ,\ \mathbf {P} ,\ t)+\mathbf {q} \mathbf {p} -\mathbf {Q} \mathbf {P} } | {\displaystyle \mathbf {q} =-{\frac {\partial G\_{4}}{\partial \mathbf {p} }}\ ,\qquad \mathbf {Q} =~~{\frac {\partial G\_{4}}{\partial \mathbf {P} }}} |

第一型生成函數
-------

第一型生成函數 G\_{1} 只跟舊廣義坐標、新廣義坐標有關，

G=G\_{1}(\mathbf{q},\ \mathbf{Q},\ t) 。
代入方程式 (1) 。展開生成函數對於時間的全導數，

{\displaystyle \mathbf {p} \cdot {\dot {\mathbf {q} }}-{\mathcal {H}}(\mathbf {q} ,\ \mathbf {p} ,\ t)=\mathbf {P} \cdot {\dot {\mathbf {Q} }}-{\mathcal {K}}(\mathbf {Q} ,\ \mathbf {P} ,t)+{\frac {\partial G\_{1}}{\partial t}}+{\frac {\partial G\_{1}}{\partial \mathbf {q} }}\cdot {\dot {\mathbf {q} }}+{\frac {\partial G\_{1}}{\partial \mathbf {Q} }}\cdot {\dot {\mathbf {Q} }}} 。
新廣義坐標 {\mathbf {Q}} 和舊廣義坐標 \mathbf{q} 都是自變量，其對於時間的全導數 \dot{\mathbf{Q}} 和 \dot{\mathbf{q}} 互相無關，所以，以下 2N+1 個方程式都必須成立：

\mathbf{p} = ~~\frac{\partial G\_{1}}{\partial \mathbf{q}} ，(2)
\mathbf{P} = -\frac{\partial G\_{1}}{\partial \mathbf{Q}} ，(3)
\mathcal{K} = \mathcal{H} + \frac{\partial G\_{1}}{\partial t} 。(4)
這 2N+1 個方程式設定了變換 (\mathbf{q},\ \mathbf{p}) \rightarrow (\mathbf{Q},\ \mathbf{P}) ，步驟如下：

第一組的 N 個方程式 (2) ，設定了 \mathbf{p} 的 N 個函數方程式

\mathbf{p}=\mathbf{p}(\mathbf{q},\ \mathbf{Q},\ t) 。
在理想情況下，這些方程式可以逆算出 {\mathbf {Q}} 的 N 個函數方程式

\mathbf{Q}=\mathbf{Q}(\mathbf{q},\ \mathbf{p},\ t) 。(5)
第二組的 N 個方程式 (3) ，設定了 \mathbf {P}  的 N 個函數方程式

\mathbf{P}=\mathbf{P}(\mathbf{q},\ \mathbf{Q},\ t) 。
代入函數方程式 (5) ，可以算出 \mathbf {P}  的 N 個函數方程式

\mathbf{P}=\mathbf{P}(\mathbf{q},\ \mathbf{p},\ t) 。(6)
從 2N 個函數方程式 (5) 、(6) ，可以逆算出 2N 個函數方程式

\mathbf{q}=\mathbf{q}(\mathbf{Q},\ \mathbf{P},\ t) ，
\mathbf{p}=\mathbf{p}(\mathbf{Q},\ \mathbf{P},\ t) 。
代入新哈密頓量 {\mathcal {K}} 的方程式 (4) ，可以得到

\mathcal{K} =\mathcal{K}(\mathbf{Q},\ \mathbf{P},\ t) 。

第二型生成函數
-------

第二型生成函數 G\_{2} 只跟舊廣義坐標 \mathbf{q} 、新廣義動量 \mathbf {P}  有關 ：

{\displaystyle G\equiv -\mathbf {Q} \cdot \mathbf {P} +G\_{2}(\mathbf {q} ,\ \mathbf {P} ,\ t)} ；
代入方程式 (1) 。展開生成函數隨時間的全導數：

{\displaystyle \mathbf {p} \cdot {\dot {\mathbf {q} }}-{\mathcal {H}}(\mathbf {q} ,\mathbf {p} ,t)=-\mathbf {Q} \cdot {\dot {\mathbf {P} }}-{\mathcal {K}}(\mathbf {Q} ,\mathbf {P} ,t)+{\frac {\partial G\_{2}}{\partial t}}+{\frac {\partial G\_{2}}{\partial \mathbf {q} }}\cdot {\dot {\mathbf {q} }}+{\frac {\partial G\_{2}}{\partial \mathbf {P} }}\cdot {\dot {\mathbf {P} }}} 。
由於舊廣義坐標 \mathbf{q} 與新廣義動量 \mathbf {P}  必須彼此無關，以下 2N+1 方程式必須成立：

\mathbf{p} = \frac{\partial G\_{2}}{\partial \mathbf{q}} ，(7)　
\mathbf{Q} = \frac{\partial G\_{2}}{\partial \mathbf{P}} ，(8)
\mathcal{K} = \mathcal{H} + \frac{\partial G\_{2}}{\partial t} 。(9)
這 2N+1 個方程式設定了變換 (\mathbf{q},\ \mathbf{p}) \rightarrow (\mathbf{Q},\ \mathbf{P}) 。步驟如下：

第一組的 N 個方程式 (7) ，設定了 \mathbf{p} 的函數方程式

{\displaystyle \mathbf {p} =\mathbf {p} (\mathbf {q} ,\ \mathbf {P} ,\ t)} 。
在理想情況下，這些方程式可以逆算出 \mathbf {P}  的函數方程式

\mathbf{P}=\mathbf{P}(\mathbf{q},\ \mathbf{p},\ t) 。(10)
第二組的 N 個方程式 (8) ，設定了的函數方程式

{\displaystyle \mathbf {Q} =\mathbf {Q} (\mathbf {q} ,\ \mathbf {P} ,\ t)} 。
代入函數方程式 (10) ，可以算出 {\mathbf {Q}} 函數方程式

\mathbf{Q}=\mathbf{Q}(\mathbf{q},\ \mathbf{p},\ t) 。(11)
由函數方程式 (10) 、(11) ，可以算出函數方程式

\mathbf{q}=\mathbf{q}(\mathbf{Q},\ \mathbf{P},\ t) ，
\mathbf{p}=\mathbf{p}(\mathbf{Q},\ \mathbf{P},\ t) 。
代入新哈密頓量的方程式 (9) ，則可得到

\mathcal{K} =\mathcal{K}(\mathbf{Q},\ \mathbf{P},\ t) 。

第三型生成函數
-------

第三型生成函數只跟舊廣義動量 \mathbf{p} 、新廣義坐標 {\mathbf {Q}} 有關： 

{\displaystyle G\equiv \mathbf {q} \cdot \mathbf {p} +G\_{3}(\mathbf {p} ,\ \mathbf {Q} ,\ t)} 。
以下 2N+1 方程式設定了變換 (\mathbf{q},\ \mathbf{p}) \rightarrow (\mathbf{Q},\ \mathbf{P}) ：

\mathbf{q} = -\frac{\partial G\_{3}}{\partial \mathbf{p}} ，
\mathbf{P} = -\frac{\partial G\_{3}}{\partial \mathbf{Q}} ，
\mathcal{K} = \mathcal{H} + \frac{\partial G\_{3}}{\partial t} 。

第四型生成函數
-------

第四型生成函數 G\_{4}(\mathbf{p}, \mathbf{P}, t) 只跟舊廣義動量 \mathbf{p} 、新廣義動量 \mathbf {P}  有關：

{\displaystyle G\equiv \mathbf {q} \cdot \mathbf {p} -\mathbf {Q} \cdot \mathbf {P} +G\_{4}(\mathbf {p} ,\mathbf {P} ,t)} 。
以下 2N+1 方程式設定了變換 (\mathbf{q},\ \mathbf{p}) \rightarrow (\mathbf{Q},\ \mathbf{P}) ：

\mathbf{q} = -\frac{\partial G\_{4}}{\partial \mathbf{p}} ，
\mathbf{Q} = ~~\frac{\partial G\_{4}}{\partial \mathbf{P}} ，
\mathcal{K}= \mathcal{H} + \frac{\partial G\_{4}}{\partial t} 。

實例 1
----

第一型生成函數有一個特別簡易案例：

{\displaystyle G\_{1}\equiv \mathbf {q} \cdot \mathbf {Q} } 。
方程式 (2) ，(3) ，(4) 的答案分別為

\mathbf{p} = ~~\frac{\partial G\_{1}}{\partial \mathbf{q}} = \mathbf{Q} ，
\mathbf{P} = -\frac{\partial G\_{1}}{\partial \mathbf{Q}} = -\mathbf{q}
 ，
\mathcal{K}(\mathbf{Q},\ \mathbf{P},\ t)=\mathcal{H}(\mathbf{q},\ \mathbf{p},\ t) 。

實例 2
----

再擧一個涉及第二型生成函數，比較複雜的例子。讓

G\_{2} \equiv \mathbf{g}(\mathbf{q};\ t) \cdot \mathbf{P} ；
這裏， \mathbf{g} 是一組 N 個函數。

答案是一個廣義坐標的點變換，

\mathbf{Q}=\frac{\partial G\_{2}}{\partial \mathbf{P}} =\mathbf{g}(\mathbf{q};\ t) 。

實例 3
----

有時候，可以將一個給定的哈密頓量，變成一個很像諧振子的哈密頓量，

{\displaystyle {\mathcal {H}}=aP^{2}+bQ^{2}} 。
例如，假若哈密頓量為

{\displaystyle {\mathcal {H}}={\frac {1}{2q^{2}}}+{\frac {p^{2}q^{4}}{2}}} ；(12)
這裏，p 是廣義動量，q 是廣義坐標。

一個優良的正則變換選擇是

{\displaystyle P=pq^{2}} ，(13)
{\displaystyle Q=-{\frac {1}{q}}} 。(14)
代入方程式 (12) ，新哈密頓量的形式與諧振子的哈密頓量型式相同：

{\displaystyle {\mathcal {H}}={\frac {Q^{2}}{2}}+{\frac {P^{2}}{2}}}
這變換用的是第三型生成函數 {\displaystyle G\_{3}(p,\ Q)} ；其對於 Q 的導數是

{\displaystyle {\frac {\partial G\_{3}}{\partial Q}}=-P} 。
代入方程式 (13) 、(14) ，

{\displaystyle {\frac {\partial G\_{3}}{\partial Q}}=-{\frac {p}{Q^{2}}}} 。
對於 Q 積分，可以得到生成函數 {\displaystyle G\_{3}} ：

{\displaystyle G\_{3}(p,\ Q)={\frac {p}{Q}}} 。
最後，檢查答案是否正確：

{\displaystyle q=-{\frac {\partial G\_{3}}{\partial p}}={\frac {-1}{Q}}} 。

參閱
--

* 哈密頓-亞可比方程式
* 帕松括號
* 正則變換列表

參考文獻
----

* Goldstein, Herbert.. Addison Wesley. 2002. ISBN 978-0-201-65702-9.