2026年5月2日 星期六

如何用重向量(dyadic)協助梯度運算

重向量(dyadic)中國翻譯叫做並矢量,外觀看起來是並列的向量,本身並不代表數值或是代數對象。 它其實是某種梯度運算的中間結果。就像函數式程式設計一樣,你可以 partial apply 一個函數,也就是 像例如$\,\text{f(a,b)}$,我們只對它應用了一個參數得到$\,\text{f(a)}$,這在函數式程式設計是有意義的,它代表另一 個函數$\,\text{g}$,可以繼續應用剩下的那一個參數,使得$\,\text{g(b)=f(a,b)}$。並列的向量$\,\textbf{a}\textbf{b}$ 可以視為一個運算,它還需要另外一個向量對它進行內積才能得到最後的結果:$\,\textbf{u}\cdot\textbf{a}\textbf{b} =(\textbf{u}\cdot\textbf{a})\textbf{b}\,$或是$\,\textbf{a}\textbf{b}\cdot\textbf{u} =\textbf{a}(\textbf{b}\cdot\textbf{u})$。回顧一下梯度運算$$\nabla=\textbf{i}\frac{\partial}{\partial{x}} +\textbf{j}\frac{\partial}{\partial{y}}+\textbf{k}\frac{\partial}{\partial{z}}$$這是用在純量上的, 但是如果像下列的運算$\,\nabla(\textbf{f}\cdot\textbf{f})\,$,可以先寫出中間結果$\,2\nabla\textbf{f}\cdot\textbf{f}\,$ 其中$\,\nabla\textbf{f}=\textbf{i}\textbf{f}_x+\textbf{j}\textbf{f}_y+\textbf{k}\textbf{f}_z\,$是一個重向量。

梯度運算有另一種表示方法。令$\,\textbf{r}=(x, y, z)$,則 $$\frac{\partial{f}}{\partial\textbf{r}}=\textbf{i}f_x+\textbf{j}f_y+\textbf{k}f_z$$ 回顧一下純量三重積 $$\textbf{a}\times\textbf{b}\cdot\textbf{c}=\begin{vmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{vmatrix}$$ 根據行列式定義可以得到 $$\textbf{a}\times\textbf{b}\cdot\textbf{c}=\textbf{b}\times\textbf{c}\cdot\textbf{a}= \textbf{c}\times\textbf{a}\cdot\textbf{b}$$ 假如$\,\textbf{f}=\textbf{r}$,可以得到 $$\frac{\partial\textbf{r}}{\partial\textbf{r}}=\textbf{i}\textbf{i}+\textbf{j}\textbf{j}+\textbf{k}\textbf{k}$$ 令$\,\textbf{I}=\textbf{i}\textbf{i}+\textbf{j}\textbf{j}+\textbf{k}\textbf{k}$,這是一個很有趣的重向量,因為 $\mathbf{u}\cdot\mathbf{I}=\mathbf{u}=\mathbf{I}\cdot\mathbf{u}$,而
$\partial\mathbf{r}/\partial\mathbf{r}=\mathbf{I}\,$也很直觀。

作為範例,接下來計算$\,(\partial/\partial\mathbf{x^\prime})(\textbf{ω}\times\mathbf{x}^\prime)^2$ ,這是在用拉格朗日力學導出旋轉坐標系當中的運動方程會遇到的。 $$\begin{aligned} \frac{\partial}{\partial\mathbf{x}^\prime}(\textbf{ω}\times\mathbf{x}^\prime)^2 &= 2(\textbf{ω}\times\frac{\partial{\mathbf{x}}^\prime}{\partial{\mathbf{x}}^\prime}) \cdot(\textbf{ω}\times\mathbf{x}^\prime) \\ 
&= 2(\underbrace{\textbf{ω}}_{\textbf{a}}\times\underbrace{\mathbf{I}}_{\textbf{b}}) \cdot\underbrace{(\textbf{ω}\times\mathbf{x}^\prime)}_{\textbf{c}} \\ &=2(\textbf{ω}\times\mathbf{x}^\prime)\times\mathbf{ω}\cdot\mathbf{I} \\ &=2(\textbf{ω}\times\mathbf{x}^\prime)\times\mathbf{ω} \end{aligned}$$其中第二行到第三行使用了純量三重積的換序。

2026年4月27日 星期一

廣義力的觀點看座標變換後的梯度

其實座標變換後的梯度公式不是很重要(什麼!),因為座標變換後的處理,可以直接使用拉格朗日力學(分析力學),將新座標視為廣義座標。 這時我們就可以轉而在廣義力下工作,不用管狹義力(牛頓力學下的力)了。

採用分析力學的符號,廣義座標以$\ q\ $表示。眾所周知,狹義力就是勢函數梯度的負值,座標方向上的分量就是對於該座標的 偏微分。廣義力的定義類似,這裡用功函數($\ U\ $)來表示更容易,功函數就是勢函數的負值,廣義力的$\ q\ $分量就是功函數對 $\ q\ $的偏微分$\ U_q\ $。梯度就是功函數對應的狹義力。例如把座標轉換成球座標,那麼球座標當中的$\ \theta\ $對應的廣義力 就是$\ U_\theta\ $。廣義力其實就是推動廣義座標產生變化的「力」,只是廣義力的量綱跟狹義力不同,會隨著廣義座標的量綱而變化。 既然$\ U_\theta\ $是推動$\ \theta\ $變化的廣義力,以牛頓力學的觀點,$\ U_\theta\ $其實就是力矩。

在上述的觀點下,座標變換後的梯度可以直接「瞪」出答案。以球座標當例子,現在把$\ r,\ \theta,\ \phi\ $當成廣義座標。因為 我們要探討的是某一點上的力,所以我們只看無窮小的範圍 $\ {\delta}r,\ {\delta}\theta,\ \delta\phi\ $,上面提過一般的廣義座標 用$\ q\ $表示,因此: $$沿\ q\ 方向上的功=U_q*\delta{q}=沿\ q\ 方向上的力*\delta{q}\ 的長度$$ 所以$$沿\ q\ 方向上的力=\frac{U_q*\delta{q}}{|\delta{q}|}$$其中$\ |\delta{q}|\ $是$\ \delta{q}\ $的長度。

接下來可以直接瞪出答案了,$\ |\delta{r}|=\delta{r},\ |\delta\theta|=r\delta\theta,\ |\delta\phi|=r\sin\theta\delta\phi\ $, 這些只要畫出圖形應該很容易瞪出來。不過會這麼容易也有條件,就是新座標的三個座標線是正交的,也就是互相垂直,這樣 某座標的微小變化長度才不會跟其他座標的微小變化相關。以下把完整答案再列一遍,符號很直觀,就不予說明了: $$U的梯度=U_r\hat{r}+U_\theta\frac{1}{r}\hat{\theta}+U_\phi\frac{1}{r\sin\theta}\hat{\phi}$$