数值分析笔记(五)线性方程组解法
三角分解法
 
A的杜利特分解公式如下:
  u 1 j = a 1 j ( j = 1 , 2 , ⋯ , n ) , l i 1 = a i 1 / u 11 ( i = 2 , 3 , ⋯ , n ) , u k j = a k j − ∑ m = 1 k − 1 l b m u m j ⇒ a k j ( j = k , k + 1 , ⋯ , n ) , l i k = ( a i k − ∑ m = 1 k − 1 l i n u m k ) / u k k ⇒ a k k ( i = k + 1 , k + 2 , ⋯ , n ) ( k = 2 , 3 , ⋯ , n ) . \begin{aligned}&u_{1j}=a_{1j}\quad(j=1,2,\cdots,n),\\&l_{i1}=a_{i1}/u_{11}\quad(i=2,3,\cdots,n) ,\\&u_{kj}=a_{kj}-\sum_{m=1}^{k-1}l_{bm}u_{mj}\Rightarrow a_{kj}\quad(j=k,k+1,\cdots,n) ,\\&l_{ik}=\left(a_{ik}-\sum_{m=1}^{k-1}l_{in}u_{mk}\right)\Big/u_{kk}\Rightarrow a_{kk}\quad(i=k+1,k+2,\cdots,n)\\&(k=2,3,\cdots,n).\end{aligned} u1j=a1j(j=1,2,⋯,n),li1=ai1/u11(i=2,3,⋯,n),ukj=akj−m=1∑k−1lbmumj⇒akj(j=k,k+1,⋯,n),lik=(aik−m=1∑k−1linumk)/ukk⇒akk(i=k+1,k+2,⋯,n)(k=2,3,⋯,n).
楚列斯基分解
对于n阶(n>1)对称正定矩阵,楚列斯基分解 A = L ∗ L T A=L*L^T A=L∗LT,是唯一的,即
  ( a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a m ) = ( l 11 l 21 l 22 ⋮ ⋮ ⋱ l n 1 l n 2 ⋯ l m ) ( l 11 l 21 ⋯ l n 1 l 22 ⋯ l n 2 ⋱ ⋮ l m ) , \begin{pmatrix}a_{11}&a_{12}&\cdots&a_{1n}\\a_{21}&a_{22}&\cdots&a_{2n}\\\vdots&\vdots&&\vdots\\a_{n1}&a_{n2}&\cdots&a_{m}\end{pmatrix}=\begin{pmatrix}l_{11}\\l_{21}&l_{22}\\\vdots&\vdots&\ddots\\l_{n1}&l_{n2}&\cdots&l_{m}\end{pmatrix}\begin{pmatrix}l_{11}&l_{21}&\cdots&l_{n1}\\&l_{22}&\cdots&l_{n2}\\&&\ddots&\vdots\\&&&l_{m}\end{pmatrix},  a11a21⋮an1a12a22⋮an2⋯⋯⋯a1na2n⋮am = l11l21⋮ln1l22⋮ln2⋱⋯lm  l11l21l22⋯⋯⋱ln1ln2⋮lm ,
 且
  { l k k = a k k − ∑ m = 1 k − 1 l k m 2 , l i k = ( a i k − ∑ m = 1 k − 1 l i m l k m ) / l k k ( i = k + 1 , k + 2 , ⋯ , n ) \begin{aligned}&\begin{cases}l_{kk}&=\sqrt{a_{kk}-\sum_{m=1}^{k-1}l_{km}^2} ,\\l_{ik}&=\left(a_{ik}-\sum_{m=1}^{k-1}l_{im}l_{km}\right)/l_{kk}&(i=k+1,k+2,\cdots,n)\end{cases}\end{aligned} ⎩ ⎨ ⎧lkklik=akk−∑m=1k−1lkm2,=(aik−∑m=1k−1limlkm)/lkk(i=k+1,k+2,⋯,n)
向量范数
  ∥ x ∥ 1 = ∑ i = 1 n ∣ x i ∣ , ∥ x ∥ 2 = ∑ i = 1 n x i 2 , ∥ x ∥ ∞ = max  1 ⩽ i ⩽ n ∣ x i ∣ , \begin{gathered} \parallel x\parallel_1=\sum_{i=1}^n\mid x_i\mid, \\ \parallel x\parallel_2=\sqrt{\sum_{i=1}^nx_i^2} , \\ \parallel x\parallel_\infty=\max_{1\leqslant i\leqslant n}\mid x_i\mid, \end{gathered} ∥x∥1=i=1∑n∣xi∣,∥x∥2=i=1∑nxi2,∥x∥∞=1⩽i⩽nmax∣xi∣,
 矩阵范数
  ∥ A ∥ 1 = max  1 ⩽ j ⩽ n ∑ i = 1 n ∣ a i j ∣ , 列范数 ∥ A ∥ ∞ = max  1 ⩽ i ⩽ n ∑ j = 1 n ∣ a i j ∣ , 行函数 ∥ A ∥ 2 = λ max  ( A T A ) , 谱范数 ∥ A ∥ F = ∑ i = 1 n ∑ j = 1 n a i j 2 . F − 范数 \begin{gathered} \parallel A\parallel_{1}=\max_{1\leqslant j\leqslant n}\sum_{i=1}^{n}\mid a_{ij}\mid, 列范数\\ \parallel A\parallel_{\infty}=\max_{1\leqslant i\leqslant n}\sum_{j=1}^{n}\mid a_{ij}\mid , 行函数\\ \parallel A\parallel_{2}=\sqrt{\lambda_{\max}(A^{\mathrm{T}}A)} , 谱范数\\ \parallel A\parallel_F=\sqrt{\sum_{i=1}^n\sum_{j=1}^na_{ij}^2}. F-范数 \end{gathered} ∥A∥1=1⩽j⩽nmaxi=1∑n∣aij∣,列范数∥A∥∞=1⩽i⩽nmaxj=1∑n∣aij∣,行函数∥A∥2=λmax(ATA),谱范数∥A∥F=i=1∑nj=1∑naij2.F−范数
 矩阵A的条件数
  C o n d ( A ) = ∥ A − 1 ∥ ∥ A ∥ \mathrm{Cond}(A)=\parallel A^{-1}\parallel\parallel A\parallel Cond(A)=∥A−1∥∥A∥
简单迭代法
设有n阶线性方程组 A x = b Ax=b Ax=b, A A A为n阶非奇异矩阵, A x = b Ax=b Ax=b等价变形为 x = B x + g x=Bx+g x=Bx+g,给定初始向量 x ( 0 ) x^{(0)} x(0)可得到
  x ( k + 1 ) = B x ( k ) + g ( k = 0 , 1 , ⋯ ) x^{(k+1)}=Bx^{(k)}+g\quad(k=0,1,\cdots) x(k+1)=Bx(k)+g(k=0,1,⋯)
 若向量序列收敛,其收敛的向量为原方程组的解。其收敛的充要条件是谱半径 ρ ( B ) < 1 \rho(B) < 1 ρ(B)<1.
如果在计算第 i i i个分量 x i ( k + 1 ) x_i^{(k+1)} xi(k+1),前面的 i − 1 i-1 i−1个分量用最新的 x 1 ( k + 1 ) x_1^{(k+1)} x1(k+1), x 2 ( k + 1 ) x_2^{(k+1)} x2(k+1)…, x i − 1 ( k + 1 ) x_{i-1}^{(k+1)} xi−1(k+1)
而不是 x 1 ( k ) x_1^{(k)} x1(k), x 2 ( k ) x_2^{(k)} x2(k),…, x i − 1 ( k ) x_{i-1}^{(k)} xi−1(k),则是简单迭代法对应的高斯-赛德尔迭代法。
当简单迭代法的迭代矩阵 B B B满足 ∥ B ∥ 1 < 1 \parallel B\parallel_{1} < 1 ∥B∥1<1或 ∥ B ∥ ∞ < 1 \parallel B\parallel_{\infty} < 1 ∥B∥∞<1,对应的对应的高斯-赛德尔迭代法关于任意初始向量收敛。
雅可比迭代法
设有n阶线性方程组 A x = b Ax=b Ax=b, A A A为n阶非奇异矩阵,且对角元 a i i ≠ 0 ( i = 1 , 2 , 3 , . . . , n ) a_{ii} \neq 0 (i=1,2,3,...,n) aii=0(i=1,2,3,...,n)
将A如下分解,A=L+D+U,即
  A = ( 0 a 21 0 ⋮ ⋮ ⋱ a n 1 a n 2 ⋯ 0 ) + ( a 11 a 22 ⋱ a n n ) + ( 0 a 12 ⋯ a 1 n 0 ⋯ a 2 n ⋱ ⋮ 0 ) , A=\begin{pmatrix}0\\a_{21}&0\\\vdots&\vdots&\ddots\\a_{n1}&a_{n2}&\cdots&0\end{pmatrix}+\begin{pmatrix}a_{11}\\&a_{22}\\&&\ddots\\&&&a_{nn}\end{pmatrix}+\begin{pmatrix}0&a_{12}&\cdots&a_{1n}\\&0&\cdots&a_{2n}\\&&\ddots&\vdots\\&&&0\end{pmatrix}, A= 0a21⋮an10⋮an2⋱⋯0 + a11a22⋱ann + 0a120⋯⋯⋱a1na2n⋮0 ,
  A x = b Ax=b Ax=b等价于 ( L + D + U ) x = b (L+D+U)x=b (L+D+U)x=b,
整理得,
  x = − D − 1 ( L + U ) x + D − 1 b x=-D^{-1}\left(L+U\right)x+D^{-1}b x=−D−1(L+U)x+D−1b
 记 B J = − D − 1 ( L + U ) , g = D − 1 b B_J=-D^{-1}\left(L+U\right),g=D^{-1}b BJ=−D−1(L+U),g=D−1b,则构造公式
  x ( k + 1 ) = B J x ( k ) + g ( k = 0 , 1 , ⋅ ⋅ ⋅ ) x^{(k+1)}=B_Jx^{(k)}+g\quad(k=0,1,\cdotp\cdotp\cdotp) x(k+1)=BJx(k)+g(k=0,1,⋅⋅⋅)
 为雅可比迭代法,称
  B J = − D − 1 ( L + U ) = ( 0 − a 12 a 11 ⋯ − a 1 n a 11 − a 21 a 22 0 ⋯ − a 2 n a 22 ⋮ ⋮ ⋱ ⋮ − a n 1 a n n − a n 2 a n n ⋯ 0 ) B_J=-D^{-1}(L+U)=\begin{pmatrix}0&-\frac{a_{12}}{a_{11}}&\cdots&-\frac{a_{1n}}{a_{11}}\\\\-\frac{a_{21}}{a_{22}}&0&\cdots&-\frac{a_{2n}}{a_{22}}\\\vdots&\vdots&\ddots&\vdots\\\\-\frac{a_{n1}}{a_{nn}}&-\frac{a_{n2}}{a_{nn}}&\cdots&0\end{pmatrix} BJ=−D−1(L+U)= 0−a22a21⋮−annan1−a11a120⋮−annan2⋯⋯⋱⋯−a11a1n−a22a2n⋮0 
 为雅可比矩阵。
雅可比迭代法关于任意初始向量 x ( 0 ) x^{(0)} x(0)收敛的充要条件是 ρ ( B j ) < 1 \rho(B_{j}) < 1 ρ(Bj)<1.
其对应的高斯-赛德尔迭代法为
  x ( k + 1 ) = − ( D + L ) − 1 U x ( k ) + ( D + L ) − 1 b x^{(k+1)}=- (D+L)^{-1}Ux^{(k)}+(D+L)^{-1}b x(k+1)=−(D+L)−1Ux(k)+(D+L)−1b
 若系数矩阵A严格对角占优,高斯-赛德尔迭代法对于任意初始向量 x ( 0 ) x^{(0)} x(0)收敛。
若系数矩阵A对称正定,高斯-赛德尔迭代法对于任意初始向量 x ( 0 ) x^{(0)} x(0)收敛。
相关文章:
 
数值分析笔记(五)线性方程组解法
三角分解法 A的杜利特分解公式如下: u 1 j a 1 j ( j 1 , 2 , ⋯ , n ) , l i 1 a i 1 / u 11 ( i 2 , 3 , ⋯ , n ) , u k j a k j − ∑ m 1 k − 1 l b m u m j ⇒ a k j ( j k , k 1 , ⋯ , n ) , l i k ( a i k − ∑ m 1 k − 1 l i n u m k ) /…...
 
IDEA中Maven的配置
目录 1. 安装maven 2. 配置环境变量 3. IDEA中配置Maven 4. 配置仓库目录 1. 安装maven 官网下载地址:Maven – Download Apache Maven 下载后,将zip压缩包解压到某个目录即可。 2. 配置环境变量 变量名称随意,通常为M2_HOMEÿ…...
 
成人高考本科何时报名-深职训学校帮您规划学习之路
你有想过继续深造自己的学历吗?也许你已经工作多年,但总觉得学历是一块心病,想要通过成人高考本科来提升自己。不用着急,今天我们来聊一聊成人高考本科的报名时间,以及深职训学校如何帮助你顺利完成报名。 深圳成人高…...
C++ STL 协程(Coroutines)
一:什么是协程(Coroutines): 协程是轻量级线程,可以暂停和恢复执行,协程拥有自己的暂停点状态,协程暂停时,将当前状态保存起来,在恢复执行时会恢复之前保存的状态。 二:例子: #include <coroutine> #include <iostream>void doTheWork() {std::cout <…...
 
虚拟机下基于海思移植QT(一)——虚拟机下安装QT
0.参考资料 1.海思Hi3516DV300 移植Qt 运行并在HDMI显示器上显示 2.搭建海思3559A-Qt4.8.7Openssl开发环境 1.报错解决 通过下面命令查询 strings /lib/x86_64-linux-gnu/libc.so.6 | grep GLIBC_通过命令行没有解决: sudo apt install libc6-dev libc6参考解决…...
 
计算机网络部分知识点整理
停止等待协议的窗口尺寸为 1。 √以太网标准是IEEE802.3TCP/IP四层,OSI模型有7层,地址解析协议 ARP 在 OSI 参考七层协议属于数据链路层,在TCP/IP 协议属于网络层,ARP作用:将 IP 地址映射到第二层地址,交换…...
 
【Qt】Qt概述
目录 一. 什么是Qt 二. Qt的优势 三. Qt的应用场景 四. Qt行业发展方向 一. 什么是Qt Qt是一个跨平台的C图形用户界面应用程序框架,为应用程序开发者提供了建立艺术级图形界面所需的所有功能。 Qt是完全面向对象的,很容易扩展,同时Qt为开发…...
 
读书笔记-《魔鬼经济学》
这是一本非常有意思的经济学启蒙书,作者探讨了许多问题,并通过数据找到答案。 我们先来看看作者眼中的“魔鬼经济学”是什么,再选一个贴近我们生活的例子进行阐述。 01 魔鬼经济学 中心思想:假如道德代表人类对世界运转方式的期…...
2024.7.7总结
今天是惊心动魄的一天,记录一下吧! 昨天晚上害怕早上闹铃响了听不到,担心有意外出现,错过回家的车票,于是便在晚上设置了3个闹铃,6:50,7:00,7:05然后也关了静音。没想到,早上按照正…...
 
uniapp做小程序内打开地图展示位置信息
使用场景:项目中需要通过位置信息打开地图查看当前位置信息在地图那个位置,每个酒店有自己的经纬度和详细地址,点击地图按钮打开内置地图如图 方法如下: <view class"dttu" click"openMap(info.locationY,info.…...
 
leetcode 283.移动零
leetcode 283.移动零 自己刷题并且进行记录一下 题解 c class Solution { public:void moveZeroes(vector<int>& nums) {int count 0;for (int i 0; i < nums.size(); i) {if(nums[i] ! 0) {nums[count] nums[i];if (count !i) {nums[i] 0;}count;}}} };...
 
Unity | Shader基础知识(第十七集:学习Stencil并做出透视效果)
目录 一、前言 二、了解unity预制的材质 三、什么是Stencil 四、UGUI如何使用Stencil(无代码) 1.Canvas中Image使用Stencil制作透视效果 2.学习Stencil 3.分析透视效果的需求 五、模型如何使用Stencil 1.shader准备 2.渲染顺序 3.Stencil代码语…...
 
【3D->2D转换(1)】LSS(提升,投放,捕捉)
Lift, Splat, Shoot 这是一个端到端架构,直接从任意数量的摄像头数据提取给定图像场景的鸟瞰图表示。将每个图像分别“提升(lift)”到每个摄像头的视锥(frustum),然后将所有视锥“投放(splat&a…...
MyBatis 框架核心及面试知识要点
1、什么是 MyBatis? MyBatis 是一款优秀的支持自定义 SQL 查询、存储过程和高级映射的持久层框架,消除了 几乎所有的 JDBC 代码和参数的手动设置以及结果集的检索 。 MyBatis 可以使用 XML,或注解进 行配置和映射,MyBatis 通过将参数映射到配置的 SOL,形…...
 
《linux系统内核设计与实现》-实现最简单的字符设备驱动
开发linux内核驱动需要以下4个步骤: 1 编写hello驱动代码 驱动代码如下 helloDev.c,这是一个最小、最简单的驱动,去掉了其他的不相干代码,尽量让大家能了解驱动本身。 #include <linux/module.h> #include <linux/mod…...
 
【MotionCap】pycharm 远程在wsl2 ubuntu20.04中root的miniconda3环境
pycharm wsl2 链接到pycharmsbin 都能看到内容,/root 下内容赋予了zhangbin 所有,pycharm还是看不到/root 下内容。sudo 安装了miniconda3 引发了这些问题 由于是在 root 用户安装的miniconda3 所以安装路径在/root/miniconda3 里 这导致了环境也是root用户的,会触发告警 WA…...
 
[BJDCTF 2nd]简单注入
sqlsqlsqlsqlsql又来喽 过滤了单双引号,等于符号,还有select等,但是这里没有二次注入 。扫描发现hint.txt 看出题人的意思是,得到密码即可获得flag。 select * from users where username$_POST["username"] and passw…...
 
java项目的一些功能(完善登录功能、注册接口参数校验、完善分页查询、完善日期格式、更新文章分类和添加文章分类的分组校验、自定义校验、文件上传 )
目录 完善登录功能 注册接口参数校验 完善分页查询 完善日期格式 更新文章分类和添加文章分类的分组校验 编辑 自定义校验 文件上传 完善登录功能 对前端传过来的明文密码进行md5加密处理 password DigestUtils.md5DigestAsHex(password.getBytes()); 这样既可 注…...
 
Mac安装AndroidStudio连接手机 客户端测试
参考文档:https://www.cnblogs.com/andy0816/p/17097760.html 环境依赖 需要java 1.8 java安装 略 下载Android Studio 地址 下载 Android Studio 和应用工具 - Android 开发者 | Android Developers 本机对应的包进行下载 安装过程 https://www.cnblogs.c…...
Git 完整的提交规范教程
约定式提交规范 本文中的关键词 “必须(MUST)”、“禁止(MUST NOT)”、“必要(REQUIRED)”、“应当(SHALL)”、“不应当(SHALL NOT)”、“应该(S…...
生成xcframework
打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...
 
边缘计算医疗风险自查APP开发方案
核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...
 
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
 
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
 
让AI看见世界:MCP协议与服务器的工作原理
让AI看见世界:MCP协议与服务器的工作原理 MCP(Model Context Protocol)是一种创新的通信协议,旨在让大型语言模型能够安全、高效地与外部资源进行交互。在AI技术快速发展的今天,MCP正成为连接AI与现实世界的重要桥梁。…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
 
云原生玩法三问:构建自定义开发环境
云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
 
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
鸿蒙(HarmonyOS5)实现跳一跳小游戏
下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...
