- 注册时间
- 2007-12-27
- 最后登录
- 1970-1-1
- 威望
- 星
- 金币
- 枚
- 贡献
- 分
- 经验
- 点
- 鲜花
- 朵
- 魅力
- 点
- 上传
- 次
- 下载
- 次
- 积分
- 43547
- 在线时间
- 小时
|
发表于 2023-10-8 21:56:40
|
显示全部楼层
三对角阵可以通过追赶法来解决。
你这里的五对角阵也可以用类似方法去解决,我们假设
\(\begin{pmatrix}a_{11}&a_{12}&a_{13}&0&0&0&0&\cdots&0&0&0\\
a_{21}&a_{22}&a_{23}&a_{24}&0&0&0&\cdots&0&0&0\\
a_{31}&a_{32}&a_{33}&a_{34}&a_{35}&0&0&\cdots&0&0&0\\
0&a_{42}&a_{43}&a_{44}&a_{45}&a_{46}&0&\cdots&0&0&0\\
\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots\\
0&0&0&0&0&0&0&\cdots&a_{n,n-2}&a_{n,n-1}&a_{n,n}
\end{pmatrix}=LU\)
其中
L=\(\begin{pmatrix}1&0&0&0&0&0&0&\cdots&0&0&0\\
l_{21}&1&0&0&0&0&0&\cdots&0&0&0\\
l_{31}&l_{32}&1&0&0&0&0&\cdots&0&0&0\\
0&l_{42}&a_{43}&1&0&0&0&\cdots&0&0&0\\
\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots\\
0&0&0&0&0&0&0&\cdots&l_{n,n-2}&l_{n,n-1}&1
\end{pmatrix}\)
U=\(\begin{pmatrix}u_{11}&u_{12}&u_{13}&0&0&0&0&\cdots&0&0&0\\
0&u_{22}&u_{23}&u_{24}&0&0&0&\cdots&0&0&0\\
0&0&u_{33}&u_{34}&u_{35}&0&0&\cdots&0&0&0\\
0&0&0&u_{44}&u_{45}&u_{46}&0&\cdots&0&0&0\\
\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots&\cdots\\
0&0&0&0&0&0&0&\cdots&0&0&u_{n,n}
\end{pmatrix}\)
得出连个矩阵L,U后就容易计算了
补充一下,好像大家看不懂
第一步我们需要将U第一列乘上L,结果要求等于A的第一列,得到方程组
\(\begin{cases}u_{11}=a_{11}\\ u_{11}l_{21}=a_{21}\\u_{11}l_{31}=a_{31}\end{cases}\)
由此可以解得U和L的第一列\(u_{11},l_{21},l_{31}\)
第二步将U的第二列乘上L,要求等于A的第二列,得到方程组
\(\begin{cases}u_{12}=a_{22}\\ u_{22}=a_{22}-u_{12}l_{21}\\u_{22}l_{32}=a_{32}-l_{31}u_{12}\\u_{22}l_{42}=a_{42}\end{cases}\)
由此得到U和L的第二列\(u_{12},u_{22},l_{32},l_{42}\)
...
这样经过n步,每步最多5个方程5个变量,解得L,U中所有非零参数。
有了LU分解形式后,后面无论求逆还是解方程等都很简单了 |
|