什么是向量?
常见的三种观点
- 物理专业学生的视角,向量是空间中的箭头,决定一个向量的是它的长度和方向
- 计算机专业学生的视角,向量是有序的数字列表
- 数学专业学生的视角,向量可以是任何东西,只要保证向量的加法和向量的数乘有意义即可
有序的数字列表,从几何角度理解,看下面的图:
正数表示向右,向上移动;负数表示向左,向上移动;
向量加法
我们看下面两个向量 v 和 w 相加
我们平移向量 w , 使得向量 w 的起点是从向量 v 的末端开始的;
同时画一个向量,使得该向量的起点是第一个向量 v 的起点,该向量的终点是第二个向量 w 的终点;这就是它们的和;
那为什么这么定义是合理的呢?
可以把每个向量看成是一种特定的运动,即在空间中沿某个方向迈出特定的距离;我们沿着第一个向量运动到了点(1, 2),接下来沿着第二个向量运动到了点(4, 1);这和我们直接运动到点(4, 1)的效果是一样的;
进一步,从有序的数字列表来理解(向量加法就是把对应项相加)
我们可以有两个视角来看待这个运动:
1,沿x轴向右走一步,沿y轴向上走两步,再沿x轴向右走三步,再沿y轴向下走一步,最终到达目的地
2,先沿x轴向右走一步,再沿x轴向右走三步,再沿y轴向上走两步,再沿y轴向下走一步,到达目的地,即先走完所有的水平距离,再走垂直距离
向量数乘
与向量相乘的那个数,我们通常称之为标量(scalar),当我们把向量看作是有序的数字列表时,不管是与大于1的数相乘(拉长),或与大于0小于1的数相乘(压缩),或与小于0的数相乘(反方向),我们只需将向量中的每个分量与标量相乘即可;
线性组合,张成的空间与基
基向量
什么是基向量?简单来说,在二维空间里,就是x方向和y方向的单位向量;
空间中的一组基的严格定义是这样的:张成该空间的一个线性无关向量的集合;
我们将之前有序的数字列表里的每一个分量,看成是一个标量;
则该点的 x 坐标值 3 可视为是 x 方向上的单位向量拉长了3倍;
而该点的 y 坐标值 -2 可视为是 y 方向上的单位向量反向拉长了2倍;
从这个角度看,这个向量实际上就是两个经过缩放的向量的和;
缩放向量并相加这一概念至关重要;
每当我们用数字描述向量时,它都依赖于我们正在使用的基向量
线性组合
两个数乘向量的和被称为这两个向量的线性组合,看下面的图更直观一些:
“线性”这个词从何而来?又和“直线”有什么关系呢?
如果固定其中一个标量(比如w),让另一个标量自由变化(这里是v),所产生的向量的终点会描绘出一条直线;
张成的空间
如果你让两个标量同时自由变化,考虑所有可能得到的向量,大部分情况下,对于一切初始向量,你能到达平面中的每一个点;
也有比较糟糕的情况,如果向量 v 和 向量 w 是共线的,那么它们的线性组合就被困在一条直线上了;
事实上,还有第三种情况,就是向量 v 和 向量 w 都是零向量,那就只能呆在原点不动了;
所有可以表示为给定向量线性组合的向量的集合被称为给定向量张成的空间(span)
可简单理解为给定向量任何组合的所有可能性构成的集合
上面我们都是限定在二维空间里的,下面我们考虑一下三维空间的情况:
1,两个三维向量张成的空间是什么样的?(是一个过原点的平面)
2,三个三维向量张成的空间是什么样的?
如果第三个向量恰好落在前两个向量所张成的平面上,那张成的空间并不会改变,还是被困在这个平面里;
如果没有落在前两个向量所张成的平面上,那张成的空间是所有的三维向量;
线性相关/无关
你有多个向量,并且可以移除其中一个而不减小张成的空间,当这种情况发生时,我们称它们是“线性相关”的;(比如前面二维空间里共线的情况,三维空间里第三个向量落在前两个向量所张成的平面上)
另一种表述方法是其中一个向量可以表示为其它向量的线性组合,因为这个向量已经落在其它向量张成的空间之中;
另一个方面,如果所有向量都给张成的空间增添了新的维度,它们就被称为是“线性无关”的
看一下三维空间的线性无关的情况
向量 VS 点
当你考虑一个向量时,就把它视为是一个箭头;
当你考虑多个向量时,就把他们都看作点;即只考虑向量的终点,因为我们默认起点是在原点处的;
这很重要
矩阵与线性变换
很遗憾,矩阵是什么是说不清的。你必须得自己亲眼看看。
有没有想过,为什么矩阵乘向量是这样的计算方式?背后有没有直观的几何意义呢?
首先,我们先来解析“线性变换”这个术语
变换
变换实际上是函数一种花哨的说法,它接收输入内容,并输出对应结果,特别的在线性代数的情况下,我们考虑的是接收一个向量并且输出一个向量的变换。
那为什么使用“变换”这个词,而不是“函数”这个词呢?
“变换”这个词暗示你用运动取思考
你可以想象一个输入变量移动对应输出变量的位置
线性
接下来理解一下“线性”这个词语,实际上变换是有许多种的,如果一个变换满足下面两个性质,我们则称它为线性的。
一,直线在变换后仍然保持为直线,不能有所弯曲
二,原点必须保持固定
看下面这个图,灰色的为原始的网格线;变换后的网格线由白线和蓝线组成;就是线性变换;
我们可以看到竖直方向上的网格线以原点为中心顺时针方向旋转了一定角度;
总的来说,你应该把线性变换看作是“保持网格线平行且等距分布”的变换;
保持网格线平行且等距分布的性质有一个重要的推论:变换后向量依然满足变换前向量的线性组合 (看下面绘制的网格)
数值描述
如何用数值描述线性变换呢?使得你给它一个向量的坐标,它能给你变换后向量的坐标呢?
实际结果是,你只需要记录两个基向量i帽和j帽变换后的位置,其它向量都会随之而动;
举个例子,变换前:
变换后:
更炫酷的是,我们只要记录了变化了的i帽和j帽,我们可以推断出任意向量在变换后的位置
例如:
即一个二维的线性变换仅用四个值就可以确定,变换后i帽的两个坐标和变换后j帽的两个坐标
2*2矩阵
假设我们将这两个基向量塞到一个2*2的矩阵中,则如下所示:
我们将这个2*2矩阵与特定向量相乘,只需取出向量的各个坐标,与矩阵的特定列相乘,然后相加即可;
这与缩放基向量再相加的思想是一致的;
更加一般的情况:
记住:矩阵在这里只是一个记号,它含有描述一个线性变换的信息;
线性变换是操纵空间的一种手段(通过矩阵)
每当你看到一个矩阵,你都可以把它解读为对空间的一种特定变换
反向思考
如果给出一个2*2的矩阵,那么它表示什么样的线性变换呢?
我们可以这样来思考,先将i帽移动到(1, 2),再将j帽移动到(3,1),如下图所示:
然后再移动j帽,空间其它部分随二者一起移动,保持网格线平行且等距分布:
注意:如果变换后的两个基向量是共线的,(也就是线性相关),那么会将变换后的二维空间挤压到一条直线内;
练习
旋转操作,这里是指将整个平面逆时针旋转90度,旋转之后的结果如下所示;
剪切操作,这里是指i帽保持不动,j帽终点移动到位置[1, 1](即竖直方向沿原点顺时针旋转45度),结果如下;
矩阵乘法与线性变换复合
复合变换
很多时候你发现,你想描述这样一种作用:一个变换之后再进行另一个变换
比如下面这个图;
这个新的线性变换通常被称为前两个独立变换(即先旋转,后剪切)的“复合变换”
我们仍然可以通过追踪i帽和j帽来表示这个复合线性变换;
于是我们自然而然想到了是不是这个复合变换的效果就等于先旋转后剪切的效果呢?
我们可以认为这个新矩阵的就是最初两个矩阵的积,即:
左乘
这个乘积需要从右向左读,首先应用右侧矩阵所描述的变换,然后再应用左侧矩阵所描述的变换,它起源于函数的记号,因为我们将函数写在变量左侧,所以每次将两个函数复合时,你总是要从右往左读;
直观几何解释
M1和M2先后作用,总体效果是一个新的变换,我们来求解它的矩阵;
首先:我们的i帽跑哪里去了?
按照定义,i帽的新坐标由M1的第一列给出,也就是(1,1)
然后:到这里,我们要看看M2作用之后会发生什么,将矩阵M2乘以向量(1,1)
得到如下的结果:
这就是复合矩阵的第一列,我们看到和上一个图右下角的i帽坐标是一致的;
类似的,计算j帽之后,我们得到复合矩阵的结果如下所示:
我们来看一下更加普适的情况:
扩展
我们思考一个问题:
矩阵的乘法满足交换律吗?很明显是不满足的;
我们先剪切后旋转的线性变换,结果如下所示:
而我们先旋转后剪切的线性变换,结果如下:
很明显两者相差还是很大的;
三维空间中的线性变换
我们之前只讨论了将二维向量转化为其它二维向量的特殊变换;限定在了二维平面上,推广到高纬度也是使用的;
记住:矩阵的本质是针对空间的一种线性变换;
简单线性变换
初始情况下,我们可以看到下图中的i帽,j帽,k帽;
沿y轴旋转90度的线性变换如下所示:
矩阵乘向量
矩阵相乘
行列式
计算的目的不在于数字本身,而在于洞察其背后的意义
引入
现在想象一个线性变换,它们有的将空间向外拉伸,有的则将空间向内挤压,我们想要测量变换对空间有多少拉伸或挤压,更具体一点,就是测量一个给定区域面积增大或缩小的比例;
比如上图这个线性变换,i帽扩大了3倍,j帽扩大了两倍,变换后的新面积比上之前的老面积为 6:1 = 6
针对剪切的这个线性变换,即使空间被向右压缩了,但新老面积并未发生变化;
事实上,你只要知道这个单位正方形面积变化的比例,它就能告诉你其它任意区域的面积变化比例,这是由网格线平行分布且等距的性质决定的;
几何意义
这个特殊的缩放比例,即线性变换改变面积的比例,被称为这个变化的行列式
比如说,一个线性变换的行列式是6,就是说它将一个区域的面积增加为原来的6倍;
比如说,一个线性变换的行列式是0.5,就是说它将一个区域的面积缩小为原来的0.5倍;
而一个二维线性变换的行列式为0,说明它将整个平面压缩到一条线上,甚至是一个点上,因为此时任何区域的面积都变成了0;
这里我们可以看到,列向量之间如果是线性相关的,空间的线性变换降低维度了;
负值
完整概念下的行列式是允许出现负值的,那将一个区域缩放负数倍到底是什么意思?
这和定向的概念有关,负值感觉上就像是空间被翻转了,如果将二维空间想象成一张纸,这个变换像是将纸翻转到了另一面,我们称这样类似的变换改变了空间的定向;
另一种方式是根据i帽和j帽来考虑,初始状态下,j帽在i帽的左边,如下图所示:
如果在变换之后,j帽位于i帽的右边,则空间定向就发生了改变,如下图所示;
下面这个行列式就表示空间发生了翻转,并且面积变大为原来的3倍;
以上就是在二维空间中对行列式的理解;
扩展到三维
它告诉你的依然是变换前后的缩放比例,不过它说的是体积的缩放;在三维空间中,你聚焦于一个特定的1 1 1的立方体,由i帽,j帽,k帽组成;
三维空间也存在定向问题,有一种用来描述定向的方法就是右手原则,右手食指指向i帽的方向,中指指向j帽的方向,当你把大拇指竖起来时,它就正好指向k帽的方向;如果在变换后,你仍可以这么做,那么定向没有发生改变,行列式为正,否则,如果在变换后只能用左手这么做,说明定向发生了改变,行列式为负;
简单计算
这里其实是可以有直观的几个表示的;
假设b,c刚好为0,那么放大后的面积就为ad,初始面积值为1,即行列式结果就为ad
如果b,c中只有一个为0,则如下图所示:
大致的证明逻辑如下图所示,拉伸后的面积是个平行四边形,由平行四边形的性质可得:
逆矩阵,列空间与零空间
线性方程组
满足下面这些条件:在每一个方程中,所有的未知量只具有常系数;这些未知量之间进行加和操作;也就是或没有幂次,没有奇怪的函数,没有未知量间的乘积等等;
要整理这一特定的方程组,通常的办法是:将未知量放在等号左边,剩余的常数项放在右边;并且将同一个未知量竖直对齐也是极好的,要做到这一点,你可能需要在某个未知量不出现时添加0这个系数;如下图所示:
你可能注意到这和矩阵乘法非常类似,可以写成如下形式:
它阐明了这个问题中优美的几何直观问题:矩阵A代表着一种线性变换,所以求解Ax=v,意味着我们去寻找一个向量x,使得它在变换后与v重合;
先来看一个简单的例子:
这个方程的解依赖于矩阵A所表示的线性变换;如果矩阵A将空间压缩到更低的维度,即一条直线上(此时A的行列式为0),或者像初始状态一样的完整二维空间(此时A的行列式不为0);
逆矩阵
先来看最常见的情况:即A的行列式不为0时,求解上面的方程组;在这种情况下,有且仅有一个向量在变换后与v重合,并且你可以通过逆向进行变换来找到这个向量,如同倒带一样,通过跟踪v的动向,你就能找到满足Ax=v的向量x;当你逆向进行变换时,它实际上对应了另一个线性变换,通常被称为“A的逆”,记为A^(-1),比如说,如果A是逆时针旋转90度的变换,那么A的逆就是顺时针旋转90度的变换;
总的来说,A的逆是满足以下性质的唯一变换,首先应用A代表的变换,再应用A逆代表的变换,你会回到原始状态;两个变换相继作用在代数上体现为矩阵乘法,所以A逆的核心性质在于A逆乘以A等于一个“什么都不做”的矩阵,这个“什么都不做”的变换被称为“恒等变换”;
一旦你找到了A的逆,实际操作中可通过计算机来完成,你就可以在等式两边同时乘以A的逆来求解向量方程;
等式左边是个什么都不做的线性变换,可以直接消掉:
这个过程在几何上,就对应于逆向进行变换并跟踪v的动向;只要矩阵A的行列式不为0,那就是存在唯一解;
这种求解向量x的思路推广到高维也是一样适用的;
接下来看看不那么常见的情况:即A的行列式为0时,与这个方程组有关的变换将空间压缩到更低的维度上,此时没有逆变换;实际上降维之后丢失了一个维度的信息;即使不存在逆变换,解仍然可能存在;
比如说一个变换将空间压缩成一条直线,你得足够幸运,让向量v恰好落在这条直线上,如下图所示:
这个情况下解存在,且有无数多个;可以自己想象一下将二维空间压缩到x轴上,构建线性变换,同时让向量v落在x轴上,这种情况确实是有无穷多个解;
秩
除了零行列式之外,我们还有特定术语来描述它们,当变换的结果为一条直线时,也就是说结果是一维的,我们称这个变换的秩(Rank)为1;如果变换后的向量落在某个二维平面上,我们称这个变换的秩为2;所以说“秩”代表着变换后空间的维数;
比如说对于2 _2的矩阵,它的秩最大为2,意味着基向量依旧能张成整个的二维空间,并且矩阵的行列式不为0;对于3 _3的矩阵,秩为2意味着空间被压缩成了一个平面,但是和秩为1的情况相比,压缩不是那么严重,如果一个三维变换的行列式不为0,变换结果仍旧充满整个三维空间,那意味着它的秩为3;
列空间
不管是一条直线,一个平面还是三维空间等,所有可能的变换结果的集合,被称为矩阵的列空间;
矩阵的列告诉你基向量变换后的位置,这些变换后的基向量张成的空间就是所有可能的变换结果;
换句话说,列空间就是矩阵的列所张成的空间,所以更精确的秩的定义是列空间的维数;当秩达到最大值时,意味着秩与列数相等,我们称之为满秩(Full Rank);
零空间
零向量一定被包含在列空间中,因为线性变换必须保持原点位置不变;对于一个满秩变换来说,唯一能在变换后落在原点的就是零向量本身;但对于一个非满秩的矩阵来说,它将空间压缩到一个更低的维度上,也就是说会有一系列变量在变换后成为零向量;(举个例子,如果一个二维线性变换将空间压缩到x轴,那么y轴上的所有向量就被压缩到原点)
变换后落在原点的向量的集合被称为矩阵的“零空间”或“核”;变换后一些向量落在零向量上,而“零空间”正是这些向量所构成的空间;
对于线性方程组而言,当向量v恰好为零向量时,零空间给出的就是这个向量方程所有可能的解;
非方阵
目前所讨论的线性变换,要么是2 2矩阵来表示的二维向量到二维向量的变换,要么是3 3矩阵来表示的三维向量到三维向量的变换,那么非方阵呢?讨论不同维数之间的变换是完全合理的;
比如一个二维向量到一个三维向量的变换,同之前一样,如果网格线保持平行且等距分布,并且原点映射为自身,就称它是线性的;
值得强调的是:输入的二维向量与输出的三维向量是完全不同的“物种”,它们生活在没有任何关联的空间中;但依旧可以通过矩阵来表示;
找到每一个基向量变换后的位置,然后把变换后基向量的坐标作为矩阵的列;
上面这个3 * 2的矩阵,就对应着一个三维空间内的变换;这个矩阵的列张成的空间是三维空间中一个过原点的二维平面,但是这个矩阵仍然是满秩的,因为列空间的维数与输入空间的维数相等;
所以,当你看到一个3*2的矩阵时,你就明白它的几何意义是将二维空间映射到三维空间上;因为矩阵有两列表明输入空间有两个基向量,有三行表明每一个基向量在变换后都用三个独立的坐标来描述;简单来说这个线性变换决定了它的输入是二维向量(对应着矩阵的列数),输出是三维变量(对应着矩阵的行数)
类似的2 * 3矩阵,表示从三维空间到二维空间的线性变换;
你还可以有二维空间到一维空间的变换,这样的变换由一个1 * 2矩阵表示;
一维空间实际上就是数轴,一条直线,这样的变换接受一个二维向量,然后产生一个数;因为空间的挤压,在这里考虑网格线平行且等距分显得有些混乱,所以在这种情形下,形象理解线性性质的含义就是说:如果在一条直线上有一系列等距分布的点,在映射到数轴之后,它们将保持等距分布;(简记:等距分布的点保持等距分布)
点积与对偶性
想要深入理解点积,必须得从线性变换的角度才行;
计算方式
如果你有两个维数相同的向量,求它们的点积,就是将它们的对应坐标相乘,然后累加即可;
几何解释
要求两个向量v和w的点积,想象向量w朝着过原点和向量v终点的直线上投影,将投影的长度与向量v的长度相乘,你就得到了它们的点积 - v点乘w
如果w的投影方向与v的方向相反,这种情况下点积为负值;
所以,当两个向量指向大致相同时,它们的点积为正;当它们互相垂直时,意味着一个向量在另一个向量上的投影为零向量,即点积结果为0;当它们的指向基本相反时,它们的点积为负;
点积与顺序无关,这一点从对称性的角度在几何上是有直观解释的;
投影矩阵
为什么点积就是投影的长度相乘呢?其实可以从线性变换的角度来理解;
回忆一下二维空间到一维空间(数轴)的线性变换;
考虑下面一个更加具体的例子
1 2矩阵与向量相乘的这一数值运算过程感觉上就和两个向量的点积一样,那个1 2的矩阵不正像是一个倾倒的向量吗?实际上,1 2矩阵与二维向量有着微妙的关系,将向量放倒,就得到与之相关的矩阵,或者将矩阵立直,就得到与之相关的向量;
那在几何上,这个转换又表示着什么呢?
上图中,u帽表示变换到一维空间中的单位向量,而这个二维到一维的线性变换就是u帽的两个坐标(由对称性可得),任何一个二维空间中的向量在经过这样一个线性变换后,就投影到了这个数轴上,计算上可通过变换矩阵(也叫投影矩阵)与之相乘;
这就是为什么与单位向量的点积可以解读为将向量投影到单位向量所在直线的投影长度(单位向量对应的变换矩阵与之相乘对应的几何意义就是投影到单位向量所在的直线上)
那么与非单位向量的点积呢?投影而后缩放即可,首先朝给定向量上投影,然后将投影的值与给定向量长度相乘即可;
有什么启示呢?点积在几何上它就对应着高维到一维的线性变换;
不管怎样,我们研究的一直是向量,不是吗?
对偶性
对偶性贯穿数学始终,对于这一小节的内容而言,你可以说一个向量的对偶是由它定义的线性变换;一个多维空间到一维空间的线性变换的对偶是多维空间中的某个特定向量;应用线性变换和与这个特定向量点乘等价;
将上图中这个表示二维空间到一维空间线性变换的矩阵与某个向量v相乘,在计算上与将矩阵转置得到的向量和v点乘相同,这里的收获在于:每当你看到一个从空间到数轴的线性变换,你都能够找到一个向量,被称为这个变化的对偶向量,使得应用线性变换和与对偶向量点乘等价;
叉积的标准介绍
非严格意义上的
假如你有两个向量v和w,考虑它们所张成的平行四边形;
差不多是这样,我们还要考虑定向问题,大致来讲,如果v在w的右侧,那么v叉乘w为正,并且值等于平行四边形的面积;如果是在左边,那么v叉乘w为负,即平行四边形面积的相反数;这就是说顺序对叉积的计算有影响;
实际上,基向量的顺序就是定向的基础;按照顺序,i帽在j帽的右侧时,结果为正;
求面积,我们想到了什么?行列式对不对?
我们来看一下计算结果:
正式出场
严格意义上讲,上面描述的并不是叉积,真正的叉积是通过两个三维向量生成一个新的三维向量,和之前一样,我们还是考虑围成的平行四边形的面积;
假设围成平行四边形的面积为2.5,那么叉积计算的结果为方向垂直于平行四边形,长度为2.5的向量:
但是是哪个方向呢?垂直于平行四边形平面的向量有两个方向,这就需要用到右手定则:右手食指指向v的方向,伸出中指指向w的方向,当你把大拇指竖起来时,它所指的方向就是叉积的方向;
为了符号上的方便,我们将基向量作为矩阵的元:
这样最终得出的向量就满足:长度等于平行四边形的面积,方向垂直于v和w且满足右手定则;
基变换
不同坐标系
我们通常意义上的坐标系都存在下面三个隐含的假设:
发生在一组数与向量之间的任意一种转化,都被称为一个坐标系,而其中两个特殊的向量-i帽和j帽,被称为我们这个标准坐标系的基向量;
假设我们使用不同的基向量,情况会怎样?
假设你有个朋友,詹妮弗,她使用着一组不同的基向量,我们称之为b1和b2,针对我们之前的向量(3,2),在詹妮弗的坐标系中有着完全不同的表示,如下图左侧部分所示,这意味着:根据她的两个基向量,获得那个向量的方法是b1乘以5/3,b2乘以1/3,然后将结果相加:(此时心中就要有一个问号了?这两个数是如何计算出来的呢?)
于是,一个很自然的问题就产生了:我们如何在不同坐标系之间进行转化?
如上图所示:这个向量在詹妮弗的坐标系中用(-1,2)表示,即b1乘以-1,加上b2乘以2,那在我们的坐标系又怎么表示呢?我们的标准坐标系基向量可不是b1和b2啊。
事实上,我们可以从上图中看出来,这个向量在标准坐标系中用(-4,1)表示,可这是怎么计算的呢?b1在标准坐标系中用(2,1)表示,b2在标准坐标系中用(-1,1)表示,我们可以这样认为:标准坐标系中的向量(-1,2)在经过线性变换(即矩阵乘法,矩阵中的列对应着基向量在标准坐标系中的表示)后转变成了上图的形式;这样计算出的向量就是用标准坐标系表示的:
总的来说:大概是这个样子的:
在这里,詹妮弗的语言实际上指的是在詹妮弗的坐标系中向量的表示方法,更具体一点是:通过詹妮弗坐标系中基向量的线性组合来表示;而我们的语言就是标准坐标系中向量的表示方式;
具体的计算如下:
线性变换
我们在通过一个矩阵来描述线性变换时,实际上是在追踪i帽和j帽的位置,比如下面这个90旋转:
那如果是在詹妮弗的坐标系内,又如何通过矩阵来表示90度旋转的线性变换呢?
1,左乘基变换矩阵,转化为我们的语言即使用标准坐标系中的基向量表示该向量;
2,再左乘标准坐标系中的线性变换矩阵,此时该向量就进行了90度旋转,不过目前该向量还是用我们的语言即标准坐标系中的基向量表示的;
3,再左乘基变换矩阵的逆,得到表示詹妮弗坐标系中90度旋转的线性变换矩阵;
比如下面的表达式,它暗示着一种数学上的转移作用,中间的矩阵表示一种你所见的变换,而外侧两个矩阵代表着转移作用,也就是视角上的转化,矩阵乘积仍然代表着同一个变换,只不过是从其他人的角度来看的:
特征向量与特征值
这一部分内容需要对前面线性变换,行列式,线性方程组,基变换有比较直观的认识;
引入
我们先来考虑一个线性变换对某一个具体向量(下图中黄色箭头表示),以及它张成的空间(即过原点和向量终点的一条直线)的影响:
我们可以清晰的看到,在经过线性变换后的空间里,该向量离开了它所张成的空间;
有没有可能存在某些向量在经过线性变换后依旧留在它所张成的空间呢?
确实是存在这样的向量的,比如上图中的这个黄色向量,可对照下图理解:
这意味着矩阵对它的作用仅仅是拉伸或者压缩而已,如同一个标量
而针对上图中的这个线性变换,i帽就满足这样的性质;
下图中所示的就是针对该线性变换,所有拥有这一特殊性质(留在它们张成的空间里)的向量:
这些特殊向量就被称为变换的“特征向量”,每个特征向量都有一个所属的值,被称为“特征值”,即衡量特征向量在变换中拉伸或压缩比例的因子;注意:特征值也可以是负的,表示反向
直观意义
如果你能找到一个3D旋转的特征向量,也就是留在它张成空间里的向量,那就意味着你找到了旋转轴,而且此时的特征值为1,因为旋转轴上的向量没有拉伸也没有压缩;
公式
特征向量用符号表示如下图所示:等式左侧表示矩阵向量乘积,右侧等于特征向量v乘以某个数λ:
咋一看好像不知道怎样进行求解,我们可以将等式右边向量数乘也转化为矩阵乘法的形式,即向量左乘一个“什么也不做”的矩阵:
最终转化为如下的形式:
如果v向量本身就是零向量的话,这个等式恒成立,没什么意义;我们想要一个非零解,那么一个非零向量要经过怎样的线性变换才会转化为零向量呢?当且仅当矩阵代表的线性变换将空间压到更低维度时,即满足下面的条件:
整个的推理过程如下所示:
计算
针对我们本小节开头的例子,计算λ如下:
为了求出某个特征值的特征向量,比如λ等于2时,将λ值代入向量方程即可:
你会发现所有的解都落在由向量(-1,1)张成的对角线上;
注意:不是所有的线性变换都存在特征向量的,比如空间的90度旋转就不存在,每一个向量都发生了旋转;
注意:属于单个特征值的特征向量也可以不止在一条直线上,比如下面这个:
唯一的特征值是2,但是平面内每一个向量都是属于这个特征值的特征向量;
特征基
如果我们的基向量都是特征向量,我们会发现这样的线性变换所对应的矩阵是个对角矩阵;
除了对角元以外其他元素均为0的矩阵被称为对角矩阵;解读它的方法是:所有基向量都是特征向量,矩阵的对角元是它们的特征值;
对角矩阵在计算上很有优势,其中一个重要的方面是:矩阵与自己多次相乘的结果更容易计算;
假设你的变换有许多特征向量,多到你能选出一个张成全空间的集合,那么你就能变换你的坐标系,使得这个特征向量就是基向量,还是看我们之前的例子
我们使用特征向量来构建我们的基变换矩阵,如下所示:
这样子计算出来的矩阵代表的变换仍然是同一个变换,不过是从新基向量所构成的坐标系的角度来看的,我们做这个操作的意义就在于这个新矩阵必定是对角的,并且对角元为对应的特征值,这是因为,它所处的坐标系的基向量在变换中只进行了缩放;
一组基向量(同样是特征向量)构成的集合被称为一组“特征基”;
那我们思考如下一个问题?
也就是说经历了100次相同的线性变换,一种更容易的方法是先变换到特征基(即对角矩阵),此时仍然是同一个线性变换,只不过是换了一种语言来描述它,在那个坐标系中计算100次幂,然后再转换到标准坐标系(使用我们的语言来描述);
注意:不是所有的矩阵都能转换为对角矩阵,比如说剪切变换(i帽不变,j帽横坐标右移一个单位),它的特征向量不够多,并不能张成全空间;
抽象向量空间
我们来重新探讨一下最原始的问题:“向量是什么?”
重新认识函数
我们之前把向量形象理解为空间中的一个箭头,用实数对来表示它,那有没有其它形式的向量呢?从某种意义上说,函数实际上只是另一种向量;
满足向量加法,也同时满足向量乘法,只不过针对函数而言,有无穷多个点;
因为对向量所能进行的操作不过相加和数乘两种,所以最终以空间中的箭头为背景考虑的线性代数的合理概念和解决问题的手段应该能够原封不动地被我们取出来,然后应用于函数;(比如线性变换,零空间,点积,所有特征的东西)
比如针对函数的线性变换,这个变换接收一个函数,并把它变成另一个函数:
在微积分中,针对函数求导,也是一个典型的线性变换的例子:
不过在函数中的应用,名字可能会有不同,但本质是一样的;
线性严格定义
线性的严格定义是相对抽象而符号繁重的,但抽象性带来的好处是我们能得到一般性的结论,它不仅适用于箭头,也适用函数;满足以下两条性质的变换就是线性的,通常被称为“可加性”和“成比例”:
即线性变换保持向量加法运算和数乘运算;
前面我们讨论过“网格线保持平行且等距分布”的概念,只是这两条性质在二维空间这一特殊情况下的体现;
这两条性质一个最重要的推论是:一个线性变换可以通过它对基向量的作用来完全描述,这使得矩阵向量乘法成为可能;
学微积分的通常下意识认为求导具有可加性和成比例性,即满足下面两条法则:
同时满足数乘的性质:
矩阵和求导
因为多项式已经是数乘x的不同次幂再做加和的形式,所以我们很自然地就取x的不同次幂作为基函数,如下所示:
换句话说,第一个基函数就是一个常函数,即b0(x)=1,第二个基函数即b1(x)=x,依次类推,基函数在这里起到的作用和i帽,j帽,k帽在向量(箭头)的世界中起到的作用类似;因为多项式的次数可以任意高,所以这个基函数集也是无穷大的;
用向量来描述多项式的例子如下所示,依次填入对应基函数的系数,然后跟上无穷多个0:
稍微转化一下:
抽象一下的话,就是这个样子:
真正的干货来了,如下图所示:左边除了次对角线上的数字,都为0,数乘的向量即我们的多项式,将数乘结果(等号右侧的)乘以对应的基函数即是我们求导的结果;是不是很诧异和震惊呢?
那个这个矩阵是怎么产生的呢?求依次求基函数的倒数,然后放到对应列即可;
下图是一个示例,但并不是说只有四项哦:
回归本质
向量究竟是什么呢?
数字中有很多类似向量的不同事物,只要你处理的对象集具有合理的数乘和相加概念,都可能称之为向量;
抽象点说:就是满足下面这8条定理的,都可以称之为向量:
克莱姆法则可视化
变换前
我们以一个简单的含有两个变量的线性方程组为例:
即我们要求解下图中未知向量的坐标,该向量在经过二维线性变换后,变成了向量(4,2),这里排除掉线性变换降维的情况:
这里注意一点:如果未知向量的y坐标是负的,那么该阴影面积就应该是负的;这就需要你把i向量放到第一列来定义平行四边形的面积;(参考上面行列式符号的定义)
变换后
所有面积伸缩的比例都等于给定的行列式:
下图中,我们用变换后阴影部分的面积(分子对应的行列式)除以变换前阴影部分的面积(即y)就等于线性变换所对应的行列式,调换一下位置可得:
这里有一点需要注意:即变换后的阴影面积该如何表示?我们看上图中的阴影面积,有一条固定的边是i帽,即i帽是已知的了,那未知变量就只能填充j帽的位置;
注意:虽然上图中未知向量是固定的,但我们脑海中要想象的到:未知向量的终点是并不知道的,至少在我们没求解出结果前,但有一点是不变的,就是要想围成平行四边形就得用到i帽和j帽;
上面这种求解线性方程组的方式就被称为克莱姆法则,当然这个法则推广到高维也是适用的;