计算科学与工程 学习笔记 A=LU

linear algebra主要涉及4个主要问题:

  1. LU分解,消元 $\mathbf{A}=\mathbf{L}\mathbf{U}$ ,matlab command: lu(A)

  2. QR分解 $\mathbf{A}=\mathbf{Q}\mathbf{R}$,主要用于最小二乘,矩形矩阵,matlab command: qr(A)

  3. eigenvalue $\mathbf{A}=\mathbf{S}\mathbf{\Lambda}\mathbf{S^{-1}}$, matlab command: eig(A)

  4. singular values decomposition, SVD. $\mathbf{A}=\mathbf{U}\mathbf{\Sigma}\mathbf{V^{T}}$, matlab command: svd(A)

首先来说LU 分解: 假设任意一个3x3矩阵 $\mathbf{A}$ \begin{equation}\mathbf{A}=\begin{bmatrix} a & b & c\\ d & e & f\\ 0 & g & h \end{bmatrix}\end{equation} 对于这样一个矩阵,做消元之前最好将其行顺序调整一下,提高消元的效率。按照Lec2的介绍,为了使0位的利用率最高(在消元的过程中不被fill in),应当使最左侧为0的行往前提。将单位矩阵 $\mathbf{I}_{3x3}$的第i 行与第j行互换(也可以是列互换,对于单位矩阵来说都一样)(称该矩阵为 $\mathbf{J}$),那么 $\mathbf{J}\mathbf{A}$将调换矩阵 $\mathbf{A}$的第i行与第j行。 $\mathbf{A}\mathbf{J}$将调换矩阵 $\mathbf{A}$的第i列与第j列。很容易可以证明矩阵 $\mathbf{J}$的逆矩阵是它本身,因为调换两次等于没调换。

  • 第一步,调整矩阵 $\mathbf{A}$的行顺序: \begin{equation}\mathbf{A}=\begin{bmatrix} 1 & 0 & 0\\ 0 & 0 & 1\\ 0 & 1 & 0 \end{bmatrix} \begin{bmatrix} a & b & c\\ 0 & g & h \\ d & e & f \end{bmatrix}\end{equation}

  • 第二步消元:step0,以第0行的行首作为pivot,然后对下面每一行,例如第j行执行-A[j][0]/A[0][0]*第0行的操作。如此操作,矩阵 $\mathbf{A}$将变成 \begin{equation}\mathbf{A^\prime}=\begin{bmatrix} a & b & c\\ 0 & e-d/a*b & f-d/a*c\\ 0 & g & h \end{bmatrix}\end{equation} 将这一行消元产生的系数A[j][0]/A[0][0]作为元素填入到L矩阵第0列中,将被消元后的矩阵 $\mathbf{A^\prime}$的第0行填入U矩阵的第0行。L矩阵是下三角矩阵,对角元素是1,其余元素,例如第一列的L[j][0]=A[j][0]/A[0][0]。U矩阵是上三角矩阵,例如,step0以矩阵A的第一行第一个元素作为pivot,那么矩阵 $\mathbf{A^\prime}$的第0行将不受后面消元操作的影响,所以可以直接填入U矩阵第0行中。下面再以矩阵 $\mathbf{A^\prime}$[1][1]作为pivot,对下面的行进行消元,从而继续填充L矩阵和U矩阵。

note:如果矩阵 $\mathbf{A}$是对称矩阵,LU分解之后会丧失symmetry,为了恢复symmetry,可以peel off diagonals from U: $\mathbf{U}=\mathbf{D}\mathbf{L^T}$。所以当矩阵 $\mathbf{A}$是对称矩阵,有 $\mathbf{A}=\mathbf{L}\mathbf{D}\mathbf{L^T}$

另外,一个对称矩阵的逆也是对称矩阵。

No comment found.

Add a comment

You must login to add a comment.

Site Maintenance

Our platform is currently undergoing maintenance. We apologize for any inconvenience. Please check back later.