If you're seeing this message, it means we're having trouble loading external resources on our website.

如果你被网页过滤器挡住,请确保域名*.kastatic.org*.kasandbox.org 没有被阻止.

主要内容

矩阵与向量的积

定义与理解矩阵和向量乘积的意义。 Sal Khan 创建

想加入讨论吗?

尚无帖子。
你会英语吗?单击此处查看更多可汗学院英文版的讨论.

视频字幕

前几个视频里,已经介绍了 矩阵的概念,实际上就是一些 数值的阵列,通常是二维阵列。 我们的课程中涉及的 都是二维阵列。 假如有个 m × n 矩阵,m 是 行数, n 是列数。 我来列一个 m × n 矩阵。 具体说来, 我们称这个 m × n 矩阵 为矩阵 A。 通常,矩阵的元素 用 a 表示,第一个元素位于 第一行第一列。 下一个元素在第一行第二列。 接着可以继续输入,直到第一行 第 n 列,因为该矩阵有 n 列。 接着到下一行,该行第一个元素是 在第二行第一列。 接着输入这一列的每一个元素, 一共有 m 行 。 第二行的下一个元素呢? 这个元素的位置在 第二行第二列。 当然你接着把所有的元素都填上,最后一个的 位置是第 m 行第 n 列。 想一下,整个矩阵有多少 元素? 该矩阵有 m 行 n 列。 所以一共有 m 乘以 n 个元素。 我认为你已经了解了矩阵 这个基本性质,很可能在 代数 2 的课程里接触过。 在本视频里我们要把矩阵 和我们所知道的向量的 概念联系起来。 还要介绍一些矩阵 和向量之间的运算。 其中最自然的运算就是乘法, 或者称为积。 在本视频里我要定义 任意一个矩阵 A 和某向量 x 的 积。 这个定义成立的条件就是 和矩阵 A 相乘的向量 x 的分量数和 矩阵 A 的列数相等。 因此合适的向量 x 的分量为: x1,x2,... 一直到 x n。 我要把这个相乘的向量说清楚,尽管你可以 把它用不同方式表示。 关键是在矩阵 A 的横向 有 n 列,这里的向量 x 也 应该有 n 个分量。 如果这个条件成立,如果这个向量 的维数和这个 矩阵的列数相等,这个 矩阵和该向量的积 就有了定义。 这个定义并非 客观存在的。 这是数学家们 人为的约定这样的 矩阵和向量的积的定义。 下面我们要具体说明这个定义。 矩阵和向量在这里都用黑体表示。 按照惯例,如果没有用向量 的符号, 教科书上就用小写的 黑体字 x 来表示。 小写字体表示向量, 大写黑体字表示矩阵。 这些方法表示这些不是 普通的标量。 我们的定义是这个积等于 - 我把 它写大一些。 有多种方法能让人们直观地 了解这个积的定义,我们先看矩阵的第一行, 我来写这一行和该向量的积。 a11 乘以 x1 加上 a12 乘以 x2,继续下去, 最后加上 a1n 乘以 x n。 这个 m × n 矩阵和这个 n 维 向量的积等于一个新的向量,其第一个分量 等于矩阵第一行的每个元素乘以 向量 x 所对应的分量,然后全部加起来。 你看,这个过程很象 向量的点乘,这一点我一会儿再说。 我先把定义讲完, 再谈它的含义或 可能的关联。 因此第一个分量的计算, 就是像这样。 用矩阵的第一行和向量 x 的点积 来计算第一个分量。 现在用矩阵的第二行 - 我换一个颜色 - 注意我介绍的是人为定义。 完全是人为的。 不是什么一定要遵从的自然规律, 只不过方便而已。 计算新向量的第二个分量,第一项是 a21 乘以 x1,整个过程 和计算第一个分量类似,只不过这次是 用矩阵的第二行点乘列向量 x。 第二个分量等于 a21 乘以 x1 加上 a22 乘以 x2,接着进行下去直到 - 我用紫红色来标示 - 最后加上 a2n 乘以 x n 。 因此就是用矩阵的整行点乘整个列向量 x。 具体就是这一项乘以那一项,加上这一项乘以那一项... 一直加下去, 最后加上这 最后一项乘以那最后一项。 我们用同样的办法对待矩阵的每一行, 最后用到第 m 行的元素 am1。 这是第 m 行的第一列。 元素 am1 乘以 x1 加上 - 颜色换来换去挺麻烦- 加上 am2 乘以 x2, 接着进行下去直到最后加上 amn 乘以 xn 。 产生的这个新向量是什么样的呢? 我们先称这个新向量 为向量 b。 向量 b 看起来什么样呢? 它有多少个分量呢? 矩阵 A 的每一行都对应一个 b 向量的分量,对吧? 计算中我们把矩阵 A 的每一行当作一个向量 和这个列向量 x 点乘。 我一会儿就给出 正规的算符。 我想你理解这是一个点积。 这第一个分量乘以那第一个分量,加上 这第二个分量乘以那第二个分量,再加上 这第三个分量乘以那第三个分量,一直到 再加上这第 n 个分量 乘以那第 n 个分量。 所以这实际上是这个行向量和向量 x 的点乘。 我们一直把向量的分量按列排,故我们 叫它们列向量,如果 按行排列就是行向量。 我们一会儿就用专门的算符来表示, 先说所得的向量是什么样的。 我们做了 m 次点乘, 得到了 m 个分量。 向量 b 的分量用 b1,b2 等一直到 bm 来表示。 如果把这些都看成是矩阵 -我们要学到的矩阵 运算方法就可以运用 - 这是个 m × n 阶矩阵, 和它相乘的列向量有多少行? 有 n 行。 这个向量有 n 个分量,排成一列。 因此 m × n 阶矩阵乘以 n × 1 阶列向量矩阵,结果是把中间 的两个下标去掉 - 得到的列向量 矩阵有多少行? 这个列向量有 m 行 1 列。 这中间的两个下标必须相等 才符合矩阵乘法的定义,结果是 m 行 1 列矩阵。 这些是一般公式,我们来把它运用到 一些实例中。 先定义好运算规则很重要。 以上的定义可以运用到 实际的矩阵和向量上。 假设有一个矩阵。 这个要做乘法运算的矩阵第一行元素为 -3,0,3,2。 下一行用黄色标识。 该行元素为 1,7,1,9。 让它和一个向量相乘。 这个向量应该有 多少行或分量呢? 可以和本例中的矩阵相乘, 该向量的分量数必须和 矩阵的列数相同才有意义。 矩阵有 1,2,3,4 列。 所以该向量就得有 4 个分量,才能和 这个矩阵相乘,否则 就没有意义。 我们在这里设定该矩阵的 4 个分量。 假设它们是 2,-3,4,-1。 这个积应该等于多少呢? 这个运算所得的第一个分量等于 矩阵的第一行和该向量的点积。 第二个分量是由这个 行向量点乘这一列而得到的。 我们来具体计算。 第一个分量是 -3 乘以 2 加上 0 乘以 -3 加上 3 乘以 4 再加上 2 乘以 -1。 这个向量的第二个分量是 1 乘以 2 加上 7 乘以 -3 加上 -1 乘以 4 再加上 9 乘以 -1。 化简后会怎么样? 第一个分量成为 -6 加上 0 加上 12 然后减去 2。 第二个分量成为 2 减去 21 再减去 4 然后减去 9。 回到头一个分量,等于 -6 加上 12 再减去 2 就是 4。 再算第二个分量,2 减去 21 得 -19。 我来检查一遍。 -21 减去 9 得 -30,再减去 4 得 -34, 然后加上 2,得 -32。 这就是我们算出的积。 我再把一些事情说清楚。 一般我们习惯于把 向量写成列向量。 不过你可以把该矩阵里每一行看成是行向量。 但是还有其它的办法来理解这个问题。 假设有一个向量 a1。 向量 a1 的分量为 -3,0,3,2。 而且定义向量 a2 的分量为 1,7,-1,9。 我把这两个向量按标准的 向量的格式写出来。 我把它们写成列向量。 要把它们变成行向量 需要转置函数。 转置就是把行变成列而 把列变成行。 因此对于 a1这个列向量,转置后成为 这样的行向量。 它的分量还是 -3,0,3,2。 同样道理 a2 的转置就是行向量 1,7,-1,9。 这样上述的矩阵乘法,可以重写为 - 第一行用 a1 的转置来代替。 列向量转置之后就是行向量。 第二行以 a2 的转置来代替。 转置的标号应当是上标。 这些向量这样写就可以表示 它们分别代替了第一行和第二行。 再乘以这个列向量,这里 还是称它为向量 x。 我们现在可以把这个矩阵和列向量的积重写, 等于什么? 这里我们写的第一行等于 向量 a1 点乘向量 x。 你学过点乘。 第一行是向量 a1 点乘 向量 x, 就是各自对应的分量相乘再相加。 它就是点积。 这个定义有用因为在我的点积 定义里,我只用这样的列向量。 这是两个列向量的点积。 还没有正式定义一个行向量 和一个列向量的积。 现在我可以说如果这是个标准列向量, 就像我们一直在处理的向量一样,这个矩阵的 每一行可以写成一个列向量的转置, 或者是一个行向量。 这样我可以把这个积写成 这每个行的转置,或者你也可以 说是逆转置与这个向量的点积。 显然这第二行就是向量 a2 点乘向量 x。 这第二行的向量 a2 点乘向量 x 就是 1 乘 2 加 7 乘 -3 -1 乘 4 加 9 乘 -1 就是这样。 这是一种理解的方法。 矩阵和向量的乘积就是把矩阵的 行转置后点乘那个和它相乘的向量。 这是看待矩阵乘法的一个方法。 另外还有一个方法 - 我准备 用一个不同的例子来解释。 想用一些不同的数据。 假如有一个矩阵 A,其元素分别为 3, 1,0,3,2,4,7,0,-1,2,3,4。 这个矩阵乘以一个 4 分量向量。 这个向量 x 的分量分别为 x1,x2,x3 及 x4。 这次不再把矩阵 A 看成一些行向量,我们把 A 看成一组列向量。 我们把第一列的元素看作向量 1。 把第二列的元素看作向量 2。 把第三列的元素看作向量 3。 把第四列的元素看作向量 4。 这样就把矩阵 A 用 一组列矩阵来表示。 该矩阵就可用向量 v1、向量 v2、 向量 v3、向量 v4 来表示。 这样如何做 矩阵乘法呢? 从哪儿着手呢? 我们做矩阵和向量的乘法时,向量 1 里的所有元素都 要和 x1 这个分量相乘。 我来根据矩阵和向量的 乘法规则来做些运算。 如果把矩阵 A 乘以向量 x,我先开个头, 也许不用全部做完就可以解释清楚这个过程。 只是希望你理解这个过程。 3 乘以 x1 加上 1 乘以 x2 再 加上 0 乘以 x3 然后加上 3 乘以 x4。 这是乘法所得的第一个元素。 类似地用第二行的元素乘以向量 x 对应的分量然后再相加。 最后用第三行的元素乘以向量 x 的 每一个对应的分量然后再相加。 看出规律了吧。 是怎么回事呢? 第一个向量总是和 标量 x1 相乘。 实际上你可以在这里看到这部分的运算。 在每一行的运算中我们都看见 向量 1 的元素乘以标量 x1。 向量 1 的每个分量 3,2,-1。 我们用它乘以标量 x1 。 再加上这个向量乘以标量 x2, 然后加上这个向量乘以标量 x3。 所以可以把矩阵 A 乘以向量 x 写成标量 x1 乘以 向量 v1 加上标量 x2 乘以向量 v2 - 我把向量 v 用黄色来表示 - 再加上标量 x3 乘以向量 v3, 最后加上 标量 x4 乘以向量 v4 。 很明显如果我们有 n 项,这里就得有 n 个向量,这个式子可以推广到 一般的 n 项。 有意思的是矩阵 A 与向量 x 的积可以看成一 个线性组合。 这些任意数取决于 向量 x 是什么。 因此取决于向量 x,我们得到 矩阵 A 中的列向量的一个线性组合。 这就是矩阵 A 中的 列向量的一个线性组合。 所以这个公式很有意思。 你过去见过矩阵乘法。 我希望你能理解这两种 对矩阵乘法的解释,因为它们对于 将来学习列空间之类的 概念很重要。 实际上你还可以把矩阵和向量的乘法解释 成对向量 x 的转换。 为了简洁一些本视频中就不说了。 本视频的结论是这个矩阵和向量的乘法 可以解释为矩阵 A 中的列向量的加权线性组合, 其中向量 x 决定了该组合中 各个列向量的权重。 或者可以把这个矩阵和向量的乘法 解释为矩阵的行向量与所乘的向量的点积, 其中这些行向量可以看成列向量的转置。 就是这些对应的列向量 和向量 x 之间的点积。 这些对矩阵和向量的乘积的解释都是合理而准确, 希望能帮助你对矩阵乘法 得到足够的理解。 希望这些不同的解释能够加深你 对有关知识理解和掌握。