在大学学线性代数的时候,教材总是先从行列式开始的,期间又引入了诸如逆序数之类的奇怪的玩意。即便学完了东西还是挺多的,考前刷刷题也拿了90多分,但我对于线性代数还是处在一个非常模糊的认识。说白了就是我学它到底是做什么用的,虽然之后大学有一门现代控制理论,大量的使用了线代的知识,但我只是照着书本的例题流程把一道道课后题写出来答案而已。我对于线性代数的意义还是摸不着头脑。现在离开了大学的校园几年后,对于大学中的数学知识忘了不少,为了能够看得懂机器学习相关书籍,也以此为契机,必须要重新捡起线代的知识。而这次我选择MIT的线代课程和《线性代数应该这样学》再搭配丘维声的《高等代数》部分内容,看看国外的教材是怎么把线代讲清楚讲明白的。之所以搭配一本国内教材是因为国外的教材偏向于培养学生的数学直觉,国内的教材倾向于教会学生计算,把两者相互搭配效果可能更好。
与国内教材不同的是,国外教材抛开行列式,从向量空间入手。(高等代数是从解方程组入手,之后按顺序引入行列式,向量空间和矩阵,我这里主要以国外教材为准,国内教材作为补充学习的材料)既然说到向量空间,首先需要理解什么是向量。(此部分借鉴自线性代数的本质系列视频)
(一) 向量
1.向量的三种理解
物理系:向量是一个矢量, 或者说是一个在空间中有指向的箭头,定义这个向量,需要它的长度以及它指向的方向两个方面。在平面上的向量是二维的,在空间中的向量是三维的。
计算机系:向量是有序的数字列表,向量中的每个数字对应着一个事物的一项信息的数值。比如人的身高,体重,年龄,分别有序对应向量中的三个数字中的一个。
数学系: 向量可以是任何东西,只要保证向量加法和数乘运算有意义就可以是向量。
在实际应用中,我们规定向量的起点必须是原点,终点可以是空间中的任意一点。方向即为原点到终点的指向。在代数上,向量的由终点各轴减去起点各轴的差值表示。
定义是中元素构成的长度为的向量的集合:
{ }
对于以及{}称:是的第个坐标。
2.向量的加法和数乘
首先看一下向量的加法:
对于可以理解为从的起点出发到的终点后,再沿着的方向走表示的距离。此时两个向量的加和就等同于用第一个向量的起点指向最后终点的向量。用代数表示如下:
对于向量的数乘(注意是向量乘以一个数k而非向量)可以理解为对于原向量的拉伸,k为正数,就是原方向拉伸k倍,为负数就是反方向拉伸k倍。(k的绝对值小于1就是压缩,就不纠结字面意思了)代数表示就是系数k分别乘以原向量各值,得出来的新向量。
(二) 向量空间
1.向量空间
定义了这两种运算之后,我们可以就定义一个向量空间,在定义向量空间之前,我们先来探讨一下空间的定义,网上有人总结的很好,在我们的现实世界里,三维空间就是我们非常熟悉的一个空间,从数学上说,这是一个三维的欧几里德空间,我们先不管 那么多,先看看我们熟悉的这样一个空间有些什么最基本的特点。仔细想想我们就会知道,这个三维的空间:
1: 由很多(实际上是无穷多个)位置点组成;
2: 这些点之间存在相对的关系;
3: 可以在空间中定义长度、角度;
4: 这个空间可以容纳运动,这里我们所说的运动是从一个点到另一个点的瞬间跳跃移动(变换),而不是微积分意义上的“连续”性的运动
上面的这些性质中,最最关键的是第4条。第1、2条只能说是空间的基础,不算是空间特有的性质,凡是讨论数学问题,都得有一个集合,大多数还得在这 个集合上定义一些结构(关系),并不是说有了这些就算是空间。而第3条太特殊,其他的空间不需要具备,更不是关键的性质。只有第4条是空间的本质,也就是说: 容纳运动是空间的本质特征。
认识到了这些,我们就可以把我们关于三维空间的认识扩展到其他的空间。事实上,不管是什么空间,都必须容纳和支持在其中发生的符合规则的运动(变换)。你会发现,在某种空间中往往会存在一种相对应的变换,比如拓扑空间中有拓扑变换,线性空间中有线性变换,仿射空间中有仿射变换,其实这些变换都只不过是对应空间中允许的运动形式而已。因此只要知道:
“空间”是容纳运动的一个对象集合,而变换则规定了对应空间的运动。
我觉得这个概括非常好,如果把向量看成是空间中的一个个点,那么向量的变换就是这个点在空间中的运动。所以说,向量空间也是一个集合,这个集合对向量的加法和数乘是封闭的,也就是说,只要向量在这个空间内,那么向量按照加法和数乘的方式运动,就会一直在这个空间里。所以,对加法和数乘运算封闭的向量空间也称为线性空间。
有了以上理解后,给出向量空间的正式定义:
对于定义了加法和数乘的集合,满足以下性质:
交换性:
结合性:
零向量:
单位向量:
分配性:
则称V是一个向量空间。
可以看出向量空间是一个满足加法和数乘封闭的空间:
定义了向量空间之后,我们来看看最常见的一种向量空间, 这个定义了一个维度为 的实向量空间,就是所有维度为 的实向量的集合,当,就是我们所说的二维空间,也就是我们常见的平面,当 ,就是常见的三维立体的空间,这个空间可以看成是所有三维向量的一个集合。很容易可以看出,如果有任意两个向量 在向量空间里,那么 必然也在这个空间里,而且 同样也是在这个空间里。
在此之上做出推广:
2.向量空间的子空间
理解向量空间之后,我们接下来看看向量子空间,我们还是以常见的向量空间 为例,我们知道, 包含了所有维度为 的实向量,但是有的时候,我们可能不需要考虑所有的 维实向量,我们只需要考虑一部分的 维实向量,那么这一部分实向量构成的集合或者空间,就称为向量子空间。向量子空间可以看成是向量空间中的一个子集,但是子集本身也是封闭的,也就是说,如果有任意两个向量 在子空间里,那么 必然也在这个子空间里,而且 同样也是在这个子空间里。因为要满足数乘封闭,所以 向量必然包含在子空间里,所有的子空间都应该包括 向量,以常见的三维空间 为例, 向量本身肯定是一个子空间,过原点的一条直线,或者一个平面都是一个子空间,当然三维空间本身也可以看成是一个子空间,所以,三维空间可以存在四种子空间:
向量
过原点的直线
过原点的平面
三维空间本身
所以概括来说,向量空间是向量的集合,而向量子空间,就是这个集合中的子集,无论向量空间还是子空间,都满足向量加法和数乘的封闭性。这也是为什么向量空间又称为线性空间的原因。
下面给出正式定义:
3.子空间的运算
交运算:
向量子空间的交一定是向量子空间。令是两个线性子空间,那么子空间的交可定义为 。若这些子空间公共的唯一向量为零向量,{0},则称子空间无交连。
并运算:
向量子空间的并不一定是向量子空间,直观的理解为两个集合的并,不满足加法的封闭性。只是单纯把每个元素累积起来。
例如对于的两个一维子空间{},{}
{} 而非
那么如何通过来表示呢?在此引入子空间加法的概念。
子空间的加法运算:
等价于理解为即)
推广到多个子空间:
在和的定义之上,观察到两个子空间的交集有可能不仅仅只有零向量,为了能够将和中的每个元素唯一的表示,引入直和的定义:
当且仅当{}时,称为两者的直和,用 表示
显然如果可以直和,两者确定的维数和为,就可以说 。直观来说就是一个过原点的平面,一条不在此平面的过原点的直线,两者可以张成。
推广到多个子空间:
4.线性组合和线性相关
对向量空间的一个向量组的线性组合是指形如的向量,其中。也称为由向量组线性表示。
对向量空间的一个向量组,若存在全为0的系数使得,则称线性相关,否则为线性无关。
5.张成空间
对向量空间的一个向量组的所有线性组合构成的集合称为
的张成空间,记为={}
空向量组张成空间为{0}
显然向量组的张成空间是包含这组向量的最小子空间。
同时对于向量组和向量组,若中的每个向量都可以由线性表示,则称为与等价
6.极大无关组
对向量空间的一个向量组中的个向量满足:
线性无关 ;中任意个向量都线性相关。
则是的一个极大无关组。可以看出并不唯一,但所有极大无关组的向量个数是相同的。显然极大无关组的向量个数 张成空间的向量个数。那么何时等号成立呢?张成空间的向量是向量空间的一组基时,等号成立。
7.基向量
对向量空间的一个向量组既线性无关,又张成,则称为的基。
也就是说任意,都能唯一的写成如下形式:
则可以认定为的一组基。
可以看出基向量组的选取不是唯一的,但选定一组基向量后,任意向量的表示是唯一的。同时不同基向量组的维数相同。
到现在为止应该对于向量空间有一个大致的认识了。我们想要表示一个向量空间的全部元素,只需要找到合适的基向量来表示就可以。如果你多想想,我们到现在真的遇到了很多线性空间,一个常微分线性方程的解空间就是一个线性空间,所以只需要找到足够的线性无关的解组成该空间的一组基,那么所有解就是这组基的线性组合了。同理差分方程的解空间也是一个线性空间。那么下一部分讲函数的映射相关内容。