矩阵的LU分解
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了矩阵的LU分解相关的知识,希望对你有一定的参考价值。
参考技术A看了麻省理工的线性代数的一部分课程,主要是补补课,大二线代忘得差不多,主要目的是学习SVD,学习SVD之前补补前面的课,第一课就是LU分解了。
L是指下三角矩阵,U是指上三角矩阵,也就是说一个矩阵可以分解为下三角矩阵和上三角矩阵的乘积,下三角阵对角元是1,上三角是主元,貌似课上是这么说的。对于任意矩阵A可以写成:
还可以写成A=LDU,其中D是对角阵,例如:
这是LU分解而LDU则是
L是一堆初等变换乘积的逆,为什么是逆呢?
我们可以假设对于一个3*3的矩阵A化为上三角矩阵U需要将第二行第一个元素化为0,这一初等变换记作E 21 将第三行第一个,第二个元素化为0记作E 31 ,E 32
那么原式可以写为
为了简单我们令E 31 =E,那么另外两个的乘积可以设为:
注意到最终结果存在一个10,我们在消去第二行第一个元素时是乘以-2倍的,对于第三行是乘-5的,这两个是消元系数,但是10并不是,我们不想出现10,那么看看他们的逆呢?
很明显没有10了而这就是我们要的L只体现消元系数,而没有其他的数字。
在机器学习中目前没发现作用,度娘说LU分解主要应用在数值分析中,用来解线性方程、求反矩阵或计算行列式。
是n 3 ,n*n的矩阵,消去第一列是n 2 ,第二列是(n+1) 2 ...求和约为n 3 。
高等工程数学 矩阵的三角分解 (LU分解,LDR分解,Cholesky分解)
本文介绍了矩阵的三角分解,如LU分解,LDR分解,Cholesky分解等。
为博主在学习过程中,总结或者思考的记录,用于加深印象,不作为知识讲解和科普,如果理解有误还请指出。
文章目录
前言
对矩阵进行分解能够清晰反应出原矩阵的某些数字特征,在矩阵运算中可以起到化简的作用,其次在一些特定的场合将矩阵分解为合适的形式能够减少运算误差,在数值计算中有很重要的地位。
一、LR(LU)分解,也称Doolittle分解
若矩阵A可以表示为:
A
=
[
2
1
4
4
3
13
2
2
20
]
=
[
1
2
1
1
1
1
]
⋅
[
2
1
4
1
5
11
]
=
L
⋅
R
A =\\beginbmatrix 2 & 1 & 4 \\\\ 4 &3&13\\\\ 2&2&20 \\endbmatrix = \\beginbmatrix 1 & & \\\\ 2 &1&\\\\ 1&1&1 \\endbmatrix \\cdot\\beginbmatrix 2 & 1 &4 \\\\ &1&5\\\\ &&11 \\endbmatrix = L\\cdot R
A=⎣⎡24213241320⎦⎤=⎣⎡121111⎦⎤⋅⎣⎡2114511⎦⎤=L⋅R
LR分解可以用于解线性方程组
A
x
=
b
Ax = b
Ax=b,若方阵A有LR分解,即
A
=
L
⋅
R
A = L\\cdot R
A=L⋅R,令
R
x
=
y
Rx = y
Rx=y,则方程组等价于:
L
y
=
b
R
x
=
y
,
此
处
L
.
R
.
b
均
为
已
知
量
\\left \\\\beginaligned Ly = b \\\\ Rx = y\\endaligned\\right. ,此处L.R.b均为已知量
Ly=bRx=y,此处L.R.b均为已知量
由于L和R的特殊形式,
L
y
=
b
Ly = b
Ly=b 很容易利用高斯消元迭代求出y,然后代入
R
x
=
y
Rx = y
Rx=y,再次迭代求出x。
- 那么提出两个问题,是否所有矩阵可分解?分解的形式是否唯一?
1. 什么矩阵可以分解
很容易找到矩阵 [ 0 1 1 0 ] \\beginbmatrix0&&1\\\\1 &&0 \\endbmatrix [0110],此矩阵可逆但是没有三角分解。
定理1:n阶方阵A具有唯一LR分解的充要条件是A的前 n - 1个顺序主子式不为零。
其中, A = ( a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ) A=\\beginpmatrix a_11 & a_12 & \\cdots & a_1 n \\\\ a_21 & a_22 & \\cdots & a_2 n \\\\ \\vdots & \\vdots & \\ddots & \\vdots \\\\ a_n 1 & a_n 2 & \\cdots & a_n n \\endpmatrix A=⎝⎜⎜⎜⎛a11a21⋮an1a12a22⋮an2⋯⋯⋱⋯a1na2n⋮ann⎠⎟⎟⎟⎞ ,第k个顺序主子式 Δ k = ∣ a 11 a 12 ⋯ a 1 k a 21 a 22 ⋯ a 2 k ⋮ ⋮ ⋱ ⋮ a k 1 a k 2 ⋯ a k k ∣ \\Delta_k=\\left|\\beginarraycccc a_11 & a_12 & \\cdots & a_1 k \\\\ a_21 & a_22 & \\cdots & a_2 k \\\\ \\vdots & \\vdots & \\ddots & \\vdots \\\\ a_k 1 & a_k 2 & \\cdots & a_k k \\endarray\\right| Δk=∣∣∣∣∣∣∣∣∣a11a21⋮ak1a12a22⋮ak2⋯⋯⋱⋯a1ka2k⋮akk∣∣∣∣∣∣∣∣∣
易知 a 11 ≠ 0 a_11\\ne0 a11矩阵的LU分解该怎么具体做。亲,。举个例子吧