线性代数的核心不是行列式和线性方程组,而是向量空间和线性映射。
这个回答中主要是从向量空间和线性映射的角度讲的,为了保持整体性,我还写了一篇与线性方程组有关的笔记,线代笔记(二):线性方程组的三种视角,欢迎移步去阅。
另外,欢迎关注我的个人公众号:可乐学人。主要是分享笔记和新知,只愿日拱一卒,进一寸有一寸的欢喜。
以下为原答案,欢迎批评指正。
首先需要明确线性代数的核心不是行列式和线性方程组。
维基百科对线性代数的定义是:线性代数是关于向量空间和线性映射的一个数学分支,包括对线、面和子空间的研究,同时也涉及到所有向量空间的一般性质。
由此可见,线性代数的核心应该是向量空间和线性映射,而不是大学线代课上着重讲的行列式和线性方程组。
今天分享一下矩阵的两种理解方法,静态上可以理解成多个点的坐标,动态上可以理解成是一个转移矩阵,从而可以延伸出矩阵的两个作用:1. 封装数据,2.线性变换。
整篇文章试图说明以下几个论断,可能有些地方为了理解得更直观而表述得不严谨,如有错误欢迎批评指正。预计阅读时间10分钟,希望大家读完都会有所收获。
1. 线性代数的核心是向量空间和线性映射
2. 矩阵可以用来封装数据,也可以用来进行线性变换
3. 秩是线性变换后向量空间的维度
4. 行列式是线性变换后基向量张成的面积
5. 特征向量是线性变换后仍在同一条直线上的向量,特征值是这些特征向量伸缩的程度
1. 向量的三种表示
向量有三种表示方法,箭头、坐标、头上顶了个箭头的字母。比如定义向量:
2. 向量空间中最重要的是基向量
因为向量可以表示成坐标,所以向量空间简单点可以直接想成是坐标系。
整个向量空间中最重要的向量是基向量。
基向量是可以张成整个向量空间的线性无关的向量,比如二维向量空间中,和就是一组基向量,之前定义的向量就可以由他们两个线性表示出来:
基向量的个数就是向量空间的维度,基向量确定了,向量空间也就确定了。
教科书会把重点放在静态角度,用矩阵封装数据,可以简化问题的理解和计算。
1. 剑桥减肥食谱的直观表示
比如剑桥减肥食谱的问题(图片来自复旦大学《经济生活中的数学》课程PPT):
如果用矩阵和向量封装数据,就可以将问题非常简单非常直观地表述出来,然后直接求就可以了。
2. 图像可以表示成矩阵
再比如,图像是由像素构成的,每个像素都有位置和颜色两个参数。放大一张图片看到的一个个小方块就是像素。
因此,一张像素为的图片就可以存储为一个列,行的矩阵,矩阵中每个元素就是每个像素点的颜色代码。
更重要的是将矩阵理解成转移矩阵,也就是说,每个矩阵都对应一个线性变换,可以将一个向量变换为另一个向量。
1. 矩阵的列对应线性变换后的基向量坐标
对向量空间做线性变换等同于对基向量做变换,矩阵的每一列就对应的是线性变换后的基向量坐标。
比如这个例子,
矩阵就将和变换为和,第一列就是的坐标,第二列就是的坐标。
2. 图像处理可以表示成矩阵
再举个例子,简单的图像处理就是将图片进行伸缩或者进行旋转,这实际上就是把每个像素点的位置坐标乘以一个矩阵,得到新的像素点的坐标。
3. 伸缩、旋转和投影
伸缩和旋转是进行同维度的线性变换,也就是说本来是二维的图片,经过变换以后还是二维的。
还有一种常见的线性变换是投影,比如阳光的照射。人是立体的,影子是平面上的,阳光照射就是一个三维到二维的线性变换。
重点来了。将矩阵理解成线性变换,就可以理解一些从静态角度不那么好理解的概念。
1.矩阵的秩就是线性变换后向量空间的维度。
伸缩和旋转矩阵是二维到二维的变换,所以秩就是2,因此是列满秩的。而投影矩阵对空间进行了压缩,所以一定是不满秩的。
比如: 一个两列的矩阵,秩为1,就说明是将原来的二维空间压缩到了一条直线上。
一个三列的矩阵,秩为2,就说明是将原来的三维空间压缩到了一个平面上。
因为矩阵的每一列就是线性变换后的基向量,所以秩也可以定义为“矩阵的列向量张成的空间的维度”。
2.矩阵的行列式就是线性变换后基向量张成的面积。
伸缩和旋转矩阵无非是把本来的正方形变成平行四边形,或者转一转,所以行列式一定不是零。而投影矩阵将空间进行了压缩,变换后的基向量一定存在共线或者共面,所以张成的面积一定是零。
3. 秩、行列式与矩阵可逆的关系
由此可见,秩和行列式都是矩阵的内在性质,都代表了对应的线性变换的特性:
秩代表了线性变换后空间的维度,从而可以判断线性变换是否进行了降维;行列式代表了线性变换后基向量张成的面积,从而刻画了线性变换对空间的伸缩程度。
理解了矩阵的秩和行列式,矩阵可逆不可逆就很好理解了。
二维变换到二维,是可逆的。二维变换到一维,是不可逆的,因为将一个面压缩成一条线可以,反过来将线扩张成原来的面却是不可能的。
换成秩和行列式的语言,高维到低维的变换就相当于压缩了向量空间,所以不满秩,压缩后基向量张成的面积一定是零,所以行列式为零。
于是可以得到以下推论:
矩阵不满秩<=>行列式为零<=>矩阵是降维变换<=>矩阵不可逆
1. 特征向量是变换后仍在同一条直线上的向量
特征向量是指线性变换后仍在同一条直线上的向量,特征值则是这些特征向量伸缩的程度。
比如投影到二维的投影矩阵,它的特征向量就是平面上的向量和垂直于平面的向量,对应的特征值分别是和.而其他向量,比如投影以后变成了,方向改变了,所以不是特征向量。
再比如图像的翻转,维基百科上的例子是这样的,很直观,就不赘述了。
2. 特征值为1的特征向量可以反映稳态特征
特征向量有啥用呢?举个简单的例子。
可乐公司目前只生产可口可乐,不生产百事可乐,但是公司想雨露均沾,两种可乐都生产一点,于是计划每年都将可口可乐的20%换成百事可乐。
同时为了保持稳定,每年也都将百事可乐的10%换成可口可乐,不然迟早有一天就只生产百事可乐了。
这个例子可以用矩阵和向量的语言很直观地表示出来,初始时刻的状态用向量表示,变化情况则可以用一个转移矩阵表示:
于是,将右边的转移矩阵乘以左边的初始向量就可以算出计划实施后第一年的状态,以此类推可以算出之后每一年的状态。
用Python简单计算一下:
import numpy as np A = np.array([[0.8,0.1],[0.2,0.9]]) x = np.array([1,0]) for i in range(1, 10): print('第{2}年:[{0:.2f},{1:.2f}]'.format(*np.dot(np.linalg.matrix_power(A,i),x),i))
输出结果为:
第1年:[0.80,0.20] 第2年:[0.66,0.34] 第3年:[0.56,0.44] 第4年:[0.49,0.51] 第5年:[0.45,0.55] 第6年:[0.41,0.59] 第7年:[0.39,0.61] 第8年:[0.37,0.63] 第9年:[0.36,0.64]
可以看到,结果似乎趋于稳定了。
实际上最终的结果逼近于向量,这个向量叫稳态向量,意味着最终可口可乐和百事可乐的占比分别稳定在三分之一和三分之二。
于是我们可以发现一个有趣的事实:
也就是说,转移矩阵乘以稳态向量,还等于稳态向量。
这不就是特征值和特征向量的定义式吗,稳态向量就是特征向量,1就是特征值。
所以在这个例子中,特征向量的作用就显而易见了:转移矩阵一旦确定,不管初始状态如何,最终都会趋于这个稳态的特征向量。换句话说,特征值和特征向量可以反映矩阵的稳态特征。
3. 特征值之积等于行列式
关于复杂一点的特征值和特征向量,以后有空了再慢慢更新,对于理解线性代数来说,能理解到这两个玩意儿可以描述矩阵的一些性质就够了。
最后再给个小福利,教科书中提到特征值的计算时,会推导出一个结论:特征值之积就等于行列式。
真是让人摸不着头脑,行列式的计算那么复杂,特征值的计算又是另外一套体系,为啥会有这样优美的结论??!!
用本文中的两句话,或许可以直观感受一下行列式和特征值的内在联系:
第一句:行列式可以刻画线性变换对向量空间的伸缩程度。
第二句:特征值是特征向量伸缩的程度。
欢迎关注我的公众号:可乐学人。公众号中排版会更耐读。
韩国的一所监狱里,三名囚犯在讨论自己被捕的原因。
金明焕:“我因为发动工会被文在寅关了进来。”
李相熙:“我因为破坏工会被文在寅关了进来。”
最后一名囚犯:“我就是文在寅。”
韩国的一所监狱里,三名囚犯在讨论自己被捕的原因。
金明焕:“我因为发动工会被文在寅关了进来。”
李相熙:“我因为破坏工会被文在寅关了进来。”
最后一名囚犯:“我就是文在寅。”
女王:求求题主放过我,我可不敢有什么政绩。。。
既然荆哲提到序数,那当然得提到基数
事实上不用我来,知乎上已经有关於不可达基数的套娃问题了:
该问题中套娃层次最深的回答由hhh给出:
因为第不可达基数个不可达基数不是不可达基数的极限。不可达基数的正则极限至少是k是第k不可达基数,但也不能让不可达基数形成无界闭集,让不可达基数形成无界闭集至少是马洛基数。不过第不可达基数个不可达基数的确是无界的,的确可以使里面的奇异基数形成无界闭集。
设I0是第一个取幂不可到达正则的基数,In是大于In-1中最小的取幂不可到达正则的基数,Iα(α是极限序数)是前α个In的极限。那么你的第不可达基数个不可达基数是I(I+1)。不可达基数的极限都不是。
大家可以数一数总共套娃了多少层(下界大於第不可达基数个不可达基数)