LU 分解

Some concepts

We suppose $v \in \mathbb{R}^n$ with $v_k \neq0$ .If

and we difine

then

A matrix of the form $M_k = I_n - \tau e_k^T\in \mathbb{R}^{nxn}$ is a Gauss transformation if the first $k$ components of $\tau \in \mathbb{R}^n$ are zero. Such a matrix is unit lower triangular. The components of $\tau(k +1:n)$ are called multipliers. The vector $\tau$ is called the Gauss vector.

LU Factorization

If no zero pivots are encountered in (3.2.3), then Gauss transformations $M1,M_2,\cdots,M{n-1}$ are generated such that $M{n-1}\cdots M_2M_1 A = U$ is upper triangular. It is easy to check that if $M_k = I_n - \tau^{(k)}e_k^T$ , then its inverse is prescribed by $M{k}^{-1}=I_n+\tau^{(k)}e_k^T$ and so

where

It is clear that L is a unit lower triangular matrix because each $M_k^{-1}$ is unit lower triangular. The factorization (3.2.4) is called the LU factorization.

Theorem 3.2.1 (LU Factorization)

If $A \in \mathbb{R}^{n\times n}$ and $det(A(1:k,1:k))\neq 0$ for $k = 1:n-1$ , then there exists a unit lower triangular $L \in \mathbb{R}^{n\times n}$ and an upper triangular $U \in \mathbb{R}^{n\times n}$ such that $A = LU$. If this is the case and $A$ is nonsingular, then the factorization is unique and $det(A) = u{11}\cdots u{nn}$

存在的充要条件

矩阵 $A$ 的顺序主子阵 $A_i$ 均非奇异

矩阵 $A$ 的主元 $a_{ii}^{(i-1)}(i=1,\cdots,k)$ 均不为$0$

存在唯 一的单位下三角阵 $L\in \mathbb{R}^{n\times n}$和下三角阵$U\in \mathbb{R}^{n\times n}$使得 $A=LU$

算法

image-20241007185955860

第二行中的 $A(k+1:n,k)$ 就是高斯变换中的乘子。

需要进行的浮点数运算(包含加减和乘除)一共是:

全主元高斯消去

目的

为了解决两个问题

  • 主元值较小
  • 主元值为 $0$

初等置换矩阵

将单位矩阵$I$的第$p,q$两列交换得到的矩阵记为初等置换矩阵$I_{pq}$,即

有如下的性质:

  • $I{pq}=I{pq}^T=I_{qp}^{-1}$
  • $\det{(I_{pq})}=-1$

定理

设 $A \in \mathbb{R}^{n\times n}$ ,则存在排列矩阵 $P,Q\in \mathbb{R}^{n\times n}$ ,以及单位下三角矩阵 $L \in \mathbb{L}^{n\times n}$ 和上三角矩阵 $U \in \mathbb{R}^{n\times n}$ ,使得

且$L$ 的所有元素均满足 $|a_{ij}|<1$ ,$U$的非零对角元的个数恰好等于矩阵 $A$ 的秩。

算法

image-20241007184719176

复杂度分析,如果 $A$非奇异,那么全选主元必须要进行

次两两元素之间的比较和逻辑判断,为了解决上述问题,列主元消去法被提出来。

列主元消去法的改进就是每次选取的时候,不是选取剩余的方阵的最大值,而是选取在这一列中的最大值,然后进行行交换。

算法如下:

image-20241007185234684