【线性代数】矩阵的零空间

简介: 矩阵A的零空间就Ax=0的解的集合。 零空间的求法:对矩阵A进行消元求得主变量和自由变量;给自由变量赋值得到特解;对特解进行线性组合得到零空间。
矩阵A的零空间就Ax=0的解的集合。
零空间的求法:对矩阵A进行消元求得主变量和自由变量;给自由变量赋值得到特解;对特解进行线性组合得到零空间。

假设矩阵如下:


对矩阵A进行高斯消元得到上三角矩阵U,继续化简得到最简矩阵R:


由于方程Ax=0的右侧是零向量,所以只对矩阵A进行消元不会影响解,因此不需要增广矩阵,所以有:


从上面的高斯消元的结果可以看出,矩阵A的秩为2,其中第1,3列为主元列,2,4列为自由列,对应于方程主来说,形式转变如下:


从上式可以看出,x2,x4是自由变量,我们可以随意赋值,x2=0,x4=1;x2=1,x4=0可以分别得到两个特解(几个自由变量就有几个特解):


然后我们将两组特解进行线性组合就得到了矩阵A的零空间:


上面我们从数值解的角度描述了矩阵零空间的求法,下面从公式角度分析:
上面我们经过消元( 行变换,不改变行空间和零空间,只改变列空间)得到了最简形式R。我们将R经过列变换得到如下矩阵:

我们可以对方程式作如下变形:



我们之所以进行上述变换,是为了有更好的表示形式(不进行列变换也行,但是要记住哪一列是单位矩阵I中的,哪一列是自由变量矩阵F中的):



这样我们代入方程式可以得到零空间矩阵:


从上面的推导可以看出,得到的零空间矩阵的每一列就是我们前面的特解(注意要变换顺序!交换第2,3行,结果便和前面相同)。因此,我们可以从通过消元法得到最简式R,然后就可以直接得到零空间矩阵,则 零空间就是零空间矩阵各列向量的线性组合,而不需要像前面那样先给x2,x4赋值,然后回代到方程中得到两个特解,从而得到矩阵的零空间。

下面再举一例:

由于R本来就具有很好的形式,就不用进行列变换了:


于是通过解方程得到零空间矩阵:


注:最简矩阵R和零空间矩阵x在MATLAB中可以分别用命令rref(A),null(A,'r')得到



原文:http://blog.csdn.net/tengweitw/article/details/40039373

作者:nineheadedbird







目录
相关文章
|
负载均衡 Cloud Native 数据库
构建高可用的云原生微服务架构:实现弹性和可扩展性
随着云计算技术的快速发展,云原生微服务架构成为了现代应用开发领域中的一种重要范式。它通过利用云服务提供的弹性和可扩展性,为企业构建高可用的、面向未来的应用程序。本文将探讨云原生微服务的概念、核心原则以及一些关键技术,帮助您设计和构建具有弹性和可伸缩性的架构。
1372 1
|
12月前
|
人工智能 Serverless API
云原生应用开发平台CAP:一站式应用开发及生命周期管理解决方案
阿里云的云应用开发平台CAP(Cloud Application Platform)是一款一站式应用开发及应用生命周期管理平台。它提供丰富的Serverless与AI应用模板、高效的开发者工具链及企业级应用管理功能,帮助开发者快速构建、部署和管理云上应用,大幅提升研发、部署和运维效能。
849 3
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SPOOL命令:数据库世界的“录像机”
【4月更文挑战第19天】`SQL*Plus`的`SPOOL`命令是Oracle数据库中的“录像机”,能记录所有操作和输出。它在用户开始“SPOOL ON”时启动,记录SQL查询、输出、错误信息等。完成后,“SPOOL OFF”停止记录并生成日志文件,便于回顾和检查。日志文件可自定义保存位置和命名,支持多文件录制,方便分类管理。无论数据分析、SQL脚本编写还是日常维护,`SPOOL`都是强大的工具,值得一试!
|
12月前
|
Ubuntu Linux 网络安全
如何在Ubuntu 22.04或20.04 Linux上安装MobaXterm
虽然直接在Ubuntu 22.04或20.04上安装MobaXterm是不可能的任务,因为它是专为Windows设计的,但Ubuntu系统提供了丰富的原生工具和替代方案,足以满足远程管理、文件传输等需求。如果你对MobaXterm的特定功能有强烈需求,考虑采用Windows子系统或虚拟机方案作为折衷方案,不失为一种可行之道。在追求高效工作流的同时,不妨也探索和熟悉Linux原生工具,它们往往能提供更为无缝的集成体验。
3119 0
|
Ubuntu Linux 开发工具
嵌入式Linux开发环境搭建之四----Vim的安装
嵌入式Linux开发环境搭建之四----Vim的安装
199 0
|
Ubuntu Linux 虚拟化
Linux下的IMX6ULL——开发板基本操作(二)
Linux下的IMX6ULL——开发板基本操作(二)
662 0
Linux下的IMX6ULL——开发板基本操作(二)
|
小程序 前端开发 JavaScript
微信小程序分类菜单激活状态跟随列表滚动自动切换
微信小程序分类菜单激活状态跟随列表滚动自动切换
258 0
微信小程序分类菜单激活状态跟随列表滚动自动切换
|
Linux 虚拟化 Windows
嵌入式Linux开发环境搭建之三---网络的设置
嵌入式Linux开发环境搭建之三---网络的设置
301 0
|
Ubuntu 网络协议 Linux
嵌入式Linux开发环境搭建之七---正确设置网络使开发板ping同Ubuntu(使用NAT方式,推荐)
嵌入式Linux开发环境搭建之七---正确设置网络使开发板ping同Ubuntu(使用NAT方式,推荐)
1467 0
|
Java 索引
《Java工程师必读手册》——Java极客主义系列——Java代码精简之道(1)
《Java工程师必读手册》——Java极客主义系列——Java代码精简之道(1)
366 0