高等工程数学 —— 第三章(1)三角分解和满秩分解
三角分解
感觉不用特别抠概念,看例题会方法就行。
Doolittle分解
简单讲就是将其进行如下分解:
计算公式如下:
哈哈哈哈,看不懂是吧。那就别看了,看例题解法就行了。
简单说就是这样:
例:
- 这里A的第一行不变就作为U的第一行。L的对角元全写1,第一列的其他元素 l k 1 = a k 1 u 11 l_{k1} = \frac{a_{k1}} {u_{11} }\quad lk1=u11ak1.
- 心里去想那个分层的框,然后先算行。算u就是用原来的a的值去减去它每一层左边和上边的框外元素的乘积。算 l l l就是在此基础上在除一个 u k k u_{kk} ukk。例如:对于 l 32 l_{32} l32而言就是原来的 a 32 a_{32} a32减去框外左边的 l 31 l_{31} l31与框外上边的 u 12 u_{12} u12的乘积,再处于对应列的 u k k u_{kk} ukk,这里为 u 22 u_{22} u22。
选列主元的Doolittle分解
对于上述Doolittle分解存在以下问题:
- 在真实算法计算时可能会用一些误差,如果 u k k u_{kk} ukk的值特别小那就会将误差放大影响结果。当 u k k = 0 u_{kk} = 0 ukk=0时那就直接不能运行了。所以这里我们选列主元其实就是选每一列的最大元素行变换到对角元作为 u k k u_{kk} ukk。注意看列元素最大值时 l l l的值不用除以 u k k u_{kk} ukk,因为这里 u k k u_{kk} ukk并没有确定。
- 我们可以用一个置换矩阵 P P P来记录我们行变换的结果,就是先让 P P P作为单位阵,然后跟着前面做同样的行变换就好了。
例:
Cholesky分解
这里还是直接看例题就好了。
- 注意这里起手式是用之前的方法去求第一列。对角元素不全为1,正常求后记得开根号。用到 u u u的时候就用转置脑补一下。
矩阵的满秩分解
- A A A的满秩分解总是存在,但满秩分解并不唯一。
满秩分解其实就是用初等变换化成阶梯矩阵,看例题就好了。
运用初等行变换变成阶梯型,并且非0行的首1元素那一列其他元素全为0.
这个方法太麻烦了,我们一般用下面这个简便方法:
- 可见 F F F就是 A A A经过初等行变换后各行首1元素所在列对应 A A A中的列。
- G G G就是经过初等变换后去掉全0行的阶梯矩阵
- 注意每行的首1元素所在列其他元素应全化为0