代数批如何理解 Einstein 求和约定
Einstein summation for confused algebraists
统一、自洽与简洁的记号体系是数学的应有之义.大部分数学方向都已经发展出了一套相对完备的记号体系——但遗憾的是,有的方向的记号非常不巧地和其他学科的外来物种杂交在了一起,使得不同背景的使用者对同一记号的理解大相径庭.我们今天辨析的 Einstein 求和约定(Einstein summation convention) 就似乎深受其害:物理学家们习惯于使用 Einstein 求和约定来简化张量矩阵运算中的求和符号,和他们纠缠不清的微分几何学家们也纷纷采用这一记号,并在教学时自豪的向学生介绍这一记号对求和的简化作用.一眼看上去,在 Einstein 求和约定下,你不再显式地写出求和符号和求和指标:每个乘法中左侧的下标和右侧的上标自动配对作为求和指标.例如,两个向量 \(\boldsymbol a\) 和 \(\boldsymbol b\) 的内积将被写作 \(a_i b^i\).然而,大部分教学实践中仅仅将 Einstein 求和约定理解为一种“省略求和符号的记号简化”,忽视其背后的代数结构,并不能说服困惑的学生接受这一记号.纯坐标化的理解也往往掩盖了 Einstein 求和约定的内在含义——这是将抽象线性空间张量积和其在基底下的坐标矩阵运算联系起来的桥梁.
今天我们来捅破这层窗户纸.
1 抽象张量
1.1 张量缩并
设 \(V\) 是域 \(K\) 上的有限维(逆变的)线性空间,\(V^*\) 是它的(协变的)对偶空间.自然地,一个 \(V^*\) 中的协变向量 \(\boldsymbol b\) 作用在 \(V\) 中的逆变向量 \(\boldsymbol a\) 上,将获得标量 \(\boldsymbol b(\boldsymbol a) \in K\).这种操作被称为缩并运算,在单个线性空间上并不复杂.但当我们考虑一堆线性空间及其对偶空间的混合张量积时,事情变得复杂起来.例如,考虑 \(\boldsymbol a \in V \otimes V \otimes V^*\),\(\boldsymbol b \in V \otimes V^* \otimes V^*\),若我们希望通过将 \(\boldsymbol a\) 第二个分量喂入 \(\boldsymbol b\) 的第三个分量,其它分量不做缩并仅按张量积顺序排列得到新张量 \(\boldsymbol c \in V \otimes V^* \otimes V \otimes V^*\),什么样的记号体系可以帮助我们清晰地表达这一过程?
让我们考虑如下记号: \[ \begin{aligned} \boldsymbol a &= a{^\alpha}{^\beta}{_\gamma} \in V^\alpha \otimes V^\beta \otimes V^*_\gamma \\ \boldsymbol b &= b{^\delta}{_\epsilon}{_\beta} \in V^\delta \otimes V^*_\epsilon \otimes V^*_\beta \\ \boldsymbol c &= a{^\alpha}{^\beta}{_\gamma} b{^\delta}{_\epsilon}{_\beta} = c{^\alpha}{_\gamma}{^\delta}{_\epsilon} \in V^\alpha \otimes V^*_\gamma \otimes V^\delta \otimes V^*_\epsilon \end{aligned} \tag{1}\] 我们按张量积顺序在向量右上和右下侧排列仅作标记使用的抽象指标 \(\alpha, \beta, \dots\),并同时在 \(V\) 和 \(V^*\) 上加上相应的抽象指标位置以标记对应空间.右上的抽象指标代表其逆变成分,左下的抽象指标代表其协变成分.在缩并运算中,我们将左下和右上,或左上和右下相同的抽象指标进行配对,表示将对应位置的向量进行缩并运算,而其余位置的向量则按原有张量积顺序排列组成新的张量.例如,上式中 \(\beta\) 代表在 \(\boldsymbol a\) 的第二个分量 \(V^\beta\) 和 \(\boldsymbol b\) 的第三个分量 \(V^*_\beta\) 进行缩并.这种被称为 抽象指标记号(abstract index notation) 的体系不仅明确了张量的逆变和协变成分所属的空间,还清晰表达了张量缩并的过程.
由于交换张量积顺序是自然同构,在通过抽象指标可以区分张量各个成分所属空间的情况下,我们也时常不严格按照张量积顺序排列抽象指标.例如,上述混合张量 \(\boldsymbol c\) 也可更紧凑地写作 \(c^{\alpha \delta}_{\gamma \epsilon} \in V^\alpha \otimes V^\delta \otimes V^*_\gamma \otimes V^*_\epsilon\).
我们有更有趣的方法理解混合张量.回忆张量积泛性质和双重对偶空间导出的自然同构 \[ \mathrm{Hom}(V, W) \cong V^* \otimes W \cong \mathrm{Hom}(W^*, V^*) \] 故当我们考虑 \(a_\alpha^\beta \in V^*_\alpha \otimes W^\beta\) 时,它也可被理解为线性映射 \(a_\alpha^\beta : V^\alpha \to W^{\beta}\) 或 \(a_\alpha^\beta : W^*_\beta \to V^{*}_\alpha\).此时左下-右上或左上-右下张量缩并运算分别对应了两种理解下线性映射的复合运算.
1.2 内积与指标升降
有时我们会希望在 \(V\) 和 \(V^*\) 之间自然地转换向量:一个向量 \(\boldsymbol a\) 应该同时具有其在 \(V^\alpha\) 中的逆变形式 \(a^\alpha\) 和 \(V^*_\beta\) 中的协变形式 \(a_\beta\).这事实上要求我们配备一个 \(V \to V^*\) 的同构 \(\boldsymbol g\).再次使用张量积泛性质,我们有 \[ \mathrm{Hom}(V, \mathrm{Hom}(V, K)) = \mathrm{Hom}(V, V^*) \cong V^* \otimes V^* \] 故给出 \(\boldsymbol g\) 等价于给出一个 \(V\) 上的非退化双线性型 \(\langle -,- \rangle_{\boldsymbol g}\),或给出张量 \(\boldsymbol g \in V^* \otimes V^*\).按照上一节给出的记号,这一双线性型的作用方式可以写作 \[ \langle \boldsymbol a, \boldsymbol b \rangle_{\boldsymbol g} = g_{\alpha \beta} a^\alpha b^\beta \]
使用 \(\boldsymbol g\),我们得以将向量在 \(V\) 和 \(V^*\) 间相容地转移.对于逆变向量 \(a^\alpha \in V^\alpha\),我们可以将其搬到 \(V^*\) 中,得到协变向量 \(a_\beta = g_{\beta \alpha} a^{\alpha} \in V^*_\beta\).这是所谓的指标下降(lowering indices)操作.有时我们也想将协变向量 \(a_\beta \in V^*_\beta\) 搬回 \(V\).已经有了 \(V \to V^*\) 的 \(\boldsymbol g\),自然使用它的逆作为拉回.我们将其写作 \[ g^{\beta \alpha} \in V^\beta \otimes V^\alpha \cong \mathrm{Hom}(V^*_\beta, V^\alpha) \] 则有 \(g^{\beta \alpha} g_{\alpha \beta} = g_{\alpha \beta} g^{\beta \alpha} = 1\) 和指标提升(raising indices)操作 \(a^{\alpha} = g^{\beta \alpha} a_{\beta} \in V^{\alpha}\).类似的还可定义 \[ g_\alpha^\beta := g^{\gamma \beta} g_{\alpha \gamma} \in V^*_\alpha \otimes V^\beta \cong \mathrm{Hom}(V^\alpha, V^\beta) \cong \mathrm{Hom}(V^*_\beta, V_\alpha^*) \] 对 \(a^\alpha \in V^\alpha\),它不改变向量本身,但起到了更换指标记号的作用:\(a^\beta = g_{\alpha}^{\beta} a^\alpha \in V^\beta\).我们认为它是 \(V\) 或 \(V^*\) 上的恒同映射 \(V^\alpha \to V^\beta\) 或 \(V^*_\beta \to V^*_\alpha\).鉴于此时其与双线性型 \(\boldsymbol g\) 事实上无关,往往也将 \(g^\alpha_\beta\) 统一写作 \(\delta^\alpha_\beta\)——这不是随意选取的记号:在后面将会提到的矩阵形态中,它对应着 Kronecker 记号.
使用指标升降,我们可以重写前述内积 \(\langle \boldsymbol a, \boldsymbol b \rangle_{\boldsymbol g}\): \[ a^\alpha b_\alpha = g_{\alpha \beta} a^\alpha b^\beta = a_\beta b^\beta \] 这是上下配对的哲学在在内积中的体现.
2 坐标张量
2.1 坐标表示映射
接下来,我们考虑抽象张量在在选定基底下的坐标表示.什么是表示?表示是将抽象线性空间 \(V\) 同构到坐标空间 \(K^{\oplus n}\) 的线性映射.在坐标空间有标准对偶同构 \(K^{\oplus n} \cong (K^{\oplus n})^*\) 及其对应的标准内积 \(\langle \boldsymbol x, \boldsymbol y \rangle = \sum_{i=1}^n x^i y^i\) 可供使用.我们希望经过该表示:
- 抽象空间的张量缩并与坐标空间的张量缩并相容;
- 可以通过标准内积 \(\langle -, - \rangle\) 来计算抽象空间上的双线性型 \(\langle -, - \rangle_{\boldsymbol g}\) 及指标升降.
构造表示的本质是选定基底.选定基底 \((\boldsymbol e_i)_{1 \leq i \leq n} \subseteq V\),这就规定了同构 \(\boldsymbol e : K^{\oplus n} \to V\).我们大可继续利用张量积泛性质将此同构看作混合张量 \(e_i^\alpha \in \left( K^{\oplus n} \right)^*_i \otimes V^\alpha\).这里,\(i\) 被视为标记坐标空间 \(K^{\oplus n}\) 的指标,我们称之为坐标指标,以区别于用于标记 \(V\) 的抽象指标 \(\alpha, \beta, \dots\).(这可以认为是 Ricci Calculus 中使用的 tensor index notation)
反过来,这一同构的逆 \(V \to K^{\oplus n}\) 也可看作混合张量 \(e_\alpha^i \in \left(K^{\oplus n}\right)^i \otimes V^*_\alpha\),同时也自然地是同构 \(\left(K^{\oplus n}\right)^*_i \to V^*_\alpha\),这个观点允许我们使用 \(\left(K^{\oplus n}\right)^*_i\) 上的标准对偶基经过该映射得到 \(V^*_\alpha\) 上的对偶基——我们将其记为 \((\boldsymbol e^i)_{1 \leq i \leq n}\).
上述两个同构互逆,因此我们得到对偶基关系 \[ \begin{aligned} e_i^\alpha e_\beta^i &= \delta_\beta^\alpha \in V^*_\beta \otimes V^\alpha \\ e_\alpha^i e_j^\alpha &= \delta_j^i \in \left( K^{\oplus n} \right)^*_j \otimes \left( K^{\oplus n} \right)^i \end{aligned} \]
2.2 向量的坐标表示
给定抽象空间 \(V\) 中的逆变向量 \(a^\alpha \in V^\alpha\),如何取出它在基底 \((\boldsymbol e^i)\) 下的坐标向量 \(a^i\)? \[ a^i := e_\alpha^i a^\alpha \in \left( K^{\oplus n} \right)^i \] 类似地,给定协变向量 \(b_\beta \in V^*_\beta\),其在对偶基底 \((\boldsymbol e_i)\) 下的坐标向量 \(b_i\) 为 \[ b_i := b_\beta e_i^\beta \in \left( K^{\oplus n} \right)^*_i \]
2.3 张量的坐标表示与缩并
我们以 式 1 中的张量为例,说明混合张量在坐标表示下的形式. 抽象张量 \(a^{\alpha \beta}_\gamma \in V^\alpha \otimes V^\beta \otimes V^*_\gamma\) 在基底 \((\boldsymbol e_i)\) 和对偶基底 \((\boldsymbol e^i)\) 下的坐标表示为 \[ a^{i j}_k := e_\alpha^i e_\beta^j a^{\alpha \beta}_\gamma e_k^\gamma \in \left( K^{\oplus n} \right)^i \otimes \left( K^{\oplus n} \right)^j \otimes \left( K^{\oplus n} \right)^*_k \] 类似地,\(b^{\delta}_{\epsilon \beta} \in V^\delta \otimes V^*_\epsilon \otimes V^*_\beta\) 在基底 \((\boldsymbol e_i)\) 和对偶基底 \((\boldsymbol e^i)\) 下的坐标表示为 \[ b^{l}_{m j} := e_\delta^l b^{\delta}_{\epsilon \beta} e_m^\epsilon e_j^\beta \in \left( K^{\oplus n} \right)^l \otimes \left( K^{\oplus n} \right)^*_m \otimes \left( K^{\oplus n} \right)^*_j \] 简单起见,我们以后把 \(e_\alpha^i e_\beta^j\) 写作 \(e_{\alpha \beta}^{i j}\) 并类似处理其它关于 \(\boldsymbol e\) 的情形.
我们现在可以写出张量缩并在坐标表示下的形式了.回忆 式 1 中的张量缩并 \[ c^{\alpha \delta}_{\gamma \epsilon} = a^{\alpha \beta}_\gamma b^{\delta}_{\epsilon \beta} \] 直接按照前述方法将其坐标化,我们得到 \[ \begin{aligned} e^{\alpha \delta}_{i l} c^{i l}_{k m} e^{k m}_{\gamma \epsilon} &= c^{\alpha \delta}_{\gamma \epsilon} \\ &= a^{\alpha \beta}_\gamma b^{\delta}_{\epsilon \beta} \\ &= e^{\alpha \beta}_{i j} a^{i j}_k e^k_\gamma \cdot e^{\delta}_{l} b^{l}_{m j} e^{m j}_{\epsilon \beta} \\ &= e^{\alpha \delta}_{i l} a^{i j}_k b^{l}_{m j} e^{k m}_{\gamma \epsilon} \end{aligned} \] 连等式的最后一步使用了对偶基关系.两侧删去 \(e\) 就有 \[ c^{i l}_{k m} = a^{i j}_k b^{l}_{m j} \]
综上我们看到,形如 \(e \cdot - \cdot e\) 的张量坐标表示完成了从抽象混合张量到坐标混合张量的保缩并同构.形式上,这是把混合张量的抽象指标 \(\alpha, \beta, \dots\) 替换为坐标指标 \(i, j,\dots\) 的过程.我们以后把这一同构记作 \(\mathcal M\).
注意坐标空间内张量缩并的计算方法:直接将配对的坐标指标上下标相同的部分作为求和指标进行求和 \[ c^{i l}_{k m} = a^{i j}_k b^{l}_{m j} = \sum_{j=1}^n a^{i j}_k b^{l}_{m j} \] 这正是 Einstein 求和约定的内容.
2.4 内积与指标升降的坐标表示
容易产生误解的是,给定逆变向量 \(\boldsymbol a\),其坐标表示 \(a^i = e_\alpha^i a^\alpha\) 并不意味着 \(a_j = e_j^\beta a_\beta\)——在 \(V\) 中的指标升降运算由 \(\boldsymbol g\) 决定,因此坐标表示下的指标升降仍然依赖 \(\boldsymbol g\).根据上一节给出的同构,只需将指标升降运算拉回坐标空间,我们便可得到坐标表示下的指标升降运算: \[ \begin{aligned} a_j &= g_{i j} a^i = \sum_{i=1}^n g_{i j} a^i \\ a^i &= g^{i j} a_j = \sum_{j=1}^n g^{i j} a_j \end{aligned} \] 此外,计算内积 \(\langle \boldsymbol a, \boldsymbol b \rangle_{\boldsymbol g} = g_{\alpha \beta} a^\alpha b^\beta\) 也可以拉回坐标空间: \[ \langle \mathcal M(\boldsymbol a), \mathcal M(\boldsymbol g (\boldsymbol b)) \rangle = a^i b_i = g_{i j} a^i b^j = a_j b^j = \langle \mathcal M(\boldsymbol g (\boldsymbol a)), \mathcal M(\boldsymbol b) \rangle \] 或展开写为求和 \[ \sum_{i=1}^n a^i b_i = \sum_{i=1}^n g_{i j} a^i b^j = \sum_{j=1}^n a_j b^j \] 这是 Einstein 记号下计算内积的方式.
值得一提的是,如果如下 TFAE 的任何一条成立,便意味着我们选取的基底表示和 \(\boldsymbol g\) 相容:
- \(\boldsymbol e_i\) 在 \(\langle -, - \rangle_{\boldsymbol g}\) 下正交
- \(\boldsymbol e_i = \boldsymbol g (e^i)\)
- \(\boldsymbol e\) 是保内积的线性同构
- 如下图表交换:
此时便可便可忘记 \(\boldsymbol g\) 的存在,在坐标表示中直接如本节开头所述翻转上下标: \[ a^i = e_\alpha^i a^\alpha \iff a_j = e_j^\beta a_\beta \]
3 使用例
【TODO】
4 抽象废话
【TODO】
这一节我们给出在张量代数上完成的一般形式的表达.主流记号请参考
一般地,记抽象指标集 \(\alpha_P := (\alpha_p)_{p \in P}\) 和 \(\beta_Q := (\beta_q)_{q \in Q}\),则混合抽象张量 \(t^{\alpha_P}_{\beta_Q} \in V^{\alpha_P} \otimes V^*_{\beta_Q}\) 在基底 \((\boldsymbol e_i)\) 和对偶基底 \((\boldsymbol e^i)\) 下的坐标表示为 \[ t^{i_P}_{j_Q} := e_{\alpha_P}^{i_P} t^{\alpha_P}_{\beta_Q} e_{j_Q}^{\beta_Q} \in \left( K^{\oplus n} \right)^{\otimes i_P} \otimes \left( K^{\oplus n} \right)^*_{\otimes j_Q} \] 这里 \(i_P\) 和 \(j_Q\) 分别是 \(\alpha_P\) 和 \(\beta_P\) 对应的坐标指标集,\(e_{\alpha_P}^{i_P} := \bigotimes_{p \in P} e_{\alpha_p}^{i_p}\),\(e_{j_Q}^{\beta_Q} := \bigotimes_{q \in Q} e_{j_q}^{\beta_q}\).