线性代数:线性方程求解、矩阵的逆、线性组合、线性独立

本文参考www.deeplearningbook.org一书第二章2.3 Identity and Inverse Matrices 2.4 Linear Dependence and Span

本文围绕线性方程求解依次介绍矩阵的逆、线性组合、线性独立等线性代数的基础知识点。

一、线性方程

本文主要围绕求解线性方程展开,我们先把线性方程写出来,方程如下:

\mathbf{A}\mathbf{x}=\boldsymbol{b}

其中\mathbf{A}\in \mathbb{R}^{m\times n}\mathbf{A}是已知的;\mathbf{b}\in \mathbb{R}^{m}\mathbf{b}是已知的;\mathbf{x}\in \mathbb{R}^{n}\mathbf{x}是未知的,需要我们求解。即上述方程已知\mathbf{A}\mathbf{b},求\mathbf{x}

为了求\mathbf{x},有很多思路,其中有个思路就是通过矩阵的逆来求\mathbf{x}。对于一些\mathbf{A},可以通过矩阵的逆来求\mathbf{x}

二、单位矩阵(identity matrix)和矩阵的逆(matrix inverse)

在介绍矩阵的逆之前,需要先了解下单位矩阵。

单位矩阵

单位矩阵是指这样一个矩阵:当一个矩阵乘一个向量,相乘的结果依然是这个向量,那么这个矩阵就是单位矩阵。即对 \forall \mathbf{x}\in \mathbb{R}^{n},有 \mathbf{I}_{n}\mathbf{x}=\mathbf{x},其中 \mathbf{I}_{n}\in \mathbb{R}^{n\times n}

单位矩阵的形式是很简单的,矩阵的主对角线上的值为1,其余位置的值都为0。例如:

\mathbf{I_{2}}=\begin{bmatrix} 1 & 0\\ 0& 1 \end{bmatrix}        ;\mathbf{I_{3}}=\begin{bmatrix} 1 & 0& 0\\ 0& 1& 0\\ 0& 0& 1 \end{bmatrix}        ;\mathbf{I_{4}}=\begin{bmatrix} 1 & 0& 0&0 \\ 0& 1& 0& 0\\ 0& 0& 1& 0\\ 0& 0& 0& 1 \end{bmatrix}        ;等等

单位矩阵有一个性质,那就是对于\forall \mathbf{A}\in \mathbb{R}^{n\times n},有 \mathbf{A}\mathbf{I}_{n}=\mathbf{I}_{n}\mathbf{A}=\mathbf{A}

矩阵的逆

如果一个矩阵 \mathbf{B} 满足\mathbf{B}\mathbf{A}=\mathbf{I_{n}},那么矩阵 \mathbf{B} 就是矩阵 \mathbf{A} 的逆(更具体来讲叫左逆)。我们一般把这样的矩阵 \mathbf{B} 计作\mathbf{A}^{-1},即\mathbf{A}^{-1}\mathbf{A}=\mathbf{I_{n}}

根据矩阵的逆的定义,我们可以推导出来以下结论:

推导1、当矩阵 \mathbf{A} 是方阵时,矩阵 \mathbf{A} 的逆\mathbf{A}^{-1}才有可能存在;当矩阵 \mathbf{A} 不是方阵时,矩阵 \mathbf{A} 的逆\mathbf{A}^{-1}一定不存在。

推导2、当矩阵 \mathbf{A} 是方阵时,矩阵 \mathbf{A} 的逆\mathbf{A}^{-1}可能存在,也可能不存在;不是所有的方阵都有逆矩阵。

推导3、当矩阵 \mathbf{A} 是方阵并且矩阵 \mathbf{A} 的逆\mathbf{A}^{-1}存在时,\mathbf{A}^{-1}也是方阵,并且\mathbf{A}^{-1}是唯一的。

关于这三个推导的证明会写在另外一篇文章里~

那么如果\mathbf{A}是方阵并且矩阵 \mathbf{A} 的逆\mathbf{A}^{-1}存在的话,我们可以用\mathbf{A}^{-1}来求解线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}里的\mathbf{x}。具体求解过程如下:

 \mathbf{A}\mathbf{x}=\mathbf{b}\\ \\\mathbf{A}^{-1}\mathbf{A}\mathbf{x}=\mathbf{A}^{-1}\mathbf{b}\\ \\\mathbf{I_{n}}\mathbf{x}=\mathbf{A}^{-1}\mathbf{b}\\ \\\mathbf{x}=\mathbf{A}^{-1}\mathbf{b}\\

我们可以得到:如果矩阵 \mathbf{A} 的逆存在的话,对于任意的\mathbf{b},都可以求出线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}里的\mathbf{x},由于\mathbf{A}^{-1}是唯一的,所以对于固定的\mathbf{b},求出的\mathbf{x}只有一个。

也就是说如果矩阵 \mathbf{A} 的逆存在,那么线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}对所有的 \mathbf{b}\in \mathbb{R}^{m} ,\mathbf{x}都有解且\mathbf{x}解唯一,反之也成立。我们暂且把这个结论计作结论1

当然,如果矩阵 \mathbf{A} 的逆不存在的话(包括\mathbf{A}不是方阵、\mathbf{A}是方阵但\mathbf{A}的逆矩阵不存在),就不能上述求解过程来求解\mathbf{x},但是并不代表\mathbf{x}没有解,这时只对于一部分\mathbf{b}来讲\mathbf{x}有解,稍后会讲到。

那么当矩阵 \mathbf{A} 的逆不存在时,我们怎样求解\mathbf{x}呢?我们接下来引入线性独立这个概念。

三、线性组合和线性独立

求解方程\mathbf{A}\mathbf{x}=\boldsymbol{b}里的\mathbf{x}可能有哪些情况呢?我们不妨先列举出来可能出现的情况。

\mathbf{x}有一个解。②\mathbf{x}没有解。③\mathbf{x}有无数解。④\mathbf{x}有几个解。


对于④,我们可以先排除掉。因为如果方程\mathbf{A}\mathbf{x}=\boldsymbol{b}只有两个解 x_{1} 和 x_{2} ,那么z=\alpha x_{1}+(1-\alpha )x_{2} 也然是方程\mathbf{A}\mathbf{x}=\boldsymbol{b}的解,与只有两个解矛盾(简单证明一下就能明白)。

我们已经知道,如果矩阵 \mathbf{A} 的逆存在的话,对于任意\mathbf{b},方程\mathbf{A}\mathbf{x}=\boldsymbol{b}里的\mathbf{x}都有解并且唯一,是①这种情况。那么什么样的\mathbf{A}\mathbf{b}能有②、③这种情况呢?我们接下来从线性组合的角度来理解下①②③这三种情况。

线性组合

我们可以把求解\mathbf{x}的过程想成这样:

把矩阵\mathbf{A}的每一列看成是从原点出发,沿着不同方向延伸的向量;\mathbf{x}决定延伸到多远,x_{i}决定\mathbf{A}的第 i 列延伸到多远;然后我们看看有多少种方法能够到达 \boldsymbol{b}(也就是求解\mathbf{x})。

那么\mathbf{A}\mathbf{x}可以写成如下形式:

 \mathbf{A}\mathbf{x}=\sum_{i}^{}x_{i}\mathbf{A}_{:,i}

其中 \mathbf{A}_{:,i} 指\mathbf{A}的第 i 列(向量),x_{i} 指 \mathbf{x}的第 i 个数值(实数)。

式子里的 \sum_{i}^{}x_{i}\mathbf{A}_{:,i} 一般叫做线性组合。我们可以对线性组合做个一般性的描述:一组向量\begin{Bmatrix} \mathbf{v}^{(1)} ,& ..., & \mathbf{v}^{(n)} \end{Bmatrix} 的线性组合就是给每个向量\mathbf{v}^{(i)}乘上一个实数系数再将向量相加后得到的向量:

 \sum_{i}^{}c_{i}\mathbf{v}^{(i)}

一组向量的跨度(span)就是这组向量通过线性组合能够得到的所有向量。\mathbf{A} 的所有列向量的跨度就是\mathbf{A}\mathbf{x}所能代表的所有向量(任意改变\mathbf{x}每个维度的值)。

有了跨度这个概念之后,我们可以这样理解,如果 \boldsymbol{b} 在\mathbf{A} 的所有列向量的跨度里,那么就存在\mathbf{x},使得\mathbf{A}\mathbf{x}=\boldsymbol{b},也就是说 \mathbf{x} 有解。\mathbf{A} 的所有列向量的跨度也可以叫做\mathbf{A}的列空间。

线性独立

我们先从一个问题入手分析,那就是要使得线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}对所有的 \mathbf{b}\in \mathbb{R}^{m} ,\mathbf{x}都有解,\mathbf{A} 需要满足什么条件。

如果要使得线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}对所有的 \mathbf{b}\in \mathbb{R}^{m} ,\mathbf{x}都有解,那么需要使得所有的 \mathbf{b}\in \mathbb{R}^{m}都应该在\mathbf{A}的列空间里,那么就需要满足\mathbf{A}的列空间就是 \mathbb{R}^{m} (如果\mathbb{R}^{m}的一个向量不在\mathbf{A}的列空间里,那么这个向量作为\mathbf{A}\mathbf{x}=\boldsymbol{b}里的 \boldsymbol{b} 时,\mathbf{x}无解)。要使得\mathbf{A}的列空间就是 \mathbb{R}^{m}首先 \mathbf{A}\mathbf{A}\in \mathbb{R}^{m\times n})必须至少要有m列,也就是n\geq m。举个例子,比如\mathbf{A}是一个 3\times 2 矩阵,\boldsymbol{b}是3维向量,\mathbf{x}是 2 维向量,那么随意改变\mathbf{x}每个维度的值最多也只能使\mathbf{A}\mathbf{x}这个线性组合布满由\mathbf{A}的两个列向量为边界的一个平面(\mathbb{R}^{3}里的一个平面),\boldsymbol{b} 在这个平面里 ,方程有解,\boldsymbol{b} 不在这个平面里 ,方程无解。其次 \mathbf{A} 中至少能找出一组m个没有冗余的列向量。举个例子,比如\mathbf{A}是一个 2\times 2 矩阵,\mathbf{A}的两个列向量是相同的,\boldsymbol{b}是2维向量,\mathbf{x}是 2 维向量,那么随意改变\mathbf{x}每个维度的值最多也只能使\mathbf{A}\mathbf{x}这个线性组合是一条直线(\mathbb{R}^{2}里的一条直线),而不能覆盖整个平面 \mathbb{R}^{2}\boldsymbol{b} 在这个直线上 ,方程有解,\boldsymbol{b} 不在这个直线上 ,方程无解。这里所说到的没有冗余一般叫做线性独立,如果一组向量里的任何一个向量不可能由其他向量通过线性组合的方式得到,那么这组向量就是线性独立的。(线性独立用来形容一组向量)

通过分析,我们可以得出如下结论:

结论2:如果线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}对所有的 \mathbf{b}\in \mathbb{R}^{m} ,\mathbf{x}都有解,那么一定有n\geq m,反之不成立。

结论3:如果线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}对所有的 \mathbf{b}\in \mathbb{R}^{m} ,\mathbf{x}都有解,那么在\mathbf{A} 中至少存在一组 m个列向量线性独立,反义也成立。在\mathbf{A} 中只能找出 一组 m个列向量线性独立,\mathbf{x}有唯一解,在\mathbf{A} 中能找出2组及以上m个列向量线性独立,\mathbf{x}有无数解。

 

我们可以将结论1结论3对比得出:如果在\mathbf{A} 中只存在一组 m个列向量线性独立,那么m=n并且线性方程\mathbf{A}\mathbf{x}=\boldsymbol{b}对所有的 \mathbf{b}\in \mathbb{R}^{m} ,\mathbf{x}都有解(唯一解),那么\mathbf{A}可逆,然后我们可以得到可逆矩阵\mathbf{A}一定是方阵,也可以得到如果矩阵\mathbf{A}可逆,那么\mathbf{A} 的m个列向量线性独立,反之也成立。

 

如果在\mathbf{A} 中能找出2组及以上m个列向量线性独立,那么n>m,那么\mathbf{A}不是方阵当然也不可逆。

四、总结

对于方程\mathbf{A}\mathbf{x}=\boldsymbol{b}

\mathbf{A}\in \mathbb{R}^{m\times n}(不是零向量)\mathbf{b}\in \mathbb{R}^{m}(不是零向量)\mathbf{x} 
n=m(方阵)且可逆(\mathbf{A} 的 n 个列向量线性独立)任意有解(唯一解)
n=m(方阵)且不可逆(\mathbf{A} 的 n 个列向量线性有关)\mathbf{b}\mathbf{A}的列空间里

有解(无数解)

n=m(方阵)且不可逆(\mathbf{A} 的 n 个列向量线性有关)\mathbf{b}不在\mathbf{A}的列空间里无解
n>m 且\mathbf{A}中至少存在一组 m个列向量线性独立任意有解(存在一组有唯一解,存在2组及以上有无数解)
n>m 且\mathbf{A}中不存在一组 m个列向量线性独立\mathbf{b}\mathbf{A}的列空间里有解(无数解)
n>m 且\mathbf{A}中不存在一组 m个列向量线性独立\mathbf{b}不在\mathbf{A}的列空间里无解

本文就讲到这里啦,欢迎各位大佬留言呀~

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件工程——第2章可行性研究知识点整理

本专栏是博主个人笔记,主要目的是利用碎片化的时间来记忆软工知识点,特此声明! 文章目录 1.可行性研究的目的? 2.可行性研究的实质? 3.从哪些方面研究逻辑模型的解法可行性? 4.可行性研究最根本的任务是…

【MySQL】数据库基础 ②

✍LIKE 子句 说明: 使用 SELECT 来查询数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。 WHERE 子句中可以使用等号 来设定获取数据的条件,如 "字段(text_title) 值()"。 但是有时候我们需要获取 text_…

Dump寄存器使用、解析

前人种树,后人乘凉;创造不易,请勿迁移~ author daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主 daisy.skye的博客_CSDN博客-嵌入式,Qt,Linux领域博主daisy.skye擅长嵌入式,Qt,Linux,等方面的知识https://blog.csdn.net/qq_40715266?t…

Ubuntu18.04离线安装Nginx

因需要安装nginx的服务器无法连接互联网,所以需要离线安装。首先需要下载nginx的安装包,之后进行安装,在安装之前需要保证gcc,g,make等依赖包已经安装。 因为是需要离线安装,所以在之前是用的一台互联网下载…

selenium 要点击的元素被其他元素遮挡 or 无法找到非可视范围内的元素

selenium 无法找到非可视范围内的元素 org.openqa.selenium.StaleElementReferenceException: The element reference of is stale; either the element is no longer attached to the DOM, it is not in the current frame context, or the document has been refreshed se…

Java实训日志06

文章目录 八、项目开发实现步骤(八)创建服务接口1、创建学校服务接口2、创建状态服务接口3、创建学生服务接口4、创建用户服务接口 (九)创建服务接口实现类1、创建学校服务接口实现类2、创建状态服务接口实现类3、创建学生服务接口…

【C++】4.工具:读取ini配置信息

😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍读取ini配置信息。 学其所用,用其所学。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,下次更新不迷路&…

百度沈抖:大模型 产业智能化时代的新引擎

6月9日,2023 NAVIGATE领航者峰会在杭州举办,聚焦数字经济新政策、新技术、新业态带来的蓬勃机遇,探讨ICT行业在AIGC时代将要面临的全新挑战与应对策略。百度集团执行副总裁、百度智能云事业群总裁沈抖出席大会并作题为《大模型 产业智能化时代…

Elastic 8.8 版引入了全新的 Learned Sparse Encoder 模型,并宣布正式推出合成监测

作者:Brian Bergholm 2023年5月25日 今天,我们非常高兴地宣布 Elastic 8.8 版正式发布。 新增功能 Elastic 企业搜索可帮助开发人员利用 Elasticsearch 实现强大的现代搜索和发现体验。 请在 “Elastic 企业搜索亮点” 博文或 8.8 版发行说明中&#…

信息量、熵、联合熵、条件熵、相对熵、交叉熵、JS散度、Wasserstein距离

信息量 I ( x i ) l o g 1 P ( x i ) − l o g P ( x i ) I(x_i)log \frac {1}{P(x_i)}-logP(x_i) I(xi​)logP(xi​)1​−logP(xi​) 信息量(self-information),又译为信息本体,由克劳德 香农(Claude Shannon&…

小白也能玩转Docker:应用部署、迁移与备份

目录 1、应用部署 1.1、Mysql 1.2、Ngixn 1.3、Redis 1.4、RabbitMQ 1.5、Elasticsearch 1.6、Zookeeper 2、迁移与备份 2.1容器保存为镜像 2.2镜像备份 2.3镜像恢复与迁移 1、应用部署 1.1、Mysql 拉取mysql的镜像: docker pull mysql:5.7 为mysql镜…

孤立森林详解

基本概念 孤立森林(Isolation Forest)是一种基于异常检测的机器学习算法,用于识别数据集中的异常点。孤立森林算法在异常检测、网络入侵检测、金融欺诈检测等领域有广泛应用,并且在处理大规模数据和高维数据时表现出色。孤立森林…

linux centos Python + Selenium+Chrome自动化测试环境搭建?

在 CentOS 系统上搭建 Python Selenium Chrome 自动化测试环境,需要执行以下步骤: 1、安装 Python CentOS 7 自带的 Python 版本较老,建议使用 EPEL 库或源码安装 Python 3。例如,使用 EPEL 库安装 Python 3: sud…

excel爬虫相关学习2:excel 和 vba 爬虫相关xmlhttp方法

目录 前言:vba 爬虫相关xmlhttp的方法 1 什么是xmlhttp 1.1 定义 1.2 特点 定义XMLHTTP对象: XMLHTTP方法: open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword) send(varBody) setRequestHeader(bstrHeader, bstrValue) …

SpringBoot全局异常页面处理学习

首先我们先在控制器中写一个异常,默认情况下我们的SpringBoot异常页面是这个样子的。 示例代码如下: import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;/*** author qinxun* date 202…

拉新、转化、留存,一个做不好,就可能会噶?

用户周期 对于我们各个平台来说(CSDN也是),我们用户都会有一个生命周期:引入期–成长期–成熟期–休眠期–流失期。 而一般获客就在引入期,在这个时候我们会通过推广的手段进行拉新;升值期则发生在成长期…

AotucCrawler 快速爬取图片

AotucCrawler 快速爬取图片 今天介绍一款自动化爬取图片项目。 GitHub: GitHub - YoongiKim/AutoCrawler: Google, Naver multiprocess image web crawler (Selenium) Google, Naver multiprocess image web crawler (Selenium) 关键字 爬虫网站:Google、Naver &…

最新大学计算机专业实习心得报告

最新大学计算机专业实习心得报告(篇1) 一、实习目的 通过理论联系实际,巩固所学的知识,提高处理实际问题的能力,为顺利毕业进行做好充分的准备,并为自己能顺利与社会环境接轨做准备。通过这次实习&#xff…

管理类联考——英语二——技巧篇——阅读理解——taiqi

第一章 翻译技巧概述 一、词汇方面 (一)词义选择 大多数英语词汇是多义的,翻译时必须选择正确的词义。词义选择的方法有三:根据上下文和词的搭配选择根据词类选择、根据专业选择。 (二)词义转换 在理解英文词汇的原始意义基础…

vue安裝及配置 nodejs安装配置

vue安装及配置 vue安装步骤 nodejs安装 安装nodejs环境:https://nodejs.org/en/ 查看node版本:node-v vue3.0需要使用node 8版本以上 npm镜像配置 npm是nodejs内置的资源管理器 npm两个镜像: 淘宝镜像:https://registry.npm.…