基础数学(七)——线性方程组的数值解法

news2024/10/4 11:24:18

文章目录

        • 考试要求
        • 基础知识
          • 一般求解思路
        • 消元法
          • 高斯消元法
            • 小主元导致的计算失误
          • 高斯列主元素消去法(期末考试要求之一)
          • 高斯消元法例题(期末必考)
          • 高斯消元法的优缺点
          • 减少fill-in现象(了解)
        • 矩阵分解
          • Doolittle分解例题(本大题第一题,必考)
        • 迭代法
          • 前奏知识
            • 向量范数(了解)
            • 矩阵范数(了解)
            • 谱半径(重要)
            • 方阵序列的收敛性(挺重要的,后面会用到,但是不会考)
            • 矩阵条件数(必考)
            • 条件数的性质
            • 使用条件数判定方程组是否病态(了解)
          • 构造迭代格式
          • 收敛性证明
            • 停机准则
          • Richardson迭代(必考)
            • 参数选择
          • Richardson迭代样例
          • Jacobi迭代(必考)
            • Jacobi迭代的例题(必考)
          • Gauss-seidel迭代(必考)
            • Gauss-Seidel迭代解方程组
          • 收敛性证明补充——对角占优判定对应的矩阵
            • 可约性()
          • 对称正定性和收敛性(必考)
            • 收敛性分析证明(例题,必考)
          • JS方法和GS方法的比较
          • 预处理可以改变收敛性
        • 总结

考试要求

  • 线性方程组会考大题,分值最重,占到28分。
  • 主要考:有一般矩阵转化为特殊矩阵的方法进行求解:消元法、矩阵分解和迭代法三个方法
  • 第一问:给出三元线性方程组,使用doolittle进行分解。
  • 第二问:Richardson迭代,当α在什么范围内迭代格式是收敛的,当α取什么值,收敛最快。
  • Jacobi迭代考核方式:给你的初值,迭代一次X1的结果。jacobi仅考迭代一次的结果。要回构造迭代格式。
  • Gauss-Seidel迭代考核:给你初值,迭代一次的结果。要回构造迭代格式。
  • 第三问:收敛性判定,稀疏矩阵A严格对角占优,一定收敛。如果是弱对角占优,并且不可约,也是一定收敛。
  • 第四问:当α的范围,对于任何初值都迭代,处于多少时,收敛最快。

基础知识

  • 线性方程组:针对适定的线性方程组
    在这里插入图片描述
  • 系数矩阵A可逆,则存在唯一的解
  • 克莱姆法则:实际的计算量很大,很繁琐。
    在这里插入图片描述
  • 当前你所能求解的矩阵:对角矩阵,上三角矩阵和下三角矩阵。

    在这里插入图片描述
    在这里插入图片描述
一般求解思路

在这里插入图片描述

  • 最主流的方法:通过多重网格对系数矩阵进行预处理,然后在使用Krylov子空间迭代,进行网络加速。

消元法

高斯消元法

在这里插入图片描述

  • A可逆,并不能保证一定能进行高斯消元。所有顺序主子式均不为零,才能保证高斯消元。同时所有顺序主子式不为零,一定可逆,但是可逆不一定所有顺序主子式都不为零。
  • 同时,主元位置的绝对值非常小的话,会带来很大的绝对误差,数值不稳定,所以高斯消元需要对数据进行处理。
    在这里插入图片描述
小主元导致的计算失误

在这里插入图片描述

高斯列主元素消去法(期末考试要求之一)
  • 考试时,会让你按列选主元,如果直接用线性代数消元法,只会有结论分。
    在这里插入图片描述
  • 也可以的交换列,但是要记住你换的那两列,然后将列恢复原来的数据
  • 全选主元的高斯消元法,一般并不会使用,因为选取的范围太大了。
  • 一般来说,高斯消元法都是按列选主元,不选主元,叫做高斯顺序消元法
高斯消元法例题(期末必考)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

高斯消元法的优缺点

在这里插入图片描述

  • 实际上解的矩阵是大规模稀疏矩阵。
减少fill-in现象(了解)
  • fill-in现象:将矩阵中为零的行列变为非零的位置。
  • 解决办法:最小度排序,尽量减少fill-in现象

矩阵分解

在这里插入图片描述

  • 高斯消元的过程:将A分解成单位下三角矩阵L和上三角矩阵U,仅仅是LU分解的一个特例。但是简称LU分解默认是Doolittle分解。
    在这里插入图片描述
Doolittle分解例题(本大题第一题,必考)

在这里插入图片描述
在这里插入图片描述

  • 先做Doolittle分解,然后再代入公式进行计算

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

迭代法

前奏知识
向量范数(了解)
  • 范数的三条准则
    在这里插入图片描述
  • 非负性:将任何结果映射为的非负数
  • 齐次性:数乘仍旧相等
    在这里插入图片描述
  • 有限维空间上的任何两个范数都是等价的。数学上等价的,但是数值上未必是等效的。
    在这里插入图片描述
  • 向量序列收敛到一个向量:向量序列每一个分量都收敛到一个值,这些个值构成了一个向量。

在这里插入图片描述

  • 下述为向量序列依分量收敛到向量的要求
    在这里插入图片描述
矩阵范数(了解)
  • 默认是关注方阵的范数
    在这里插入图片描述
  • 根据向量范数定义矩阵的范数,将矩阵A看成一个从Rn到R的线性映射。

在这里插入图片描述
在这里插入图片描述

  • 谱范数:(A转置)乘以A,最终结果一定是实对称的,并且是半正定的(特征值大于等于零),谱范数是
  • 列范数:每一列求和,并找出最大的一列
  • 行范数:每一行求和,并取出最大的。
  • F-范数:不是算子范数,并不是的通过向量的上确界诱导出来的
    在这里插入图片描述
谱半径(重要)

在这里插入图片描述

  • 任何一个n阶方阵,一定有n个特征值。但是n阶方阵的特征值不一定是实数,有可能是复数。
  • 谱半径:每一个特征值取模,然后最大的模就是谱半径。所有算法的收敛性,都和谱半径有关。
  • 谱半径不好算,通过矩阵的范数来计算谱半径,再通过谱半径来判定算法是否收敛。矩阵的任何一个范数,都是谱半径的上界。很重要的数学基础
  • x是特征向量,非零向量。
方阵序列的收敛性(挺重要的,后面会用到,但是不会考)
  • 方阵序列依分量收敛到对应方阵。

在这里插入图片描述

  • 方阵A的k次幂收敛到零矩阵的条件,A的矩阵的任何一个特征值的模都小于1,然后最大的谱半径,就小于1.
  • 定理二,关于谱半径收敛到零矩阵的最为重要
矩阵条件数(必考)
  • 数值不稳定,数值只要有一点误差,会导致极大的误差
  • 相对误差经过求解之后,放大了很多倍,下述称为病态的方程组。
    在这里插入图片描述
  • A和A的逆矩阵的如果相称给很大,有可能会放大误差。
    在这里插入图片描述
  • A是可逆矩阵,A的范数和A逆矩阵的范数的乘积为条件数
  • 条件数并不是一个确定的数,不同的范数对应的条件数差异不大
  • 条件数能够用来刻画差别,条件数的大小,用来决定方程是否病态。
    在这里插入图片描述
条件数的性质
  • 单位阵的条件数是1,并不会放大误差。

  • 实数乘以条件数,并不会放大对应条件数。

  • 如果A是对称的,其中一种特征根的计算方式为最大特征是比上最小特征值。

  • 正交矩阵,特征值为模为1,所有正交矩阵的条件数都是一,正交矩阵乘以一个矩阵,条件数不变。
    在这里插入图片描述

  • 通过的条件数判定对应线性方程组的解,是否病态,是否能够对扰动进行有效规避。
    在这里插入图片描述

  • 很多情况下条件数计算不出来,因为A的逆矩阵计算不出来。

  • 注意下述三个判定条件,通过这三个条件判定条件数,进而判定线性方程组是否为病态。

  • 特征值虽然具体很难,但是估计还是很好做的,可以通过圆盘定理。n个特征值求不出来,但是可以判断对应位置。判定出最大是多大,最小是多小。

在这里插入图片描述

使用条件数判定方程组是否病态(了解)

在这里插入图片描述

构造迭代格式
  • 针对大型稀疏矩阵作为稀疏矩阵,一般用迭代法,变为两个矩阵相乘或者相加。
    在这里插入图片描述
  • 迭代是收敛的,极限就是对应解。不是原来线性方程的准确解,而是解的精确近似
    在这里插入图片描述
收敛性证明

在这里插入图片描述

  • 谱半径小于1,是对于任意的初值都收敛。反命题,就是不一定对任意的值都收敛,如果第一次就猜到了解,就不用在进行迭代。而且如果谱半径不小于1,对于初值的要求很高。
    在这里插入图片描述
  • 谱半径不好算,通过范数来计算谱半径的大小。如果范数小于一,那么谱半径一定小于一。谱半径小于任何范数。
  • 所以一般通过范数来计算对应谱半径,来判定是否是收敛的。

在这里插入图片描述

停机准则

在这里插入图片描述

Richardson迭代(必考)
  • M是最简单的可逆n阶方阵,单位矩阵。但是M为单位阵,未必会很好的收敛。所以更一般的矩阵应该是数量矩阵(常数*单位矩阵)。

在这里插入图片描述

参数选择
  • 这里是将α带入计算,然后确定ρ(B)。在谱半径中,最优值还可以看到条件数。对于正定矩阵而言,最优收敛速度,取决于矩阵A的条件数,
    在这里插入图片描述
Richardson迭代样例
  • 会求三阶方阵的特征值
    在这里插入图片描述

  • 矩阵求特征值

在这里插入图片描述

Jacobi迭代(必考)
  • 比Richardson迭代中数值对角阵更加普遍,对角线元素可以是不相等,最理想的方式就是直接提取出M矩阵的对角线元素。

在这里插入图片描述

在这里插入图片描述

  • 注意,Jacobi迭代是逐个变量进行的更新的。
    在这里插入图片描述

在这里插入图片描述

Jacobi迭代的例题(必考)
  • 考试要求:给你初值,然后仅仅迭代一次。
    在这里插入图片描述
    在这里插入图片描述
Gauss-seidel迭代(必考)
  • 和Jacobi迭代近似,但是是使用每一次更新的最新值,局部使用最新值。
    在这里插入图片描述
  • G-S的矩阵分解
    在这里插入图片描述

在这里插入图片描述

Gauss-Seidel迭代解方程组

在这里插入图片描述

收敛性证明补充——对角占优判定对应的矩阵
  • 原来直接使用谱半径进行计算,或者使用范数进行计算,但是特征值很难计算,所以这里讨论直接看原始的系数矩阵A,或者在不计算出B的情况下,直接判定收敛性。

  • 常规收敛性证明

在这里插入图片描述

  • 通过范数或者谱半径来限定α的范围
    在这里插入图片描述

在这里插入图片描述

  • 主对角线的元素值,比当前行其他所有非主对角元素的绝对值求和大,就一定收敛
  • 严格对角占优,一定是收敛的

在这里插入图片描述

  • 严格对角占优和收敛性的关系
    在这里插入图片描述
  • 下述三个特征值,一个负数,两个正数,所以Richardson不收敛。
    在这里插入图片描述
可约性()
  • 关于若对角占优的矩阵的收敛性的判定。
  • 排列矩阵:对于单位阵,通过交换行的操作得到的矩阵,就是排列阵。
  • P是对单位阵交换两行的操作,PT是对单位阵进行交换两列的操作。对原来矩阵A的元素,重新进行排列。
  • 可约性,对角块一定要是方阵,不是方阵不行,对于三乘三的矩阵,仅仅只有两种画法。
  • 注意:是先交换列,然后在交换行
  • 注意:矩阵中,一定要有两个零元素
    在这里插入图片描述
  • 若对角占优,不一定可以收敛。但是若对角占优,而且不可约,那么一定可以收敛。
    在这里插入图片描述
对称正定性和收敛性(必考)
  • 这里对称正定性仅仅是对GS矩阵进行收敛的,按时对于Jacobi不一定收敛。

  • 对称正定:对称,并且对角线元素是正的。

  • 2D-A:和A有相同的对角线元素,但是其他的元素会变成A的元素的相反数。

在这里插入图片描述

收敛性分析证明(例题,必考)

在这里插入图片描述

  • 矩阵是对称矩阵
  • 正定矩阵:所有顺序主子式大于零。
  • A对称正定,所以是GS收敛
  • 2D-A:Jacobi不是收敛的,因为2D-A不是正定的。
    在这里插入图片描述
  • 上三角,主对角元素就是特征值。
  • Guass-Seidel和Jacobi一块收敛的情况下,Gauss-Seidel往往收敛更快。
    在这里插入图片描述
JS方法和GS方法的比较

在这里插入图片描述

  • Jacobi收敛速度慢,但是可以并行。GS型是收敛速度快的,但是只能串行
预处理可以改变收敛性

在这里插入图片描述

总结

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/136759.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【ROS】——常用命令(五)

文章目录前言1. rosnode1.1 rosnode list 列出活动节点1.2 rosnode ping 测试到节点的连接状态1.3 rosnode info 打印节点信息1.4 rosnode machine 列出指定设备上节点1.5 rosnode kill 杀死某个节点1.6 rosnode cleanup 清除不可连接的节点2. rostopic2.1 rostopic list(-v)2.…

【学习】深度强化学习

李宏毅深度学习一、深度强化学习Deep Reinforcement Learning (RL)什么是RL?(三步骤)计算loss计算A版本0版本1版本2版本32、梯度方法收集训练数据:探索3、actor criticMCTD版本3.5一、深度强化学习Deep Reinforcement Learning (RL) 什么是R…

【回答问题】ChatGPT上线了!给我推荐20个比较流行的图像语义分割模型

给我推荐20个比较流行的图像语义分割模型 在这里列出20个比较流行的图像语义分割模型:U-Net Mask R-CNN Fully Convolutional Network (FCN) SegNet DeepLab v3 PSPNet ENet ICNet RefineNet DenseASPP DenseNet LinkNet FPN BiSeNet ENAS Deeplab v3 GCN CRF-RNN …

Linux环境变量

文章目录什么是环境变量?什么是本地变量?如何获取环境变量?在shell中在程序中如何添加/删除环境变量&&本地变量?在shell中在程序中为什么环境变量能够被子进程继承?什么是环境变量? 环境变量是进程…

Vue初识系列【1】

文章目录一 前端体系1.1 前端三要素1.2 JavaScript 框架1.3 JavaScript 构建工具1.4 前端所需后端技术1.5 UI框架二 前后端分离史2.1 后端为主的 MVC 时代(web1.0)2.2 基于 AJAX 带来的 SPA 时代(web2.0)2.3 前端为主的 MV* 时代2.4 NodeJS 带来的全栈时…

OBS 进阶 音频面板优化

因为,面板高度就那么大,如果声音源很多的话,就有点乱。 优化目的:静音的,自动放在底部,这样,音频面板上面的都是没有静音的,也是我们最关注的部分。 目录 一、音频面板优化 1、不想要音频面板的title,将其去掉

【LeetCode每日一题】【2023/1/3】2042. 检查句子中的数字是否递增

文章目录2042. 检查句子中的数字是否递增方法1:直接遍历写法2:按本题特有条件方法2:栈方法3:std::stringstream写法22042. 检查句子中的数字是否递增 LeetCode: 2042. 检查句子中的数字是否递增 简单\color{#00AF9B}{简单}简单 句…

202301-第一周资讯

大家好,欢迎来到本周资讯,在过去的一周内呢,我们在示例DEMO、文档、教学视频上都有了较多的产出并且帮助大家解决了不少问题,赶紧看看上周成果吧! 目录 DEMO 动态TopN报表 导出图文报告的脚本示例 Superpage pc端…

【FPGA】基本实验步骤演示 | Verilog编码 | 运行合成 | 设备/引脚分配 | 综合/实施 | 设备配置

写在前面:本章的目的是让你理解与门、或门和非门的行为,并使用 Verilog 语言实现多输入与门、或门和非门。在生成输入信号之后,你需要通过模拟来验证这些门的操作,并使用 FPGA 来验证 Verilog 实现的电路的行为。 0x00 引入&#…

Vue+Echarts监控大屏实例十六:Echarts对接天地图插件开发

一、实例概述 本实例实现echarts使用天地图组件的开发,通过修改echarts中百度地图及高德地图插件实现echarts中使用天地图的使用。本实例实现对于监控界面的相关开发资料,提供实例源码、开发过程视频及实现过程。   1. Echarts参考文档: echarts   2. 高德地图插件:ech…

P1455 搭配购买

题目描述 明天就是母亲节了,电脑组的小朋友们在忙碌的课业之余挖空心思想着该送什么礼物来表达自己的心意呢?听说在某个网站上有卖云朵的,小朋友们决定一同前往去看看这种神奇的商品,这个店里有 nn 朵云,云朵已经被老板…

非Web服务弱口令检查工具下载与使用

今天继续给大家介绍渗透测试相关知识,本文主要内容是非Web服务弱口令检查工具下载与使用。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调&#xff1…

操作系统的运行机制和体系结构

文章目录🎀前言:本篇博客知识总览🏅运行机制🎇两种指令🎇两种状态🎇两种程序🏅操作系统的内核🎇内核概念:🏅操作系统的体系结构🎯最常考点&#x…

DevOps - Jenkins可视化流水线(后端部分)

目录 🧡创建DevOps工程 🧡拉取代码 🧡项目编译 🧡构建镜像 🧡推送镜像 🧡部署到Dev环境 🧡邮件功能 🧡激活微服务 💟这里是CS大白话专场,让枯燥的学习…

zookeeper下载安装

1、环境准备 ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。 2、上传 将下载的ZooKeeper放到/opt/ZooKeeper目录下 #上传zookeeper altp put f:/setup/apache-zookeeper-3.5.6-bin.tar.gz #打开 opt目录 cd /opt #创建zooKeeper目录…

电子招标采购系统源码之什么是电子招投标系统?

随着互联网时代的到来,各行业都受到不同的影响,其中招投标行业也不例外。为了顺应互联网潮流的发展,电子招投标逐渐取代传统的纸质的招投标方式,给招标方、投标方、招标代理等各方也带来了前所未有的机遇与挑战。那么什么是电子招…

日志采集 - Filebeat

Filebeat 是什么? Filebeat是本地文件的日志数据采集器,可监控日志目录或特定日志文件(tail file),并将它们转发给Elasticsearch或Logstatsh进行索引、kafka等。 是使用 Golang 实现的轻量型日志采集器,也…

Spring Boot配置MinIO(实现文件上传、读取、下载、删除)

一、 MinIO MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&#x…

INSERT ON DUPLICATE KEY UPDATE返回值引起的小乌龙

一、东窗事发 某个版本送测,测试大佬给提了一个缺陷,且听我描述描述: 一个学习任务: 两个一模一样的学习动态: 产品定义:学习任务(生字学习)完成后,会在小程序生成一个动态,再次完成不重复生成obviously,上边出现的两个动态不符合“罗辑” 二、排查看看 既然出现了两个动态…

dubbo源码实践-transport 网络传输层的例子

1 Transporter层概述Transporter层位于第2层,已经实现了完整的TCP通信,定义了一套Dubbo自己的API接口,支持Netty、Mina等框架。官方定义:transport 网络传输层:抽象 mina 和 netty 为统一接口,以 Message 为…