补充

  • 矩阵算子范数:设

    ,对于某种给定的向量范数
    .矩阵的算子范数为
  • 矩阵1-范数:
  • 矩阵2-范数:
  • 矩阵
    -范数:

1.问题条件数:解方程组

,已知
,求

(1)

有扰动变成
,则
;下证

(2)A右扰动,变成

,可证

(3)定理:上述条件数统称为矩阵的条件数,记为cond(A),可证

(4)条件数有如下性质

  • 若A为非奇异矩阵
  • 若D为对角矩阵:

  • 采用2-范数:
  • 若Q为正交矩阵

2.基本高斯消元(行变换不能交换两行)

(1)算法:消去过程

输入:A,

输出:上三角矩阵A,改变后的

for k = 1 to n-1for i = k + 1 to nc = - a_ik / a_kkfor j = k + 1 to n    //该循环即为初等行变换,a_ij = a_ij + c * a_kj //将矩阵的一行乘c,加到另一行上endb_i = b_i = c * b_kend
end

:这里采用原地工作的方式,上三角矩阵U = 计算得到的A

(2)带回过程(解方程

输入:

输出:

for i = n to 1x_i = b_ifor j = n to i + 1x_i = x_i - u_ij * x_jendx_i = x_i / u_ii
end

  • 其中计算

    的公式为
  • 上面两个算法要求A在高斯化简得过程中不会出现主元
    的现象

3.高斯-若当消元法

思路:高斯若当消元法其实没有什么改变,仅仅是将

矩阵A化简为单位矩阵,在这里以求单位矩阵的过程举例

输入:A,B = I

输出:

for k = 1 to nfor j = k + 1 to n   //对矩阵A的行归一化a_kj = a_kj / a_kkendfor j = 1 to k    //对矩阵B进行相同的操作b_kj = b_kj / a_kkendfor i = 1 to n (i != k)for j = k + 1 to n    // 对A进行行变化a_ij = a_ij - a_ik * a_kjendfor j = 1 to k  //对B进行相同的行变化b_ij = b_ij - a_ik * b_kjendend
end

注:同样要求在高斯消元过程中

不能为0

4.消去矩阵

有下面的形式,则称
为第k类n阶消去矩阵,
称为消去过程的乘数

性质

  • ,可以看作初等矩阵经过n - k次行变换的结果
  • 可以看作A在进行高斯消元时,到第k行的行变换过程
  • 消去矩阵为单位下三角矩阵,且为非奇异矩阵
  • 消去矩阵
    的逆
  • 也为单位下三角矩阵,他们的乘积为每个矩阵元素的”并“

5.LU分解

推导:经过行列变化

,A变换成上三角矩阵U,化简方程得到

定理

存在唯一的LU分解的充要条件为,高斯消元中主元

算法:高斯消去过程进行LU分解

输入:A

输出:A(其中包含了L,U矩阵)

for k = 1 to n - 1for i = k + 1 to na_ik = a_ik / a_kk //计算L中元素并储存在A中for j = k + 1 to na_ij = a_ij - a_ik * a_kjendend
end

直接LU分解推导

(1)A第1行:

(2)A第1列:

(3)A第k行:

(4)A第k列:

算法:LU直接分解法

输入:A,n

输出:A(L,U矩阵储存在A中)

for k = 1 to n - 1for i = k + 1 to n  //这两个嵌套循环计算L矩阵第k列for j = 1 to na_ik = a_ik - a_jk * a_ijenda_ik = a_ik / a_kkendfor j = k + 1 to n //计算U矩阵的第k + 1列for i = 1 to ka_k+1,j = a_k+1, j - a_k+1,i * a_ijendend
end

5.LU分解用途

解方程

其中

单位下三角方程组算法求解

用高斯消元代回算法求解

单位下三角方程组求解

输入:单位下三角矩阵L,

输出:

for i = 1 to ny_i = b_ifor j = 1 to i - 1y_i = y_i - l_{ij} * y_jend
end

注:

  • 实际计算公式为
  • 用LU分解计算多个方程组

    时,只用分解一次复杂度为
    ,之后每次计算复杂度都为
    ;但是高斯消元每次计算都有
    的复杂度

6.基本高斯消元的充要条件

高斯消元过程中不出现
的充要条件为A的前n - 1个顺序主子式不为0

matlab 线性方程 lu分解法_数值计算笔记-LU分解相关推荐

  1. 紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法

    紧凑存储的杜利特尔分解法Doolittle(LU分解法)_解线性方程组的直接解法 标签:计算方法实验 /* 紧凑存储的杜利特尔分解法Doolittle:如果初始矩阵不要求保留的话,可以紧凑存储.因为每 ...

  2. LU分解法 | matlab

    % LU分解法 % M为输入的增广矩阵 % precision为输入的精度要求,如不输入或输入有误,则默认为10位if nargin == 2trydigits(precision);catchdis ...

  3. Python02 雅克比迭代法 Gauss-Seidel迭代法 列选主元法 LU分解法(附代码)

    1. 实验结果 (1)在定义的矩阵类中设置需要求解的方程为: (2)在 test.py 中选择雅克比迭代法求解: 输入:最大容许迭代次数和精度要求: 输出:根据谱半径判断方法是否收敛,收敛时得到满足精 ...

  4. matlab lu解线性方程,MATLAB报告用LU分解法求解线性方程组.doc

    MATLAB报告用LU分解法求解线性方程组 <MATLAB>期末大报告 报告内容:用LU分解法求解线性方程组 学院(系): 专 业: 班 级: 学 号: 学生姓名: 2014 年 6 月 ...

  5. 数值分析3-解线性方程组的高斯消去法、LU分解法及列主元消去法的matlab程序和调试方法

    对于形如Ax=b的线性方程组,在线性代数中是通过求逆的方式求解的,即x=A-1b,而在数值分析中,解线性方程组的方法是通过直接法或者迭代法来实现的,今天写的三个程序都属于直接法,分别为高斯消去法.LU ...

  6. 计算方法:列主元消去法,LU分解法, 雅可比迭代法,高斯塞德尔迭代法 解线性方程(C++)

    Matrix.h包括矩阵类Matrix的定义,Matrix.cpp包括该类成员函数的实现,LinearEqu.h包括线性方程类LinearEqu的定义,继承自Matrix类,其中solve()方法为列 ...

  7. Matlab | Lab4——用LU 分解法、 Jacobi 迭代、 Gauss-Seidel 迭代 解线性病态方程组(系数矩阵为Hilbert矩阵)

    1.要求 考虑线性方程组Hx=b,其中H为n阶Hilbert矩阵,即 通过先给定解(例如取x的各个分量为1),再计算出右端向量b的办法给出一个精确解已知的问题. (1)分别编写Doolittle LU ...

  8. matlab 电力系统分析 毕设,基于MATLAB的P-Q分解法电力系统潮流计算毕业设计

    基于MATLAB的P-Q分解法电力系统潮流计算毕业设计 摘 要 电力系统潮流计算是研究电力系统稳定运行情况的一种重要的计算,在电力系统规划设计和现有电力系统运行方式的研究中,都需要利用它来定量地分析比 ...

  9. 程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(1)调制与编码_程序阅读

    程序阅读_全面详解LTE:MATLAB建模仿真与实现_自学笔记(1)调制与编码_程序阅读 在粗浅地掌握了LTE知识后,从今天开始对<全面详解LTE:MATLAB建模仿真与实现>一书的学习. ...

  10. Doolittle分解法(LU分解法)的Python实现

    在解一般的非奇异矩阵线性方程组的时候,或者在迭代改善算法中,需要使用LU分解法. 对于一个一般的非奇异矩阵A=(a11, a12,-,a1n,a21,-ann),可分解为一个下三角矩阵L和一个上三角矩 ...

最新文章

  1. linux longlong大小,Linux基本数据类型大小——int,char,long int,long long int
  2. 什么叫组网_5G中,啥是独立组网(SA)与非独立组网(NSA)
  3. eclipse搭建安卓开发环境
  4. MES管理端介绍,ebr二次开发产品—SIMATIC IT EBR(Opcenter Execution Pharma)
  5. 戴尔台式计算机没声音,戴尔电脑重装系统后没有声音怎么办
  6. 任泽平:中国收入分配报告2021最新白皮书
  7. C#图形窗口的几种边框样式,固定大小,及可调节大小等样式
  8. 梆梆加固的Android P版本预兼容之路
  9. 我的世界梦之边缘5服务器在维护吗,我的世界梦之边缘V 第一个包含动漫CG剧情的RPG服务器...
  10. 【显著目标检测论文】Pyramid Feature Attention Network for Saliency detection
  11. 关于android 手机硬件加速问题
  12. 题目:我立志成为一名好销售,万万没想到,我还是走了程序员的路,原因竟然是....
  13. c语言写层次分析法,基于C语言的层次分析法在医院工作质量评价中的设计与实现...
  14. 聚合图床_sojson_v6
  15. JS setInterval(延时器)设置停止重启操作
  16. 阿里巴巴常考面试题目
  17. C++语言基础:计算圆的周长与面积
  18. dcs系统服务器配置,DCS系统中动态数据服务器设置方法
  19. [SVN技巧]代码提交中遇到的两个问题及其解决方案
  20. ANALYZE 的用法

热门文章

  1. 基于JAVA+SpringBoot+Mybatis+MYSQL的应急值班值守管理系统
  2. 手机+PC电脑如何使用油猴插件和油猴脚本?
  3. mysql清空数据库的所有数据
  4. 【亲测可运营】PHP匿名在线聊天室/语音聊天室/多国语言版在线聊天室
  5. 天猫官方出品运营宝典-小二带你解读行业趋势
  6. 《网络运维 - 基础知识》
  7. 对Movielens数据集进行评分预测
  8. vector2Drawable(批量将png图片转换成android使用的矢量图 )
  9. GET和POST本质区别
  10. 代码 点胶gcode_3D打印☞Gcode代码详解(含详解PDF附件)