贡献者: JierPeter; 零穹; Giacomo
1. 概念
在张量文章中我们知道,一个张量可以看成是将若干个线性空间 $V$ 映射到域 $\mathbb{F}$ 上的映射。
域是可以进行加减乘除的集合,因此我们可以在域上定义映射的乘积。比如如果有实数域上的实函数 $f, g:\mathbb{R} \rightarrow \mathbb{R}$,那么我们可以定义两个函数的乘积 $f \cdot g$ 如下:$\forall x \in \mathbb{R}, f \cdot g(x) = f(x) \cdot g(x)$。就是说,把各点的函数值相乘,得到的结果还是一个函数,它就是两个函数的乘积。
同样的方法可以应用到张量上,这样所得到映射乘积,就是所谓的张量积。
定义 1 张量积
给定线性空间 $V$,在线性空间 $V$ 上有 $n$-线性函数 $f$ 和 $m$-线性函数 $g$,则可以定义 $(n+m)$-线性函数 $f\cdot g$,方式为:对于任意 $x_i, y_j\in V$,$f\cdot g(x_1, \cdots, x_n, y_1, \cdots, y_m)=f(x_1, \cdots, x_n)\cdot g(y_1, \cdots, y_m)$。
用矩阵可以直观地看出张量积的 “升维” 性质,但是这个方法很难推广到任意阶的张量。我们举一个一阶张量相乘得到二阶张量的例子:
例 1 一阶张量的张量积
在一个 $3$ 维线性空间 $V$ 里默认取某个基时,有向量 $x^i\in V$ 和一个对偶向量(不一定是 $x^i$ 的对偶)$y_j\in V^*$,那么 $x^i$ 可以看成是把 $V^*$ 里的向量映射为标量的张量,$y_j$ 可以看成是把 $V$ 里的向量映射为标量的张量。如果在给定基下,把 $V$ 中元素的坐标都写为列矩阵,$V^*$ 中的坐标写为行矩阵,比如 $x^i= \begin{pmatrix}x^1, x^2, x^3\end{pmatrix} ^{\mathrm{T}} $,$y_j= \begin{pmatrix}y_1, y_2, y_3\end{pmatrix} $,那么可以通过乘积得到矩阵 $ \boldsymbol{\mathbf{M}} = \begin{pmatrix}x^1, x^2, x^3\end{pmatrix} ^{\mathrm{T}} y_j= \begin{pmatrix}y_1, y_2, y_3\end{pmatrix} $,这个矩阵就表示把一个向量和一个对偶向量映射到一个标量上的二阶张量。
为便于理解,我显式地写一遍这个矩阵乘法过程:
\begin{equation}
\boldsymbol{\mathbf{M}} = \begin{pmatrix}x^1\\x^2\\x^3\end{pmatrix} \times \begin{pmatrix}y_1, y_2, y_3\end{pmatrix} = \begin{pmatrix}x^1y_1, x^1y_2, x^1y_3\\x^2y_1, x^2y_2, x^2y_3\\x^3y_1, x^3y_2, x^3y_3\end{pmatrix} ~.
\end{equation}
如果参与进行张量积的张量阶数超过 $1$,那么就不再能像上边这样简单地用矩阵表达了,因此我们必须使用爱因斯坦求和约定来简化表达。我把表达的规则写成以下定理:
定理 1
如果在给定基下,两个张量分别表示为 $a^{i_1i_2\cdots i_m}_{j_1j_2\cdots j_n}$ 和 $b^{k_1\cdots k_s}_{l_1\cdots l_t}$,那么它们的张量积就是 $a^{i_1i_2\cdots i_m}_{j_1j_2\cdots j_n}b^{k_1\cdots k_s}_{l_1\cdots l_t}$。张量积的阶数为各张量阶数之和。
比如说,张量 $a^{ij}_k$ 和 $b^r_s$ 的张量积是 $a^{ij}_kb^r_s$,其阶数为 $3+2=5$。
以上张量的表示中要么写出了线性映射的自变量,要么写出了抽象指标。但有的时候为了简便,我们也可能不显式写出张量的自变量等细节,这个时候表示张量的方式就是使用符号 $\otimes$。比如说,考虑到一个向量 $ \boldsymbol{\mathbf{v}} $ 本身是一个 “将一个对偶向量映射为一个数” 的一阶张量,一个对偶向量 $ \boldsymbol{\mathbf{u}} ^*$ 本身是一个 “将一个向量映射为一个数” 的一阶张量,那么它们的张量积就表示为 $ \boldsymbol{\mathbf{v}} \otimes \boldsymbol{\mathbf{u}} ^*$,这样就和它们直接的乘积 $ \boldsymbol{\mathbf{v}} \boldsymbol{\mathbf{u}} ^*$ 区分开了——$ \boldsymbol{\mathbf{v}} \otimes \boldsymbol{\mathbf{u}} ^*$ 是一个二阶张量,而 $ \boldsymbol{\mathbf{v}} \boldsymbol{\mathbf{u}} ^*$ 是一个数。
2. 张量积的运算性质
这里使用 $\otimes$ 表示张量积的运算。
定理 2
张量积满足下面几个性质:
- 结合律:$(f\otimes g)\otimes h=f\otimes (g\otimes h)$
- 张量积对加法的分配律:$\forall \alpha,\beta\in\mathbb F$,成立
\begin{equation}
\begin{aligned}
(\alpha f+\beta g)\otimes h=\alpha f\otimes h+\beta g\otimes h~,\\
h\otimes(\alpha f+\beta g)=\alpha h\otimes f+\beta h\otimes g~.
\end{aligned}
\end{equation}
- 纯量与张量积的乘法定律:$\forall \lambda\in\mathbb F$,有 $\lambda (f\otimes g)=(\lambda f)\otimes g=f\otimes (\lambda g)$ .
需注意,在定理中,张量积对加法的分配律里,并未声明 $f,g$ 属于同一类线性型(即作用定义域都相同的线性函数),这不会引起矛盾,因为只有同一矢量空间中的矢量才有 “+” 的定义,因此 “+” 意味着 $f,g$ 属于同一类线性型。
证明:
根据张量积定义:
\begin{equation}
\begin{aligned}
&(f\otimes g)\otimes h(x_1,\cdots,x_n;y_1,\cdots,y_m;z_1,\cdots,z_l)=(f\otimes g)(x_1,\cdots,x_n;y_1,\cdots,y_m)h(z_1,\cdots,z_l)\\
&=f(x_1,\cdots,x_n)g(y_1,\cdots,y_m)h(z_1,\cdots,z_l)\\
&=f(x_1,\cdots,x_n)(g\otimes h)(y_1,\cdots,y_m;z_1,\cdots,z_l)\\
&=f\otimes(g\otimes h)(x_1,\cdots,x_n;y_1,\cdots,y_m;z_1,\cdots,z_l)~,
\end{aligned}
\end{equation}
\begin{equation}
\begin{aligned}
&(\alpha f+\beta g)\otimes h(x_1,\cdots,x_m;y_1,\cdots,y_n)=(\alpha f+\beta g)(x_1,\cdots,x_m)h(y_1,\cdots,y_n)\\
&=(\alpha f(x_1,\cdots,x_m)+\beta g(x_1,\cdots,x_m))h(y_1,\cdots,y_n)\\
&=\alpha f(x_1,\cdots,x_m)h(y_1,\cdots,y_n)+\beta g(x_1,\cdots,x_m)h(y_1,\cdots,y_n)\\
&=(\alpha f\otimes h+\beta g\otimes h)(x_1,\cdots,x_m;y_1,\cdots,y_n)~.
\end{aligned}
\end{equation}
同理可证 $h\otimes(\alpha f+\beta g)=\alpha h\otimes f+\beta h\otimes g$。
\begin{equation}
\begin{aligned}
&\lambda (f\otimes g)(x_1,\cdots,x_m;y_1,\cdots,y_n)\\
&=\lambda f(x_1,\cdots,x_m)g(y_1,\cdots,y_n)\\
&=(\lambda f(x_1,\cdots,x_m))g(y_1,\cdots,y_n)=(\lambda f)\otimes g(x_1,\cdots,x_m;y_1,\cdots,y_n)\\
&= f(x_1,\cdots,x_m)(\lambda g(y_1,\cdots,y_n))=f\otimes(\lambda g)(x_1,\cdots,x_m;y_1,\cdots,y_n)~.
\end{aligned}
\end{equation}
证毕!
3. 实例
例 2 投影算子
给定线性空间 $V$ 里的一根坐标轴(比如考虑二维实空间里的 $x$ 轴),沿着这根坐标轴有一个单位向量 $\hat{ \boldsymbol{\mathbf{n}} }$。如果映射 $f$ 把 $V$ 中的任意向量映射为其在这根坐标轴上的投影向量,那么 $f$ 是一个二阶张量。取 $\hat{ \boldsymbol{\mathbf{n}} }$ 的对偶向量 $\hat{ \boldsymbol{\mathbf{n}} }^*$,那么 $f$ 可以表示为张量积 $\hat{ \boldsymbol{\mathbf{n}} }\otimes\hat{ \boldsymbol{\mathbf{n}} }^*$。
具体来说,如果考虑二维实线性空间中的 $\hat{ \boldsymbol{\mathbf{n}} }=(\frac{\sqrt{3}}{2}, \frac{1}{2}) ^{\mathrm{T}} $,其对偶向量为 $\hat{ \boldsymbol{\mathbf{n}} }^*=(\frac{\sqrt{3}}{2}, \frac{1}{2})$,那么 “投影到 $\hat{ \boldsymbol{\mathbf{n}} }$ 所在轴” 的投影张量就可以表示为:
\begin{equation}
\hat{ \boldsymbol{\mathbf{n}} }\otimes\hat{ \boldsymbol{\mathbf{n}} }^*= \begin{pmatrix}\frac{\sqrt{3}}{2}\\\frac{1}{2}\end{pmatrix} \times \begin{pmatrix}\frac{\sqrt{3}}{2}&\frac{1}{2}\end{pmatrix} = \begin{pmatrix}\frac{3}{4}&\frac{\sqrt{3}}{4}\\\frac{\sqrt{3}}{4}&\frac{1}{4}\end{pmatrix} ~.
\end{equation}
容易发现,这个矩阵的行列式是 $0$,这是符合预期的,因为投影变换是不可逆的。
在狄拉克的表示中,向量表示为右矢 $|\hat{ \boldsymbol{\mathbf{n}} }\rangle$,而其对偶向量表示为 $\langle\hat{ \boldsymbol{\mathbf{n}} }|$,因此该投影算子表示为 $|\hat{ \boldsymbol{\mathbf{n}} }\rangle\langle\hat{ \boldsymbol{\mathbf{n}} }|$。这样一来,把 $| \boldsymbol{\mathbf{x}} \rangle$ 投影到 $|\hat{ \boldsymbol{\mathbf{n}} }\rangle$ 的方向上,结果就是 $|\hat{ \boldsymbol{\mathbf{n}} }\rangle\langle\hat{ \boldsymbol{\mathbf{n}} }| \boldsymbol{\mathbf{x}} \rangle$;把 $\langle \boldsymbol{\mathbf{x}} |$ 投影到 $\langle\hat{ \boldsymbol{\mathbf{n}} }|$ 的方向上,结果就是 $\langle \boldsymbol{\mathbf{x}} |\hat{ \boldsymbol{\mathbf{n}} }\rangle\langle\hat{ \boldsymbol{\mathbf{n}} }|$。