《计算方法》笔记之(三)线性代数方程组之 矩阵分解

本文详细介绍了线性代数方程组的矩阵LU分解,包括LU分解的条件、计算公式和其与Gauss消去法的关系。此外,还探讨了其他三角分解如LDU分解,对称正定矩阵的Cholesky分解,以及带状矩阵和三对角矩阵的分解。最后,讨论了矩阵分解在求解方程组、计算行列式、求逆及处理成组方程组中的应用。
摘要由CSDN通过智能技术生成

Gauss 消去法的矩阵意义

注意:这里面讨论的不是列主元高斯消去法,所以算法可能不稳定

根据《线性代数》我们知道,对于矩阵 A 行初等变换相当于左乘相应初等矩阵,对于矩阵 A 列初等变换相当于右乘相应初等矩阵。
由此可知:

A = L U A=LU A=LU

即 A 可以表示成为一个单位下三角阵 L 与一个上三角阵 U 的乘积

这就是矩阵的 LU 分解,也称为三角分解或 Doolittle 分解

矩阵的 LU 分解

那是不是所有的方阵都能够进行 LU 分解呢,如果不是,那又是哪些能够进行 LU 分解呢?

联系前面我们知道 Gauss 消元法顺利进行的条件是各个消元的主元不为 0 (即 a k k ( k − 1 ) ≠ 0 a_{kk}^{(k-1)} \neq 0 akk(k1)̸=0 )。我们知道,能够进行 Gauss 消元与能够进行 LU 分解是等价的, Gauss 消元法也可以用来求行列式。

若将矩阵 A 的左上方各阶顺序主子矩阵记为 A 1 , A 2 , . . . , A n A_1,A_2,...,A_n A1,A2,...,An 。使用高斯消元法使得第 k 个消元的主元如果为 0 ,那么 d e t ( A k ) = 0 det(A_k)=0 det(Ak)=0 ,所以有:
若 n 阶方阵的各阶顺序主子行列式不为 0 ,则存在唯一的单位下三角矩阵 L 和上三角矩阵 U ,满足 A=LU

由此定理可以得到 LU 分解的计算公式:

对于 A 中的每一项,有
因此得到 LU 分解的每项的计算公式:

{ μ 1 j = α 1 j , j = 1 , 2 , . . . , n l i 1 = α i 1 μ 11 , i = 2 , 3 , . . . , n μ i j = α i j − ∑ k = 1 i − 1 l i k u k j , j = i , i + 1 , . . . , n , i = 2 , 3 , . . , n l k i = 1 μ i i ( α k i − ∑ t = 1 i − 1 l k t μ t i ) , k = i + 1 , . . . , n , i = 2 , 3 , . . , n \left\{ \begin{array}{l} {\mu _{1j}} = {\alpha _{1j}}{\rm{ }},j = 1,2,...,n\\ {l_{i1}} = \frac{ { {\alpha _{i1}}}}{ { {\mu _{11}}}}{\rm{ }},i = 2,3,...,n\\ {\mu _{ij}} = {\alpha _{ij}} - \sum\limits_{k = 1}^{i - 1} { {l_{ik}}{u_{kj}}} {\rm{ }},j = i,i + 1,...,n,i = 2,3,..,n\\ {l_{ki}} = \frac{1}{ { {\mu _{ii}}}}({\alpha _{ki}} - \sum\limits_{t = 1}^{i - 1} { {l_{kt}}{\mu _{ti}}} ){\rm{ }},k = i + 1,...,n,i = 2,3,..,n \end{array} \right. μ1j=α1j,j=1,2,...,nli1=μ11αi1,i=2,3,...,nμij=αijk=1i1likukj,j=i,i+1,...,n,i=2,3,..,nlki=μii1(αkit=1i1lktμti),k=i+1,...,n,i=2,3,..,n
所以要先计算 U 中的第 i 行元素,再计算 L 中的第 i 列元素(因为计算 L 中的第 i 列元素需要知道 u i i u_{ii} uii )。总的时间复杂度为 O ( n 3 ) O(n^3) O(n3)

我们在存储时,可以将 LU 存储在一个矩阵中,减小空间消耗:
( a 11 ( 0 ) a 12 ( 0 ) a 13 ( 0 ) ⋯ a 1 n ( 0 ) β 1 ( 0 ) l 21 a 22 ( 1 ) a 23 ( 1 ) ⋯ a 2 n ( 1 ) β 2 ( 1 ) l 31 l 32 a 33 ( 2 ) ⋯ a 3 n ( 2 ) β 3 ( 2 ) ⋱ ⋮ ⋮ l n 1 l n 2 l n 3 ⋯ a n n ( n − 1 ) β n ( n − 1 ) ) {\begin{pmatrix} {a_{11}^{(0)}}&{a_{12}^{(0)}}&{a_{13}^{(0)}}& \cdots &{a_{1n}^{(0)}}&{\beta _1^{(0)}}\\ { {l_{21}}}&{a_{22}^{(1)}}&{a_{23}^{(1)}}& \cdots &{a_{2n}^{(1)}}&{\beta _2^{(1)}}\\ { {l_{31}}}&{ {l_{32}}}&{a_{33}^{(2)}}& \cdots &{a_{3n}^{(2)}}&{\beta _3^{(2)}}\\ {}&{}&{}& \ddots & \vdots & \vdots \\ { {l_{n1}}}&{ {l_{n2}}}&{ {l_{n3}}}& \cdots &{a_{nn}^{(n - 1)}}&{\beta _n^{(n - 1)}} \end{pmatrix}} a11(0)l21l31ln1a12(0)a22(1)l32ln2a13(0)a23(1)a33(2)ln3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值