张量(向量与矩阵)

                     

贡献者: Giacomo

预备知识 指标与求和约定

   直观上说,矩阵就是把数字排列成长方形,因此它是一个纯粹的 “组合数学” 对象:不需要学习集合论、微积分、线性代数,只需要理解了数(整数,有理数,实数或者复数都可)的概念和上面的加、减、乘(可以没有除法)我们就可以理解矩阵。

   不过,长方形只是一个很简单的二维图形,抛开纸张(二维)和方(形状)的限制我们可以得到很多不同的 “数字结构”,其中张量就是一种(不那么简单的)对正方形矩阵的推广。

   在线性代数中,我们会学到用矩阵来理解(选定基之后的)线性算子,用张量来理解多线性变换

1. 列矩阵和行矩阵

   在这篇文章中,我们把一个 $n$ 行 $n$ 列的矩阵记作方矩阵,$n \times 1$ 矩阵记作列矩阵(列向量),$1 \times n$ 矩阵记作行矩阵(行向量),$1 \times 1$ 矩阵记作数矩阵(标量)。根据矩阵的乘法子节 4 ,我们有以下五种合法的乘法(注意顺序不能颠倒),

   其中三种 “化简” 的乘法:

   一种 “化繁” 的乘法:

   三种 “不变” 的乘法:

   在研究张量的时候(本文)只考虑 “化简” 的三种乘法,这之中我们发现,

   因此,对于一个方矩阵或者行矩阵,我们可以把作用一个列矩阵定义为在右边乘上一个列矩阵;类似的对于一个方矩阵或者列矩阵,我们可以把作用一个行矩阵定义为在左边乘上一个行矩阵。

   就目前来说,上述行为显得很没有意义,因为总共只有三种情况,而我却用了 $2 \times 2 = 4$ 种情况来表述。但是,我们可以推广它来得到张量的定义。

2. 矩阵的类型

   我们现在有四种矩阵,方矩阵、列矩阵与行矩阵、数矩阵。我们把数矩阵作为终止状态,那么如果想通过 “作用列/行矩阵” 来得到终止状态,我们有

   需要注意的是,对于方矩阵来说,作用列矩阵和作用行矩阵顺序不重要,因为一个是左乘一个是右乘。

   我们把不需要任何作用的数矩阵称为 $(0,0)$ 型,把需要一次列矩阵作用的行矩阵称为 $(0,1)$ 型,把需要一次行矩阵作用的列矩阵称为 $(1,0)$ 型,把需要一次列矩阵作用和一次行矩阵作用方列矩阵称为 $(1,1)$ 型。因此,所谓 “化简” 的乘法指的是使类型变小的乘法。

   注:这里我不称呼它们为 $(r, s)$ 型矩阵是因为这很容易和 $s \times t$ 型矩阵搞混。之后我会称呼它们为 $(r, s)$ 型张量。

   因此对 $(r, s)$ 型作用一次列矩阵会得到 $(r, s - 1)$ 型;作用一次行矩阵会得到 $(r - 1, s)$ 型。这也解释为什么行矩阵不能再作用一次行矩阵,列矩阵不能再作用一次列矩阵。

   很自然的,如果取更大的 $r$ 和 $s$,我们能把 $(r, s)$ 型定义成需要 $s$ 次列矩阵作用和 $r$ 次行矩阵作用来得到数矩阵的某种东西吗?

   答案是肯定的,这就是 $(r, s)$ 型张量的定义。

3. 矩阵的新记号

   之前说过,矩阵是一种组合数学对象,往往用二维数组 $ \begin{bmatrix}A_{i j}\end{bmatrix} $ 来表示。实际上,这不是一套很好的记号,为了得到张量,我们需要修改一下矩阵的记号。我们使用 $ \begin{bmatrix}A^i_j\end{bmatrix} $,即 $$ \boldsymbol{\mathbf{A}} = \begin{bmatrix} A_1^1 & & A_n^1 \\ & \ddots & \\ A_1^n & & A_n^n \\ \end{bmatrix} ~. $$

   这样的好处是什么呢?

  1. 不再需要记忆矩阵元是怎么摆放的了
  2. 不再需要考虑列/行矩阵是左乘还是右乘了
  3. 我们甚至可以省略掉求和符号(指标与求和约定

   这套符号还和行列矩阵统一了,我们有列矩阵 $ \boldsymbol{\mathbf{v}} = \begin{bmatrix}v^j\end{bmatrix} $,

\begin{equation} \begin{bmatrix}v^1 \\ \vdots \\ v^n\end{bmatrix} ~, \end{equation}
行矩阵 $ \boldsymbol{\mathbf{\theta}} = \begin{bmatrix}\theta_i\end{bmatrix} $,
\begin{equation} \begin{bmatrix}\theta_1 & \dots & \theta_n\end{bmatrix} ~. \end{equation}

   现在在矩阵 $ \boldsymbol{\mathbf{A}} $ 上作用列矩阵 $ \boldsymbol{\mathbf{v}} $,我们得到了一个新的列矩阵 $$ \begin{bmatrix}w^i\end{bmatrix} = \begin{bmatrix}\sum_j A^i_j v^j\end{bmatrix} ~. $$

   现在再作用行矩阵 $ \boldsymbol{\mathbf{\theta}} $,我们得到了 $$ \begin{bmatrix}a\end{bmatrix} = \begin{bmatrix}\sum_i w^i \theta_i\end{bmatrix} ~, $$

   反过来,我们也可以先作用行矩阵,再作业列矩阵,这会得到同样的结果;因此我们会同时作用列矩阵和行矩阵,即 $$ \begin{bmatrix}a\end{bmatrix} = \begin{bmatrix}\sum_{i, j} A^i_j v^j \theta_i\end{bmatrix} ~. $$

例 1 

   我们考虑一个 $3 \times 3$ 方矩阵与 $3 \times 1$ 列矩阵的乘法, $$ \begin{bmatrix} A_1^1 & A_2^1 & A_3^1 \\ A_1^2 & A_2^2 & A_3^2 \\ A_1^3 & A_2^3 & A_3^3 \\ \end{bmatrix} \begin{bmatrix} v^1 \\ v^2 \\ v^3 \\ \end{bmatrix} = \begin{bmatrix} A_1^1 v^1 + A_2^1 v^2 + A_3^1 v^3 \\ A_1^2 v^1 + A_2^2 v^2 + A_3^2 v^3 \\ A_1^3 v^1 + A_2^3 v^2 + A_3^3 v^3 \\ \end{bmatrix} ~. $$

4. 张量

   一个 $(r, s)$ 型张量是一个有两种编号(系数)的多维数组,记作 $ \begin{bmatrix}A_{j_1 \dots j_s}^{i_1 \dots i_r}\end{bmatrix} $。

   定义对它作用一个列矩阵 $ \begin{bmatrix}v^{j}\end{bmatrix} $,为

\begin{equation} \begin{bmatrix}B_{j_1 \dots j_{s - 1}}^{i_1 \dots i_r}\end{bmatrix} = \begin{bmatrix}\sum_j A_{j_1 \dots j_{s - 1} j}^{i_1 \dots i_r} v^j\end{bmatrix} ~, \end{equation}
得到一个 $(r,s - 1)$ 型张量。

   当 $s > 1$ 时,我们也可以对任意的系数 $j_k$ 求和,因此在定义 “作用一个列矩阵” 的时候,我们需要声明是哪个系数的作用,数学中如不加申明的使用,一般指最后一位。

例 2 $(0, 2)$-型张量

   一个 $2$ 维的 $(0, 2)$-型张量 $ \begin{bmatrix}A_{j_1 j_2}\end{bmatrix} $ 由 $A_{1 1}, A_{1 2}, A_{2 1}, A_{2 2}$ 四个数构成。考虑一个 $2$ 维列向量 $ \begin{bmatrix}v^1 \\ v^2\end{bmatrix} $,我们把它作用到 $ \begin{bmatrix}A\end{bmatrix} $ 的 $j_2$ 系数上得到

\begin{equation} \begin{aligned} \begin{bmatrix}\sum_j A_{j_1 j} v^j\end{bmatrix} &= \begin{bmatrix}\sum_j A_{1 j} v^j & \sum_j A_{2 j} v^j\end{bmatrix} \\ &= \begin{bmatrix}A_{1 1} v^1 + A_{1 2} v^2 & A_{2 1} v^1 + A_{2 2} v^2\end{bmatrix} ~. \end{aligned} \end{equation}

   类似的,可以对 $ \boldsymbol{\mathbf{A}} $ 作用一个行矩阵 $ \begin{bmatrix}\theta_i\end{bmatrix} $,为

\begin{equation} \begin{bmatrix}C_{j_1 \dots j_s}^{i_1 \dots i_{r - 1}}\end{bmatrix} = \begin{bmatrix}\sum_i A_{j_1 \dots j_s}^{i_1 \dots i_{r - 1} i} \theta_i\end{bmatrix} ~, \end{equation}
得到一个 $(r - 1,s)$ 型张量。

   对于 $(r, s)$ 型张量 $ \boldsymbol{\mathbf{A}} $ 来说,我们也可以一次性作用 $s$ 个列矩阵,$r$ 个行矩阵,得到一个数矩阵。

5. 张量的推广

   张量的定义是基于列/行向量的,而在线性代数中它们正好对应原向量和对偶向量。但如果我们抛开线性代数,假设存在第三种 “基本向量呢”?比如垂直于纸面向外写,我们可以得到 “竖向量”。如果以这三种向量为基础,我们可以定义 $(r, s, t)$ 型 “广义张量” 是一个有三种编号(系数)的多维数组,记作 $ \begin{bmatrix}{}^{k_1 \dots k_t}A_{j_1 \dots j_s}^{i_1 \dots i_r}\end{bmatrix} $。我们甚至可以定义第四个、第五个甚至更多个基本向量。


致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利