为了以后自己看的明白(●’◡’●),我决定对复杂的计算过程不再用Latex插入数学公式了(记得不熟的实在是太费劲了,还是手写好~)
第三讲的主要内容有两个:
矩阵乘法(Matrix multiplication)
矩阵相乘例子:
(A(m,n))(B(n,p))=(C(m,p))
1、具体到元素的乘法方式
结果矩阵 C 的某一个元素 Cij 是由 A 矩阵的第 i 行元素与 B 矩阵的第 j 列相乘得到的,使用公式表示如下
Cij=k=1∑nAi,kBk,j
这是我们理解矩阵乘法一般的思想,但是在线性代数中,更好的方式是整体,也就是之前所提到的用向量乘的方式理解矩阵相乘,所以就有了接下来的方式
2.行方法
之前我们提到过行向量乘矩阵,可以理解为矩阵中行向量的线性组合,其实矩阵乘法也是如此,将左侧矩阵 A 看作是多个行向量, 那么矩阵乘法就可以看作是多个行向量乘矩阵 B ,将结果行向量(行向量乘以矩阵结果仍仍然是行向量)拼在一起就是结果矩阵 C。
简单来说就是把 B 中的行向量作为基准,用 A 中的行向量对其进行线性组合
例如:

其实就是将矩阵 A ,也就是将左侧矩阵的每一个行向量去乘右侧的矩阵,那么每一个 A 的行向量乘矩阵 B 的结果作为结果矩阵的一个行向量,最后所有的向量乘矩阵计算完成之后就组成结果矩阵了。
3.列方法
同理,如果我们用左侧矩阵 A 乘右侧矩阵 B 的每一个列向量,其结果就是结果矩阵 C 中的对应位置的列向量:

4.行列向量相乘
结合上面的两种方式,我们可以考虑对于结果矩阵 C 中的位置为 (i,j) 的元素是如何得到的,在第一种方式我们知道是矩阵 A 的第 i 行的每一个元素乘以矩阵 B 的第 j 列的每一个元素的和,其实从整体行列响亮的角度来看,其实就是 A 第 i 个行向量乘以 B 的第 j 个列向量(行向量乘以列向量结果是一个元素)
矩阵分块乘法
简单的提了一下分块乘法:
(A1A3A2A4)(B1B3B2B4)=(A1B1+A2B3A3B1+A4B3A1B2+A2B4A3B2+A4B4)
其中 A ,B 均代表矩阵
逆矩阵(Inverse matrix)
矩阵的逆(称为逆矩阵),也就是求解下式:
A−1A=I
I 是单位矩阵(identity matrix),首先明确一点,上式是左乘了一个矩阵使之称为单位阵,那么右乘一个矩阵使得结果矩阵成为单位阵那又如何呢?直接给出结果:
A−1A=AA−1=I
也就是说矩阵的逆唯一,当然这里有前提:这是对方阵而言,如果只是普通的矩阵,那显然左逆与右逆 的维数不一样,也就不会相等了。
接下来考虑的问题是对于一个方阵,是否一定存在逆矩阵?
举一个例子:
(1236)X=I
是否存在逆矩阵?结果是找不到的,可以这样理解:
首先我们可以发现这个矩阵的列向量是存在倍数关系的,第二列是第一列的2倍。
如果我们用上面列方法来考虑,也就是说矩阵 I 的列向量都是左侧矩阵的列向量的线性组合,也就是说,矩阵 I 的某一列是 k(12)+p(36) 这样的结果可以合并为 m(12) 显然这个结果肯定不会是单位阵中的某一列(因为特点是一列中只有一个1,其余的元素都是0)
接下来讨论如何求解一个方阵的逆:
一般的方法,就是假设出 A−1 中的元素,然后就是一个解线性方程组的过程了,更好的方式是将矩阵放在一起考虑,这个方法叫做高斯-若尔当方法(Guass-Jordan),方法如下:
求解 方阵 A 的逆
首先构造这样的矩阵:
(A,I)
就像增广矩阵一样,在右侧添加一个单位阵,接下来,如果我们对整个矩阵进行一系列行变换使得矩阵中 A 变为单位阵:
(I,?)
那么此时原来的单位阵变成了什么?首先用消元法的思想表示上面的过程:
E(A,I)=(EA,EI),EA=I
这里将E乘到里面是为了更方便理解(可以想一下,左乘矩阵 E ,是对整个矩阵进行行变换,所以列都是同步变化的)
因为 EA=I成立,逆是唯一的,所以 EI 就应该是 A 的逆矩阵了。
同时对两个矩阵进行行变换求逆矩阵,就是高斯-若尔当方法的思想
例子:
⎝⎛1237⋮⋮1001⎠⎞⇒⎝⎛1031⋮⋮1−201⎠⎞⇒⎝⎛1001⋮⋮7−2−31⎠⎞⇔(IA−1)
以上~