数学 - 线性代数导论 - #7 向量空间的两种构成方式:列空间与零空间

本文主要是介绍数学 - 线性代数导论 - #7 向量空间的两种构成方式:列空间与零空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

线性代数导论 - #7 向量空间的两种构成方式:列空间与零空间

 

在#6中,我们介绍了向量空间的概念,提及了列空间的定义。本节课中,我们将通过对两种特殊向量空间——列空间与零空间的介绍,理解向量空间的两种构成方式。

首先是列空间C(A)。

C(A)指的是由矩阵A中的列向量的线性组合构成的空间。

C(A)是向量空间吗?显然是,因为这个空间构筑的方式就是向量的线性组合,它“天生”就符合向量空间的定义。

这个向量空间C(A)是Rn的子空间,其中n是维数也即每一个列向量的元素数目也即矩阵A的行数。

C(A)有什么用处呢?C(A)与向量b之间的关系可以说明Ax=b的解的存在性。

在#1我们就已经提及,列空间是我们从几何视角研究“Ax=b”的解x的一个基础性概念。所有的解x,也即对A进行线性组合的系数集合,应该能使组合的结果为预设的b。

换言之,对于特定的A,不是任意的b都能使Ax=b有解。只有当向量b包含于C(A)时,Ax=b才有解。

我自己原有的想法中有一个谬误:对于一个含有m个方程n个未知数的线性方程组,只要m<=n,方程组就一定有解?

显然不一定,各个方程之间不能够“相互冲突”。

翻译为线性代数的语言,A中的每一列必须“线性无关”。

线性相关的定义在高数(上)中已经提到了,不再赘述。从列空间的角度来看,如果去掉某一列之后,列空间不发生变化,也即这一列在构筑列空间的过程中没有“贡献”,那么这一列与其它列中的某一列(可能直接成倍数关系)或某两列(可能为两列的和或其它线性组合)线性相关。

矩阵A中的n列线性相关时,C(A)会比相同列数、线性无关的矩阵的列空间更小(也就是列空间无法充满Rn),换言之,使方程有解的b的数量也就更少(Rn中的b不一定位于子空间C(A)中)。故这种情况下对于任意的b方程组不一定有解。

 

其次是零空间N(A)。

N(A)是所有满足“Ax=0”的向量构成的空间。

N(A)是向量空间吗?我们使用封闭性检验来检查。

从N(A)中任取两个元素向量v和向量w,已知Av=Aw=0。

对于数乘结果kv,Akv=kAV=0,故kv仍在N(A)中;

对于加法结果v+w,A(v+w)=Av+Aw=0,故v+w仍在N(A)中。

综上,N(A)是向量空间。

N(A)使用消元算法求得,具体步骤将在之后的学习中介绍。

 

列空间和零空间都是向量空间。但是,这两种向量空间是从相反的方向生成的:

1.列空间:已有向量的线性衍生,这也是上一课#6中我们的思路;

2.零空间:求解出所有符合线性关系式的向量再进行合并,这将是我们进一步讨论Ax=b的思路之一。

它们又是统一的。所谓的向量空间,可以抽象为通过线性关系联系的集合。符合关系与否,等价于在空间内与否。

事实上,抛开向量空间的限定,所有由向量构成的空间,都具有这两种构成思路。

比如,我们讨论所有满足Ax=b的向量x构成的空间。

它是向量空间吗?如果b不是零向量,那显然不是。

那它是什么空间呢?这个问题也将在之后的学习中介绍。

 

线性代数的学习逐渐进入深水区,附上Prof. Strang的金句供君一笑:

转载于:https://www.cnblogs.com/samaritan-z/p/8385639.html

这篇关于数学 - 线性代数导论 - #7 向量空间的两种构成方式:列空间与零空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/279432

相关文章

python获取指定名字的程序的文件路径的两种方法

《python获取指定名字的程序的文件路径的两种方法》本文主要介绍了python获取指定名字的程序的文件路径的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 最近在做项目,需要用到给定一个程序名字就可以自动获取到这个程序在Windows系统下的绝对路径,以下

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

python中的显式声明类型参数使用方式

《python中的显式声明类型参数使用方式》文章探讨了Python3.10+版本中类型注解的使用,指出FastAPI官方示例强调显式声明参数类型,通过|操作符替代Union/Optional,可提升代... 目录背景python函数显式声明的类型汇总基本类型集合类型Optional and Union(py

Linux系统管理与进程任务管理方式

《Linux系统管理与进程任务管理方式》本文系统讲解Linux管理核心技能,涵盖引导流程、服务控制(Systemd与GRUB2)、进程管理(前台/后台运行、工具使用)、计划任务(at/cron)及常用... 目录引言一、linux系统引导过程与服务控制1.1 系统引导的五个关键阶段1.2 GRUB2的进化优

IDEA与MyEclipse代码量统计方式

《IDEA与MyEclipse代码量统计方式》文章介绍在项目中不安装第三方工具统计代码行数的方法,分别说明MyEclipse通过正则搜索(排除空行和注释)及IDEA使用Statistic插件或调整搜索... 目录项目场景MyEclipse代码量统计IDEA代码量统计总结项目场景在项目中,有时候我们需要统计

C#和Unity中的中介者模式使用方式

《C#和Unity中的中介者模式使用方式》中介者模式通过中介者封装对象交互,降低耦合度,集中控制逻辑,适用于复杂系统组件交互场景,C#中可用事件、委托或MediatR实现,提升可维护性与灵活性... 目录C#中的中介者模式详解一、中介者模式的基本概念1. 定义2. 组成要素3. 模式结构二、中介者模式的特点

详解Java中三种状态机实现方式来优雅消灭 if-else 嵌套

《详解Java中三种状态机实现方式来优雅消灭if-else嵌套》这篇文章主要为大家详细介绍了Java中三种状态机实现方式从而优雅消灭if-else嵌套,文中的示例代码讲解详细,感兴趣的小伙伴可以跟... 目录1. 前言2. 复现传统if-else实现的业务场景问题3. 用状态机模式改造3.1 定义状态接口3