线性代数
矩阵基础:矩阵入门指南
作者 MathSolver Pro Editorial Team · 发布于
矩阵是按行和列排列的矩形数表。矩阵可以紧凑地存储数据,更重要的是,它可以表示线性变换和方程组。本指南介绍矩阵的记号和核心运算,并特别讲解矩阵乘法。
什么是矩阵
矩阵是按行和列排列的矩形数阵,其中的数称为元素。有 行、 列的矩阵,其大小为 ,读作“m 乘 n”,总是先说行数。矩阵 中第 行第 列的元素记作 。例如:
只有一列的矩阵是列向量,只有一行的矩阵是行向量。行数与列数相同的矩阵是方阵;只有方阵才可能有行列式和逆矩阵。两个矩阵只有在大小相同、并且每个对应元素都相等时才相等。
矩阵加法与数乘
大小相同的矩阵按元素逐个相加: 中第 行第 列的元素是 。减法也是如此。大小不同的矩阵根本不能相加,因为无法合理地把它们的元素一一配对。
用一个标量(即普通的数)乘矩阵,就是把每个元素都乘以这个数。这些运算的规律与普通算术完全一样:加法满足交换律和结合律,并且 。
例 1:线性组合
- 设 ,。
- 。
- 。
矩阵乘法:行乘列
矩阵乘法不是按元素逐个相乘。乘积 的每个元素是 的某一行与 的某一列的点积:
这要求 的列数等于 的行数。如果 是 , 是 ,乘积就是 。一个快速检查的办法是把两个大小并排写出:中间的两个数必须相同,外侧的两个数给出结果的大小。 矩阵乘以 矩阵得到 矩阵,但 矩阵乘以另一个 矩阵是没有定义的。
例 2:两个 2 乘 2 矩阵相乘
- 设 ,。
- 的第 1 行与 的第 1 列:。
- 第 1 行与第 2 列:。
- 第 2 行与第 1 列:。第 2 行与第 2 列:。
- 所以 。
顺序很重要:AB 通常不等于 BA
把上例中的顺序颠倒,得到 ,这是一个不同的矩阵。矩阵乘法不满足交换律。对于非方阵,情况可能更糟:一种顺序有定义而另一种没有,或者两个乘积的大小不同。
其他一些熟悉的规律仍然成立。乘法满足结合律 ,并对加法满足分配律 。不过有两点值得记住。两个非零矩阵的乘积可以是零矩阵;而且除非 可逆,否则不能由 消去 。因此,矩阵的代数运算比数的代数运算需要更加小心。
展开 这类表达式时,要保持顺序:结果是 ,而不是 。
单位矩阵与转置
单位矩阵 是主对角线上全为一、其余位置全为零的方阵。它的作用相当于普通算术中的数 1:对任何大小匹配的方阵 ,都有 。所有元素都为零的零矩阵则相当于 0。
转置 把行和列互换,所以 中第 行第 列的元素是 。 矩阵转置后变为 。一条有用的规则是:乘积的转置要把顺序颠倒:
等于自身转置的矩阵称为对称矩阵。对称矩阵在统计学和物理学中随处可见,它们的特征值性质特别好,总是实数。
矩阵与方程组
矩阵最重要的用途之一,是把线性方程组写得很紧凑。方程组 和 可以写成:
把左边乘开,正好还原出这两个方程,这是检查矩阵是否列对的好办法。它的解是 ,。把方程组写成这种形式后,同样的方法(行化简或逆矩阵)既能解两个方程,也能解两千个方程。我们的方程组解法指南介绍了手算方法,方程组计算器则能逐步求解。
矩阵的应用
- 计算机图形学:3D 模型的旋转、缩放和投影,就是对每个顶点做矩阵乘法。
- 数据科学:数据集就是一个矩阵,每个观测占一行,每个变量占一列,主成分分析等技术直接对它进行运算。
- 网络:邻接矩阵记录哪些节点相连,它的幂可以统计给定长度的路径数。
- 经济学与工程:投入产出模型和电路分析会产生大型线性方程组。
- 机器学习:神经网络的各层主要就是矩阵乘法。
矩阵计算器可以对任意大小相容的矩阵做加法、乘法和转置,并显示每一次行乘列的计算过程,用来检查作业很方便。
矩阵的幂与对角矩阵
方阵可以与自身相乘,所以 、 这样的幂是有意义的。非方阵没有幂,因为大小不匹配。只要一个过程不断重复,就会出现矩阵的幂:如果一个矩阵描述了一年内人口在各地区之间如何流动,它的十次幂就描述了十年间的流动情况。
对角矩阵的非零元素只出现在主对角线上,用起来特别方便。两个对角矩阵相乘,只需把对角线上的元素相乘;所以对角矩阵的幂,就是把每个对角元素都取相应的幂。例如,对角元素为 2 和 3 的对角矩阵,其平方是对角元素为 4 和 9 的对角矩阵。高等线性代数的很大一部分内容,就是把矩阵改写成对角形式,使这类计算变得简单。
矩阵的常见错误
- 说明大小时把行和列弄混。行数总是在前。
- 按元素逐个相乘,而不是行乘列。
- 以为 ,或者在化简表达式时随意调换因子的顺序。
- 试图把大小不同的矩阵相加,或者把中间维数不匹配的矩阵相乘。
- 忘记乘积的转置要把因子的顺序颠倒。
在任何计算之前先快速检查大小,就能发现大多数这类错误。在每个矩阵下面写出它的大小,确认运算有定义,并在算出任何一个元素之前先预测答案的大小。
常见问题
怎样判断两个矩阵能否相乘?
把它们的大小并排写出,例如 和 。如果中间的两个数相同,乘积就存在,其大小由外侧的两个数给出,这里是 。
矩阵乘法为什么不按元素逐个相乘?
因为行乘列的规则使乘积表示先做一个线性变换、再做另一个线性变换。按元素相乘的运算也存在,称为阿达马积,但它没有这种含义。
矩阵乘法的顺序重要吗?
重要。一般来说 ,有时两个乘积中只有一个有定义。一定要记清哪个矩阵在左边。
矩阵的“m 乘 n”是什么意思?
它表示大小: 行、 列,行数写在前面。 矩阵有三行两列。
两个非零矩阵的乘积可能是零矩阵吗?
可能。例如,第一行为 0、1,第二行为 0、0 的矩阵与自身相乘,得到零矩阵。这也是不能总是从方程两边约去一个矩阵的原因之一。