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

news2024/11/27 18:30:09

本文参考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{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} 中只能找出1组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} 中能找出二组及以上m个线性独立的列向量,那么n>m,那么\mathbf{A}不是方阵当然也不可逆。

四、总结

\mathbf{A}(不是零向量)\mathbf{b}(不是零向量)\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}的列空间里无解

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

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

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

相关文章

揭秘Redis持久化原理,探索fork与Copy-on-Write的魔法!

大家好,我是小米,今天我将和大家一起探索Redis持久化原理中的两个关键概念:fork和Copy-on-Write。这两个概念对于理解Redis的数据持久化机制至关重要。让我们一起来揭开这些技术的神秘面纱吧! Redis持久化简介 在开始之前&#…

组合数学第四讲

Generating Function&#xff08;生成函数&#xff09; 这里是一个普通生成函数例子&#xff0c;生成函数一般适用于根据递推关系式求出比较复杂的通项公式的 关键点&#xff1a; 1.项可转换成G(x)-,因为生成函数规定是从0到∞的 2.,当|x|<1时&#xff0c;最终可收敛为。这里…

基础算法(六):回溯算法

前言 Hello大家好&#xff0c;停了半个多月算法学习的荔枝又变菜了&#xff0c;最近决定认认真真地重新学习回溯&#xff0c;无意间看到Carl哥的代码随想录&#xff0c;感动之余也是跟着一步步走&#xff0c;后悔上车晚了呜呜呜~~~。之前自己摸索确实有点难受&#xff0c;在这篇…

YUM安装LNMP架构配置命令与搭建论坛

LNMP架构配置命令与搭建论坛 LNMP简介安装须知安装 Nginx配置yum源yum安装nginx并查看版本号开启服务并且设为开机自启 安装 MySQL 5.7 (mariadb)移除软件包下载安装mysql安装MySQL报错问题解决方案&#xff1a; 开启服务并设为开机自启在日志文件中找出root用户的初始密码登录…

数据结构 --- 树

1、二叉树 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 每个结点最多有两棵子树&#xff0c;即二叉…

CAPL(vTESTStudio) - CAPL控制RS232继电器

目录 为什么要使用CAPL控制继电器? 一、RS232继电器选择 二、继电器通信协议

AList 一个支持多种存储的文件列表程序,使用 Gin 和 Solidjs。

一个支持多种存储&#xff0c;支持网页浏览和 WebDAV 的文件列表程序&#xff0c;由 gin 和 Solidjs 驱动。 特点 使用简单 AList 从一开始就设计为易于安装&#xff0c;并且可以在所有平台上使用。 多种存储 AList 支持多个存储提供商&#xff0c;包括本地存储、阿里云盘、O…

大数据治理入门系列:数据治理

在信息经济时代&#xff0c;数据是企业的一大关键资产。为了制定科学、有效、合理的决策&#xff0c;企业需要收集大量的数据并进行各种数据分析&#xff0c;为决策提供依据。在此过程中&#xff0c;收集数据的速度、数据的质量和可靠性、对数据的分析过程、合适的分析工具等&a…

三十四、数学知识——约数(试除法 + 约数个数 + 约数之和 + 欧几里得算法)

约数相关算法主要内容 一、基本思路1、定义2、试除法——求一个数的所有约数3、约数个数4、约数之和5、欧几里得算法——辗转相除法&#xff08;求解最大公约数&#xff09; 二、Java、C语言模板实现三、例题题解 一、基本思路 1、定义 约数&#xff1a; 约数是指一个数&…

利用百度API进行植物识别

植物识别_拍照识别植物-百度AI开放平台百度AI植物识别,支持识别超过2万种通用植物和近8千种花卉&#xff0c;接口返回植物的名称&#xff0c;并获取百科信息&#xff0c;适用于拍照识图类APP中https://ai.baidu.com/tech/imagerecognition/plant 偶然看到的&#xff0c;不过真…

STM32F103C8T6+2.4寸SPI TFT触摸屏代码+标准库 项目开发

目录 模块清单&#xff1a; 模块介绍&#xff1a; 1&#xff1a;STM32F103C8T6 2&#xff1a;2.4寸SPI TFT触摸屏 项目结果展示 2.4寸 TFT SPI显示触摸屏 2.4寸 SPI TFT 显示触摸屏代码下载链接&#xff1a; (1条消息) 2.4寸SPITFT显示触摸屏资源-CSDN文库 模块清单&#x…

Vue后台管理系统【附源码】

登录 – 完成 路由拦截 – 完成 商品管理&#xff08;增加、编辑、搜索、删除&#xff09; – 完成 角色管理&#xff08;增加、编辑、搜索、删除、权限管理&#xff09; – 完成 交易订单&#xff08;增加、编辑、搜索、删除&#xff09; – 完成 用户管理&#xff08;增加、编…

在Centos Stream 9上Docker的实操教程 - 实操准备篇

在Centos Stream 9上Docker的实操教程 - 实操准备篇 认识Docker准备Centos Stream 9安装Docker更新仓库绕不开的HelloWorld结语 认识Docker 什么都要实操了&#xff0c;你还不知道Docker是什么&#xff1f;网上关于Docker的介绍一搜一大把&#xff0c;博主就不必浪费时间去侃侃…

ESP32-OTA

文章目录 1. 什么是OTA&#xff1f;2. OTA的基本原理3. ESP32远程OTA步骤&#xff1a;3.1 将需要升级的程序放在该目录下3.2 启动HTTP服务器3.3 配置3.4 烧录程序3.5 上电测试ESP32端 4. 问题&#xff1a;5. 通过命令控制OTA6. 参考&#xff1a; 1. 什么是OTA&#xff1f; OTA…

如何用 GPT-4 帮你写游戏(以24点游戏举例)

目录 给我一个24点游戏 游戏规则 GPT给的代码 ​改进 再改进 最近呢掀起了一阵GPT-4的热潮&#xff0c;很多人都想用GPT-4&#xff0c;这里呢我就打一个广告&#xff08;嘿嘿&#xff09;&#xff0c;如果不知道国内如何使用GPT的&#xff0c;可以看看这个博客&#xff1a;G…

STC89C52+DHT20设计的环境温湿度检测仪

一、项目背景 本项目基于STC89C52单片机和DHT20温湿度传感器,实现了一款环境温湿度检测仪。通过传感器采集环境的温度和湿度数据,利用IIC接口的OLED显示屏显示出来,便于用户实时监测环境温湿度状态。 在现代社会,人们对环境温湿度的要求越来越高。无论是工作场所还是居住…

局部特征匹配(LoFTR) 基于全局匹配的光流学习(GMFlow)

文章目录 特征匹配&#xff08;稀疏匹配与稠密匹配&#xff09;《LoFTR: Detector-Free Local Feature Matching with Transformers》【CVPR21】《GMFlow: Learning Optical Flow via Global Matching》【CVPR22】光流的定义第一个问题第二个问题方法该框架下存在的一个问题 Pr…

智慧园区管理平台优势详解

随着数字化和智能化的时代到来&#xff0c;越来越多的园区开始使用智慧园区管理平台来提高管理效率&#xff0c;降低管理成本和提升服务质量。智慧园区管理平台是一种通过智能化技术与物联网技术进行连接&#xff0c;对园区进行综合管理、智能化监控的信息化平台。下面将详细介…

大数据:云平台,阿里云VPC创建,创建安全组,云服务器ECS,

大数据&#xff1a;云平台 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;可能很多算法学生都得去找开发&#xff0c;测开 测开的话&#xff0c;你就得学数据库&#xff0c;sql&#xff0c;oracle&#xff0c;尤其sql要学&…

Seata之@GlobalTransactional验证

下订单 -> 减库存 -> 扣余额 -> 改&#xff08;订单&#xff09;状态 1.数据库初始情况&#xff1a; 2.正常下单 http://localhost:2001/order/create?userId1&productId1&count10&money100 3.超时异常&#xff0c;没加GlobalTransactional 模拟Accou…