好的,矩阵/向量计算的快速课程:
矩阵是在矩形网格中排序的数字集合,例如:
[ 0, 1, 2 ]
[ 2, 3, 5 ]
[ 2, 1, 3 ]
[ 0, 0, 1 ]
上述矩阵有 4 行 3 列,因此是一个 4 x 3 矩阵。向量是具有 1 行(行向量)或 1 列(列向量)的矩阵。正态数称为标量以与矩阵进行对比。
矩阵使用大写字母,标量使用小写字母也很常见。
我们可以用矩阵进行基本计算,但有一些条件。
添加
如果矩阵具有相同的维度,则可以添加矩阵。因此,2x2 矩阵可以添加到 2x2 矩阵,但不能添加到 3x5 矩阵。
[ 1, 2 ] + [ 2, 5 ] = [ 3, 7 ]
[ 2, 4 ] [ 0, 3 ] [ 2, 7 ]
您会看到,通过添加每个单元格中的每个数字,都会将其添加到另一个矩阵中相同位置的数字上。
矩阵乘法
矩阵可以相乘,但这有点复杂。为了将矩阵 A 与矩阵 B 相乘,您需要将矩阵 A 中的每一行中的数字与矩阵 B 中的每一列相乘。这意味着如果将 axb 矩阵与 acxd 矩阵相乘,则 b 和 c 必须相等,并且结果矩阵为 axd:
[1,2,3] x [4,6] = [1x4+2x2+3x2, 1x6+2x1+3x3 ] = [4+4+6, 6+2+9 ] = [14, 20]
[1,4,5] [2,1] [1x4+4x2+5x2, 1x6+4x1+5x3 ] [4+8+10, 6+4+15 ] [22, 25]
[2,3]
如您所见,对于矩阵,A x B 不同于 B x A。
矩阵标量乘法
您可以将矩阵与标量相乘。在这种情况下,每个单元格都乘以该数字:
3 x [1,2] = [ 3, 6]
[4,7] [12,21]
反转矩阵
矩阵除法是不可能的,但您可以创建一个矩阵的反转,使得 A x A-inv 是一个除主对角线外全为零的矩阵:
[ 1, 0, 0 ]
[ 0, 1, 0 ]
[ 0, 0, 1 ]
矩阵求逆只能用方阵来完成,这是一项复杂的工作,不一定有结果。
从矩阵 A 开始:
[ 1, 2, 3 ]
A = [ 1, 3, 4 ]
[ 2, 5, 1 ]
我们添加 3 个额外的列并用单位矩阵填充它们:
[ 1, 2, 3, 1, 0, 0 ]
[ 1, 3, 4, 0, 1, 0 ]
[ 2, 5, 1, 0, 0, 1 ]
现在我们从第一列开始。我们需要从每一行中减去第一行,使得第一列除了第一行之外只包含零。为了做到这一点,我们从第二行中减去第一行一次,从第三行中减去两次:
[ 1, 2, 3, 1, 0, 0 ]
[ 0, 1, 1,-1, 1, 0 ]
[ 0, 1,-5,-2, 0, 1 ]
现在我们对第二列重复此操作(第一行两次,第三行一次)
[ 1, 0, 1, 3,-2, 0 ]
[ 0, 1, 1,-1, 1, 0 ]
[ 0, 0,-6,-1,-1, 1 ]
对于第三列,我们有一个小问题。枢轴数是 -6 而不是 1。但我们可以通过将整行乘以 -1/6 来解决这个问题:
[ 1, 0, 1, 3, -2, 0 ]
[ 0, 1, 1, -1, 1, 0 ]
[ 0, 0, 1, 1/6, 1/6, -1/6 ]
现在我们可以从第一行和第二行中减去第三行:
[ 1, 0, 0, 17/6,-13/6, 1/6 ]
[ 0, 1, 0, -7/6, 5/6, 1/6 ]
[ 0, 0, 1, 1/6, 1/6, -1/6 ]
好的,现在我们有了 A 的倒数:
[ 17/6,-13/6, 1/6 ]
[ -7/6, 5/6, 1/6 ]
[ 1/6, 1/6, -1/6 ]
我们可以这样写:
[ 17,-13, 1 ]
1/6 * [ -7, 5, 1 ]
[ 1, 1, -1 ]
[ 1, 2, 3 ] [ 17,-13, 1 ] [ 6, 0, 0 ] [ 1, 0, 0 ]
A = [ 1, 3, 4 ] x [ -7, 5, 1 ] x 1/6 = 1/6 x [ 0, 6, 0 ] = [ 0, 1, 0 ]
[ 2, 5, 1 ] [ 1, 1, -1 ] [ 0, 0, 6 ] [ 0, 0, 1 ]
希望这个对你有帮助。