本篇为MIT公开课——线性代数 笔记。
乘积的逆
两矩阵 (A、B) 相乘,且他们的逆均已知,那么他们的乘积 ((A.B)) 的逆是什么?
先说结果,((A.B)) 的逆就是 ((B^{-1}.A^{-1})) ,即
我们可以把括号消掉,根据乘法结合律,就能得到单位矩阵。
为什么逆矩阵顺序要反过来?
就像:先脱鞋子,再脱袜子,那么其逆过程就是,先穿袜子,再穿鞋子。
就是说,矩阵乘法顺序不能交换,必须先合成一个单位矩阵,然后再把两边矩阵再合成单位矩阵。
同理,我们进行左乘((B^{-1}.A^{-1}))也可以得到单位矩阵,即
转置
将矩阵的行列互换得到的新矩阵称为转置矩阵。
例如
转置后,变为
转置矩阵用右上标加 (T) 表示。他将 (m*n) 矩阵,变为 (n*m) 。
如果转置某可逆矩阵(B), 那么其转置(B^{T})的逆是什么?
我们可以从(B.B^{-1}=I) 开始,
两边同时转置,单位矩阵因为其对称性,转置后还是单位矩阵,
可以看出,(B^T) 的逆就是 (left(B^{-1} ight)^T) ,也就是 (B) 的逆矩阵的转置。
A的LU分解
前面的课程我们从矩阵 (A) 得到上三角矩阵 (U) ,是否存在一个矩阵(L),直接描述 (A) 和(U) 联系?
(2*2) 矩阵
举例:我们将矩阵 (A) 消元,得到上三角矩阵 (U).((upper))
那么什么矩阵能让我们得到 (A=L.U) ?我们两边同时乘以 (E_{21}) 的逆,就能得到,(L) 就是(E_{21}) 的逆。注意两边都是左乘。
(L) 表示下三角矩阵((lower))。
有时会把 (U) 的主元单独列出来:
这个式子叫做 (LDU) 分解。
(3*3) 矩阵
假设矩阵 (A) ,我们通过消元得到 (U)
矩阵 (L)就是各次消元矩阵的逆反顺序相乘:
到底为什么要写成这种逆的形式?而不用上面式子直接表示?
举例:
其中 (E_{31}) 是单位矩阵,下面我们相乘
这是要求的总的消元矩阵 (E)
然后进行逆反顺序相乘:
这就是要求的矩阵 (L)
可以看出,在L中不会出现像例子中E31(10)这项,这种因为消元产生的次生项,L比E更干净整洁,能一步到位写出来,这种书写能提高计算速度。
L矩阵只要得到主元的比值即可直接写出。
总结
对于 (A=L.U) ,如果不存在行交换,消元乘数可以直接写入 (L) 中。
意义
(LU) 分解的意义,在于优化计算速度(相比顺序高斯消元法)。
在一些实际应用场景中,如果求解方程 (Ax=b),系数矩阵 (A) 固定,(b) 是随输入变化的,求解不同的 (x)。这时 (LU) 分解就十分有用,通过将 (A) 预处理(分解),大大减少操作步骤。
通过将 (A) 分解,方程(Ax=b) 可以写成 (L.(Ux)=b) 形式,把(Ux) 替换为 (y) ,可以求解下面两个方程求解 (x) .
引用在其他地方看到的例子说明:https://blog.csdn.net/wo94chunjie/article/details/103859745
已知
假设 (b=left( egin{array}{c} -9 \ 5 \ 7 \ 11 \ end{array} ight))
应用 (A) 的 (LU) 分解求解 (Ax=b)
1)解 (L y=b) ,仅需6次乘法和6次加法
2)解 (U x=y) ,需要4次除法、6次乘法和6次加法
解得 (x=left( egin{array}{c} 3 \ 4 \ -6 \ -1 \ end{array} ight))
以上过程共需28次算术运算,不包括求(L)和(U)的运算在内.
而一开始就采用消元法,将 ([A quad x]) 化简为 ([I quad x]),则需要62次运算,因为中间需要对大量分量元素参与。
步骤数
如果对 (100*100) 的矩阵进行高斯消元,得到上三角矩阵 (U) ,需要多少次操作?规定乘法+减法=一次操作。
对第一列消元大约 (100^{2}) 次。按照计算机思想,每一行有n个元素,按照改变一个元素的值算一次运算。
第二列就大约需要 (99^{2}) 次 ,以此类推。
得出规律:
运用积分运算,对 (x^{2}) 从1到 (n) 积分 就可以算出。
考虑右侧向量 (b) ,需要对其进行 (n^{2}) 次操作。
置换矩阵
当出现主元为0 的情况下,我们就需要进行行交换。而置换矩阵可以用来进行行交换。
对于 3*3 矩阵,置换矩阵共有6种:
1.单元矩阵(不变): (left(egin{array}{ccc} 1 & 0 & 0 \ 0 & 1 & 0 \ 0 & 0 & 1 \ end{array} ight))
2.同时交换一次:
(left(
egin{array}{ccc}
0 & 1 & 0 \
1 & 0 & 0 \
0 & 0 & 1 \
end{array}
ight)) , (left(
egin{array}{ccc}
0 & 0 & 1 \
0 & 1 & 0 \
1 & 0 & 0 \
end{array}
ight)) , (left(
egin{array}{ccc}
1 & 0 & 0 \
0 & 0 & 1 \
0 & 1 & 0 \
end{array}
ight))
3.同时交换两次(想象每行同时向上循环移动一次):
(left(
egin{array}{ccc}
0 & 1 & 0 \
0 & 0 & 1 \
1 & 0 & 0 \
end{array}
ight)),(left(
egin{array}{ccc}
0 & 0 & 1 \
1 & 0 & 0 \
0 & 1 & 0 \
end{array}
ight)) .
对于4*4矩阵,就共有24种。
置换性质
对3*3的置换求逆,会发现其逆都在这6个矩阵中,比如
(left(egin{array}{ccc}
0 & 1 & 0 \
1 & 0 & 0 \
0 & 0 & 1 \
end{array}
ight)) 就是其本身,(left(
egin{array}{ccc}
0 & 1 & 0 \
0 & 0 & 1 \
1 & 0 & 0 \
end{array}
ight)),(left(
egin{array}{ccc}
0 & 0 & 1 \
1 & 0 & 0 \
0 & 1 & 0 \
end{array}
ight)) 互为逆。
置换矩阵的逆是其转置。