数学 - 线性代数导论 - #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

相关文章

虚拟机与物理机的文件共享方式

《虚拟机与物理机的文件共享方式》文章介绍了如何在KaliLinux虚拟机中实现物理机文件夹的直接挂载,以便在虚拟机中方便地读取和使用物理机上的文件,通过设置和配置,可以实现临时挂载和永久挂载,并提供... 目录虚拟机与物理机的文件共享1 虚拟机设置2 验证Kali下分享文件夹功能是否启用3 创建挂载目录4

linux报错INFO:task xxxxxx:634 blocked for more than 120 seconds.三种解决方式

《linux报错INFO:taskxxxxxx:634blockedformorethan120seconds.三种解决方式》文章描述了一个Linux最小系统运行时出现的“hung_ta... 目录1.问题描述2.解决办法2.1 缩小文件系统缓存大小2.2 修改系统IO调度策略2.3 取消120秒时间限制3

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Mybatis官方生成器的使用方式

《Mybatis官方生成器的使用方式》本文详细介绍了MyBatisGenerator(MBG)的使用方法,通过实际代码示例展示了如何配置Maven插件来自动化生成MyBatis项目所需的实体类、Map... 目录1. MyBATis Generator 简介2. MyBatis Generator 的功能3

numpy求解线性代数相关问题

《numpy求解线性代数相关问题》本文主要介绍了numpy求解线性代数相关问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 在numpy中有numpy.array类型和numpy.mat类型,前者是数组类型,后者是矩阵类型。数组

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

Python数据处理之导入导出Excel数据方式

《Python数据处理之导入导出Excel数据方式》Python是Excel数据处理的绝佳工具,通过Pandas和Openpyxl等库可以实现数据的导入、导出和自动化处理,从基础的数据读取和清洗到复杂... 目录python导入导出Excel数据开启数据之旅:为什么Python是Excel数据处理的最佳拍档

SpringBoot项目启动后自动加载系统配置的多种实现方式

《SpringBoot项目启动后自动加载系统配置的多种实现方式》:本文主要介绍SpringBoot项目启动后自动加载系统配置的多种实现方式,并通过代码示例讲解的非常详细,对大家的学习或工作有一定的... 目录1. 使用 CommandLineRunner实现方式:2. 使用 ApplicationRunne

VUE动态绑定class类的三种常用方式及适用场景详解

《VUE动态绑定class类的三种常用方式及适用场景详解》文章介绍了在实际开发中动态绑定class的三种常见情况及其解决方案,包括根据不同的返回值渲染不同的class样式、给模块添加基础样式以及根据设... 目录前言1.动态选择class样式(对象添加:情景一)2.动态添加一个class样式(字符串添加:情

MYSQL行列转置方式

《MYSQL行列转置方式》本文介绍了如何使用MySQL和Navicat进行列转行操作,首先,创建了一个名为`grade`的表,并插入多条数据,然后,通过修改查询SQL语句,使用`CASE`和`IF`函... 目录mysql行列转置开始列转行之前的准备下面开始步入正题总结MYSQL行列转置环境准备:mysq