本意是想试试 Markdown 和 LaTeX\LaTeX 语法,不小心就把整篇打完了(逃

一、爱因斯坦求和约定

为简化计算,下文所有含下标公式均采用爱因斯坦求和约定:

1.在同一项中,如果同一指标成对出现,就表示遍历其取值范围求和。这时求和符号可以省略。

2.成对出现的指标叫做哑指标,简称哑标。表示哑标的小写字母可以用另一对小写字母替换,只要其取值范围不变。

3.当两个求和式相乘时,两个求和式的哑标不能使用相同的小写字母。为了避免混乱,常用的办法是根据上一条规则,先将其中一个求和式的哑标改换成其它小写字母。

例如:

aibi=iaibi=a1b1+a2b2+a3b3a_i b_i=\sum_i a_i b_i=a_1 b_1+a_2 b_2+a_3 b_3

二、Levi-Civita与Kronecker记号

先引入两个著名的记号

Kronecker记号:

δij={1,i=j0,ij\delta_{i j}= \begin{cases}1 & ,i=j \\ 0 & ,i \neq j\end{cases}

Levi-Civita记号:

εijk={+1,ijk 两两不同, 逆序数为偶数 1,ijk 两两不同, 逆序数为奇数 0, 其他情况 \varepsilon_{i j k}=\left\{\begin{array}{rl} +1 & ,i j k \text { 两两不同, 逆序数为偶数 } \\ -1 & ,i j k{\text { 两两不同}}, \text { 逆序数为奇数 } \\ 0 & ,\text { 其他情况 } \end{array}\right.

借助Levi-Civita记号,我们可以这样表达叉积的分量形式:

(A×B)i=εijkAjBk(\mathbf{A} \times \mathbf{B})_i=\varepsilon_{i j k} A_j B_k

好了,想必你已经全都懂了!现在我们来推导几个公式!

三、几个常见公式的推导

为了简便(懒得打),我们记

i=xi\partial_i=\frac{\partial}{\partial x_i}

混合积公式

A(B×C)=B(C×A)=C(A×B)\mathbf{A} \cdot(\mathbf{B} \times \mathbf{C})=\mathbf{B} \cdot(\mathbf{C} \times \mathbf{A})=\mathbf{C} \cdot(\mathbf{A} \times \mathbf{B})

证明:

A(B×C)=Ai(B×C)i=AiεijkBjCk=εijkAiBjCk\mathbf{A} \cdot(\mathbf{B} \times \mathbf{C})=A_i(\mathbf{B} \times \mathbf{C})_i=A_i \varepsilon_{i j k} B_j C_k=\varepsilon_{i j k} A_i B_j C_k

B(C×A)=Bi(C×A)i=BiεijkCjAk=εijkBiCjAk\mathbf{B} \cdot(\mathbf{C} \times \mathbf{A})=B_i(\mathbf{C} \times \mathbf{A})_i=B_i \varepsilon_{i j k} C_j A_k=\varepsilon_{i j k} B_i C_j A_k

由Levi-Civita轮换对称性 εijkAiBjCk=εjkiBjCkAi\varepsilon_{i j k} A_i B_j C_k=\varepsilon_{j k i} B_j C_k A_i 得证

标量与矢量相乘求旋度

×fA=f×A+f×A\nabla \times f A=f \nabla \times A+\nabla f \times A

证明:

(×fA)i=εijkj(fA)k=εijkj(fAk)=εijk(fjAk+Akjf)=fεijkjAk+εijk(jf)Ak=f(×A)i+(f×A)i\begin{aligned} (\nabla \times f \mathbf{A})_i & =\varepsilon_{i j k} \partial_j(f \mathbf{A})_k=\varepsilon_{i j k} \partial_j\left(f A_k\right) \\ & =\varepsilon_{i j k}\left(f \partial_j A_k+A_k \partial_j f\right) \\ & =f \varepsilon_{i j k} \partial_j A_k+\varepsilon_{i j k}\left(\partial_j f\right) A_k \\ & =f(\nabla \times \mathbf{A})_i+(\nabla f \times \mathbf{A})_i \end{aligned}

叉积的散度

(A×B)=i(A×B)i=iεijkAjBk=εijkiAjBk=εijk((iAj)Bk+AjiBk)=εijk(jAj)Bk+εijkAjiBk=BkεkijiAjAjεjikiBk=B(×A)A(×B)\begin{aligned} \nabla \cdot(\mathbf{A} \times \mathbf{B}) & =\partial_i(\mathbf{A} \times \mathbf{B})_i \\ & =\partial_i \varepsilon_{i j k} A_j B_k \\ & =\varepsilon_{i j k} \partial_i A_j B_k \\ & =\varepsilon_{i j k}\left(\left(\partial_i A_j\right) B_k+A_j \partial_i B_k\right) \\ & =\varepsilon_{i j k}\left(\partial_j A_j\right) B_k+\varepsilon_{i j k} A_j \partial_i B_k \\ & =B_k \varepsilon_{k i j} \partial_i A_j-A_j \varepsilon_{j i k} \partial_i B_k \\ & =\mathbf{B} \cdot(\nabla \times \mathbf{A})-\mathbf{A} \cdot(\nabla \times \mathbf{B}) \end{aligned}

梯无旋,旋无散

(×f)i=εijkj(f)k=εijkjkf(\nabla \times \nabla f)_i=\varepsilon_{i j k} \partial_j(\nabla f)_k=\varepsilon_{i j k} \partial_j \partial_k f

由Levi-Civita记号反对称性与偏导数可交换顺序得值为0,旋度的散度同理

为了解决一些有两个叉乘的情况,我们需要用到下面的公式:

εijkεimn=δjmδknδjnδkm\varepsilon_{i j k} \varepsilon_{i m n}=\delta_{j m} \delta_{k n}-\delta_{j n} \delta_{k m}

顺便提一下这两个很trival但很有用的式子:

ixj=δij\partial_i x_j=\delta_{i j}

aiδij=aja_i \delta_{i j}=a_j

矢量三重积公式(坐出租回家)

A×(B×C)=B(AC)C(AB)\mathbf{A} \times(\mathbf{B} \times \mathbf{C})=\mathbf{B}(\mathbf{A} \cdot \mathbf{C})-\mathbf{C}(\mathbf{A} \cdot \mathbf{B})

证明:

(A×(B×C))i=εijkAj(B×C)k=εijkAjεkmnBmCn=εkijεkmnAjBmCn=(δimδjnδinδjm)AjBmCn=AjBiCjAjBjCi=Bi(AC)Ci(AB)\begin{aligned} (A \times(B \times C))_i & =\varepsilon_{i j k} A_j(B \times C)_k \\ & =\varepsilon_{i j k} A_j \varepsilon_{k m n} B_m C_n \\ & =\varepsilon_{k i j} \varepsilon_{k m n} A_j B_m C_n \\ & =\left(\delta_{i m} \delta_{j n}-\delta_{i n} \delta_{j m}\right) A_j B_m C_n \\ & =A_j B_i C_j-A_j B_j C_i \\ & =B_i(A \cdot C)-C_i(A \cdot B) \end{aligned}

旋度的旋度

(×(×A))i=εijkj(×A)k=εijkjεkmnmAn=εijkεkmnjmAn=εkijεkmnjmAn=(δimδjnδinδjm)jmAn=δimδjnjmAnδinδjmjmAn=jiAjmmAi=ijAjmmAi=((A))i(2A)i\begin{aligned} (\nabla \times(\nabla \times \mathbf{A}))_i & =\varepsilon_{i j k} \partial_j(\nabla \times \mathbf{A})_k \\ & =\varepsilon_{i j k} \partial_j \varepsilon_{k m n} \partial_m A_n \\ & =\varepsilon_{i j k} \varepsilon_{k m n} \partial_j \partial_m A_n \\ & =\varepsilon_{k i j} \varepsilon_{k m n} \partial_j \partial_m A_n \\ & =\left(\delta_{i m} \delta_{j n}-\delta_{i n} \delta_{j m}\right) \partial_j \partial_m A_n \\ & =\delta_{i m} \delta_{j n} \partial_j \partial_m A_n-\delta_{i n} \delta_{j m} \partial_j \partial_m A_n \\ & =\partial_j \partial_i A_j-\partial_m \partial_m A_i \\ & =\partial_i \partial_j A_j-\partial_m \partial_m A_i \\ & =(\nabla(\nabla \cdot \mathbf{A}))_i-\left(\nabla^2 \mathbf{A}\right)_i \end{aligned}

总之,这一方法可以避免复杂的展开计算,对于我们克服对复杂矢量计算的恐惧很有帮助