01:向量究竟是什么?

物理专业学生视角看,向量是空间中的箭头,向量可在空间中自由落脚,决定向量的是它的长度和所指的方向
计算机专业学生的视角看,向量是有序的数字列表,例如研究房价,你会用二维向量对房屋进行建模,第一个数代表房屋面积,第二个数代表价格;之所以是二维的是因为这个列表的长度是2。

数学家尝试去概括上述两种观点,认为向量可以是任何东西,只要保证两个向量相加以及数字与向量相乘是有意义的即可。需要注意的是,向量加法向量数乘贯穿线性代数始终,二者起着很重要的作用。
而在线性代数中,当我们说一个向量,可以先把它想象成是落在x-y二维空间中的一个箭头,在线性代数中,向量经常以原点作为起点。

一个向量的坐标一对数构成,分别代表向量在x轴和y轴上移动的距离(向量的起点是原点,终点是坐标所指位置,那么向量就是从原点出发到终点的一个箭头)

为了把向量区别开,惯用的方法是把这对数着写,然后用方括号括起来。每一对数有且只有唯一对应的一个向量。
接着,想象在x-y空间中添加垂直于x轴和y轴的z轴形成三维空间,在这种情况下,每一个向量就与唯一的一个有序三元数组对应。第一个数告诉你沿平行x轴的方向走多远,第二个数告诉你沿平行y轴的方向走多远,第三个数告诉你沿平行z轴的方向走多远。

向量的加法:平移第二个向量,使它的起点与第一个向量的终点重合,然后画一个向量,它从第一个向量的起点出发,指向第二个向量的终点。
之所以可以这样来进行向量的加法是因为,我们可以把二维空间拆解为一维数轴,观察两个向量在沿x轴平行方向或者沿y轴平行方向到底走了多远,这就变成了简单的数字加减法。而在“向量是有序的数字列表”观点里,向量加法就是把对应项直接相加。

向量数乘:正反向拉伸或压缩原有向量的过程称为缩放,用于缩放向量的数字称为标量。向量与标量相乘就是将向量中的每个分量与标量相乘。

02:向量的线性组合、张成的空间和基

一个指向正右方,长度为1的向量通常被称为i帽或者x方向的单位向量。

一个指向正上方,长度为1的向量通常被称为j帽或者y方向的单位向量。

ij是xy坐标系的“基向量”,基向量不唯一,也可以选择其他的两个向量作为基向量。每当我们用数字来描述向量时,它都依赖于我们正在使用的基。
当你把坐标看做是标量时,基向量是这些标量缩放的对象,而坐标是缩放基向量的结果。
想象向量(3,-2)的x坐标是一个标量,图将i帽拉伸为原来的3倍,y坐标也是一个标量,它将j帽反向并拉伸为原来的2倍,而(3,-2)这个向量实际上是两个经过缩放的向量的和。

两个数乘向量的和被称为这两个向量的线性组合

如果固定其中的一个标量,让另外一个标量自由的变化,所产生的向量的终点会描出一条直线
如果你让两个标量同时自由变化,考虑所有可能得到的向量,有三种结果。大部分情况下,对于一对初始向量,你能达到平面中的每一个点,所有二维向量都尽在掌握。而当两个初始向量恰好共线时,所产生的向量的终点被限制在一条过原点的直线上。当两个向量都是零向量,那不管标量怎么变化,得到的向量仍然只能乖乖待在原点

张成空间:所有可以表示为给定向量线性组合的向量的集合被称为给定向量张成的空间

两个向量张成的空间实际上是问,通过加法与向量数乘这两种基础运算,你所获得的所有可能向量的集合是什么。

向量与点:通常我们就用向量的终点来代表该向量,它的起点仍然位于原点。这可以简化向量,当我们考虑所有的二维向量时,不必考虑所有的箭头,只考虑无限大的二维平面本身即可。当你只考虑一个向量时,把它看做箭头,当你考虑多个向量时,就把它们都看作点。

现在,让我们去考虑三维空间,在三维空间中取两个指向不同方向的向量,它们张成的空间是什么样的?这两个向量张成的空间就是它们所有可能的线性组合,是三维空间中某个过原点的平面。所有终点落在这个平面上的向量的集合是这两个向量张成的空间。
如果再加上第三个向量,选择三个标量,对三个向量分别进行缩放,然后把结果相加,这三个向量所有可能的线性组合构成了它们张成的空间。

如果第三个向量恰好落在前两个向量所张成的平面上,它们张成的空间并不改变,仍然被困在这个平面中。换句话说,在线性组合中引入第三个向量并没有让你走的更远

如果第三个向量指向不同的方向,我们可以得到所有的三维向量。你可以把它想象为,当你缩放第三个向量时,它将前两个向量张成的平面沿它的方向来回移动,从而扫过整个空间。
线性相关:一组向量中至少有一个是多余的,它没有对张成空间做出任何贡献。有多个向量,并且可以移除其中一个而不减小张成的空间。另外一种表述方式是其中一个向量,可以表示为其他向量的线性组合,因为这个向量已经落在其它向量张成的空间之中。
线性无关:如果所有的向量都给张成的空间增添了新的维度,它们就被称为是线性无关的。
空间中的一组基的严格定义:张成该空间的一个线性无关向量的集合
*

03:矩阵与线性变换

线性变换:“变换”实际上是函数,它接收输入内容,并输出对应结果。在线性代数中,我们考虑的是接收一个向量并且输出一个向量的变换。“变换”是在暗示以特定方式来可视化这一输入-输出关系。

如果一个变换接收一个向量并输出一个向量,我们想象这个输入向量移动到输出向量的位置。
考虑所有输入向量都移动到对应输出向量的位置时,我们只用看空间中的所有点移动到其他点的位置。

线性变换:如果一个变换具有以下两条性质,我们就称它是线性的:一是直线变换后仍然保持为直线,不能有所弯曲,二是原点必须保持固定。总的来说,应该把线性变换看作是“保持网格线平行且等距分布”的变换。

如何用数值描述线性变换?
你只需要记录两个基向量i帽和j帽变换后的位置,其他向量都会随之而动。

比如考虑向量坐标为(-1,2)的向量V,这个向量就是-1与i帽之积和2 与j帽之积的和,如果我们运用一些变换,并且跟随这三个向量的运动,网格线保持平行且等距分布的性质有一个重要的推论:变换后的向量V的位置是-1 与变换后的i帽之积加上2与变换后的j帽之积。换句话说,向量V是i帽与j帽的一个特定线性组合,那么变换后的向量V也是变换后i帽与j帽的同样的线性组合。这意味着,你可以只根据变换后的i帽和j帽,就推断出变换后的V
我们在背景中保留原始网格的副本,对于现在所示的变换,可以看到,i帽落在坐标(1,-2)上,j帽落在坐标(3,0)上。也就是说,-1乘以i帽加上2乘以j帽所代表的向量会落在-1乘以向量(1,-2)加上2乘以向量(3,0)的位置上。简单运算之后,你就能推断出向量V一定落在向量(5,2)上。

你只需要记录变换后的i帽和j帽的位置就可以推断出任意向量在变换之后的位置,完全不必观察变换本身是什么样。一般情况下,一个向量的坐标是(x,y),变换后的这个向量就是x乘以变换后的i帽(1,-2)加上y乘以变换后的j帽(3,0),简单运算之后你就知道它落在坐标(1x+3y,-2x+0y)上。
以上内容是说,一个二维线性变换仅由四个数字完全确定。变换后i帽的两个坐标与变换后j帽的两个坐标。通常我们将这些坐标包装在一个22的格子中,称它为**22矩阵**。你可以把它的理解为两个特殊的向量,即变换后的i帽和j帽。
如果你有一个描述线性变换的2*2矩阵,以及一个给定向量,你想了解线性变换对这个向量的作用,你只需要取出向量的坐标,将它们分别与矩阵的特定列相乘,然后将结果相加即可。这与“缩放基向量再相加”的思想一致。

更一般的情况下,我们来看看矩阵是[[a,b],[c,d]]时会发生什么。记住,矩阵在这里只是一个记号,它含有描述一个线性变换的信息。把第一列(a,c)看作是变换后的第一个基向量,把第二列(b,d)看作是变换后的第二个基向量。我们让这个变换作用于向量(x,y),结果是什么?那就应该是x乘以(a,c)加上y乘以(b,d)。合并之后,得到向量(ax+by,cx+dy),你甚至可以把它定义为矩阵向量乘法

通过这个直观地公式我们可以很快得到运算结果,但我们完全可以把矩阵的看作变换后基向量,把矩阵向量乘法看作它们的线性组合


这里还有一个有趣的变换,它有个特殊的名称叫做“剪切”(或者“错切”)。在这个变换里,i帽保持不变,所以矩阵的第一列仍为**(1,0),但是j帽移动到了(1,1),所以矩阵的第二列为(1,1)**,为了计算出给定向量在剪切变换后的位置,只需将这个矩阵与这个向量相乘即可。
反过来看又会如何?
从一个矩阵出发,比如说以(1,2)和(3,1)为列的矩阵,你想推测出它代表的线性变换是什么样的?
首先将i帽移动到(1,2),然后将j帽移动到(3,1),空间其他剩余部分随二者一起移动,以保持网格线平行且等距分布。

如果变换后的i帽和变换后的j帽是线性相关的,这意味着其中一个向量是另一个的倍数。那么这个线性变换将整个二维空间挤压到它们所在的一条直线上,那也就是这两个线性相关向量所张成的一维空间

总之,线性变换是操纵空间的一种手段,它保持网格线平行且等距分布,并且保持原点不动。这种变换只需要几个数字就能描述清楚,这些数字就是变换后基向量的坐标。以这些坐标为列所构成的矩阵为我们提供了一种描述线性变换的语言。而矩阵向量乘法就是计算线性变换作用于给定向量的一种途径。当你看到一个矩阵,你都可以把它解读为对空间的一种特定变换

04:矩阵乘法与线性变换复合

很多时候你发现你想描述这样一种作用:一个变换之后再进行另外一个变换。比如说,你想描述,将整个平面逆时针旋转90度后,再进行一个剪切变换会发生什么?从头到尾的总体作用是另外一个线性变换。这个新的线性变换通常被称为前两个独立变换的“复合变换”。我们也可以通过追踪i帽和j帽,用矩阵来完全描述这个复合变换。在这个例子中,变换后的i帽落在(1,1),变换后的j帽落在(-1,0),这一新的矩阵捕捉到了旋转然后剪切的总体效应,但它是一个单独的作用,而不是两个相继作用的合成。


这里有一种方法来考虑这个新矩阵,如果你有一个向量,将它进行旋转然后剪切,一个麻烦的计算方法是:首先将它左乘旋转矩阵然后将得到的结果再左乘剪切矩阵。从数值角度看,这意味着对一个给定向量进行旋转然后剪切。但无论所选向量是什么,结果都应该与复合变换作用的结果完全相同。因为新矩阵应当捕捉到了旋转然后剪切的相同总体效应。

进一步我们可以认为这个新的矩阵是最初两个矩阵的积。记住,两个矩阵相乘有着几何意义,也就是两个线性变换相继作用

这里有件奇怪的事,就是这个乘积需要从右向左读首先应用右侧矩阵所描述的变换,然后再应用左侧矩阵所描述的变换。它起源于函数的记号,因为我们将函数写在变量左侧,所以每次有两个函数复合时,你总是要从右向左读。

一个矩阵,两列为(1,1)和(-2,0)称为M1,另一个矩阵,两列为(0,1)和(2,0)称为M2,M1和M2先后作用,总体效果是一个新的变换,我们来求解它的矩阵。按照定义,i帽的新坐标由M1的第一列给出,也就是(1,1),要看看M2作用之后会发生什么,将矩阵M2乘以向量(1,1),用上一节的计算方法可以得到向量(2,1),这就是复合矩阵的第一列。

类似的,M1的第二列告诉我们j帽首先落在(-2,0)上,然后将M2作用于这个向量,你能根据矩阵向量乘法计算得到(0,-2)。

我们再重复一次同样的过程,不过这次我们用变量代替数值,来说明这一方法具有普适性

要跟踪i帽的去向,首先找右侧矩阵的第一列,因为这是i帽首先到达的地方,将这一列左乘左侧的矩阵,结果就是i帽在第二个变换作用后的结果。所以复合矩阵第一列就是左侧矩阵与右侧矩阵第一列的乘积

类似地,j帽落在右侧矩阵第二列所代表的位置上,左侧矩阵与这一列相乘就能得到j帽的最终位置。因此这一乘积就是复合矩阵的第二列。

这里有不少符号,通常需要学生记住这个公式,并通过一些特定的运算加强记忆。但是在记忆这个过程前,应该养成思考矩阵乘法意义的习惯,也就是两个变换相继作用

思考这个问题:矩阵相乘时,它们的先后顺序影响结果吗?

来想一个简单的例子,比如之前提到的剪切和逆时针旋转90度。如果你先剪切再旋转,你会发现i帽落在(0,1),j帽落在(-1,1),它们彼此之间靠得很近。

如果你先旋转再剪切,i帽落在(1,1),而j帽落在一个不同的方向(-1,0),它们的指向分隔很远。

二者总体效应明显不同,所以乘积顺序显然会有影响

注意,我们在用变换了进行思考,这一过程可以在脑中形象地进行,完全不需要做矩阵乘法运算。
我们之前留的作业,让证明矩阵乘法具有结合性。这是在说,如果你有矩阵ABC,然后将它们相乘,无论是首先计算A乘以B,然后将结果乘以C,还是先算B乘以C,然后将结果左乘A,二者结果应该相同。换句话讲,添加括号与结果无关

如果现在你尝试用数值方法证明,这个过程会非常糟糕,而且对你毫无启发,但是如果你用变换相继作用的思想去考虑矩阵乘法,这一性质就变得很平凡了。这是在说,首先应用C变换和B变换,然后应用A变换(等式右边),与先应用C变换,然后应用B变换和A变换的结果相同。完全没有需要证明的东西,你只是将同样的三个变换用同样的顺序依次作用而已。
问题:为什么矩阵顺序影响结果但矩阵结合性成立?
答:因为矩阵的结合性从本质上来说根本没有改变矩阵相乘的顺序。

附:三维空间中的线性变换

在前面的视频中,我们主要在二维空间中进行讨论,主要是因为这样更容易在屏幕上展示,也更容易理解。更为重要的是,一旦你掌握了二维空间里的核心概念,这些概念就能完美推广至高维空间。我们也应该了解这些概念在二维空间外意味着什么。
例如,考虑一个变换,它以三维向量为输入,并以三维向量为输出,我们可以想象它移动在三维空间中的所有点,保持网线格平行且等距分布,并且保持原点不动。和二维情形一样,我们看到的三维空间的每一个点实际上只是用来代表以它本身为终点的一个向量。而我们所做的变换只是将输入向量移动至对应的输出向量。

和二维向量一样,三维线性变换由基向量的去向完全决定。不过现在我们有三个通常使用的标准基向量。x方向的单位向量“i帽”,y方向的单位向量“j帽”,外加z方向的单位向量"k帽"。

实际上,只考虑跟踪这些基向量的话会更容易观察这些线性变换,因为使用三维网格会显得很凌乱。在背景汇总留下原始坐标的副本,我们就能观察到三个基向量变换后的位置。

将变换后三个基向量的坐标记录在一个3×3的矩阵中。仅仅使用九个数字,这个矩阵就完全描述了一个线性变换。

举个简单的例子,考虑沿着y轴旋转90度的变换,这个变换将i帽移动到z轴上的(0,0,-1),它不移动j帽,所以j帽仍旧在(0,1,0),而k帽被移动至x轴上的(1,0,0),这三组坐标就成为了描述这一旋转变换的矩阵的三列。

要想知道(x,y,z)所代表的向量在变换后的去向,推理过程与二维下几乎相同。它的每个坐标都可以看作对相应基向量的缩放,从而使缩放结果的和为你选择的向量。和二维类似,重要的部分在于,这一“缩放再相加”的过程在变换前后均适用。所以要找到向量变换后的位置,你将它的坐标与矩阵的对应列相乘再将结果相加即可。

两个矩阵相乘也是类似的,当你看到两个3×3矩阵相乘时,你应该想象首先应用右侧矩阵代表的变换,然后应用左侧矩阵代表的变换

实际上,三维矩阵相乘在部分领域有着非常重要的应用。比如计算机图形学与机器人学。虽然三维空间中的旋转很难直接表述,但是如果将它分解为简单分立的旋转的复合,这一过程就很容易理解了。三维下通过数值计算矩阵乘法再次与二维情形类似。

05:行列式

在前面的视频中,你可能注意到其中有的将空间向外拉伸,有的则将空间向内挤压。测量变换究竟对空间有多少拉伸或挤压对理解这些线性变换很有用。更具体一点,就是测量一个给定区域面积增大或减小的比例
比如一个以(3,0)和(0,2)为列的矩阵,它将i帽伸长为原来的3倍,将j帽伸长为原来的2倍,现在如果我们关注以i帽为底边,以j帽为左边的1×1方形,在变换之后它会变成一个2×3的矩形。

因为这个区域初始面积为1,最终面积为6,所以我们说这个线性变换将它的面积变为6倍。

剪切矩阵的列为(1,0)和(1,1),也就是说i帽保持不变,而j帽移动至(1,1),由i帽和j 帽决定的单位正方形在变换后倾斜为一个平行四边形。但这个平行四边形的面积仍然为1。所以说即使这个变换将空间向右挤压,至少对于这个单位正方形来说,它似乎并不改变面积

实际上,你只要知道这个单位正方形面积变化的比例,它就能告诉你其他任意区域的面积变化比例。首先需要注意一点,无论一个方格如何变化,对于其他大小的方格来说,都会有相同变化。这是由“网格线保持平行且等距分布”这一事实推断得出的。

对于不是方格的形状,它们可以用许多方格良好近似,只要使用的方格足够小,近似就能足够好。

由于所有小方格都进行了一个比例的缩放,所以整个形状也进行了同样比例的缩放。

这个特殊的缩放比例,即线性变换改变面积的比例,被称为这个变换的行列式。

比如说,一个线性变换的行列式是3,就是说它将一个区域的面积增加为原来的3倍。

一个线性变换的行列式是1/2,就是说它将一个区域的面积缩小一半。

一个二维线性变换的行列式为0,说明它将整个平面压缩到一条线,甚至是一个点上,因为此时任何区域的面积都变成了0。最后这个例子相当重要,这是说,只需检验一个矩阵的行列式是否为0,我们就能了解这个矩阵所代表的变换是否能将空间压缩到更小的维度上

得承认一点,到目前为止前面所说的并不完全正确,完整概念下的行列式是允许出现负值的,那么将一个区域缩放负数倍到底是什么意思?
这和定向的概念有关,你可以将二维空间想象为一张纸,这个变换像是将纸翻转到了另外一面,我们称类似这样的变换改变了空间的定向
另外一种方式是根据i帽和j 帽来考虑,注意在初始状态时,j帽在i帽的左边,如果在变换之后,j帽处于i帽的右边,那么空间定向就发生了改变。当空间定向改变的情况发生时,行列式为负。但是行列式的绝对值依然表示区域面积的缩放比例。
比如说,由(1,1)和(2,-1)为列的矩阵所代表的线性变换的行列式是-3,这就是说变换后空间被翻转,并且面积放大为原来的3倍
那么负的面积缩放比例为什么会自然而然地用来描述定向改变呢
考虑i帽逐渐接近j帽所形成的一系列变换。当i 帽靠近j帽时,空间也被压缩地更严重,这意味着行列式逐渐趋近于0,当i帽与j帽完全重合时,行列式为0。如果i帽继续沿着这个方向运动,行列式自然继续减小为负值,

那么行列式在三维空间中的意义呢?它告诉你的依然是变换前后的缩放比例,只不过这次它说的是体积的缩放。三维空间中,我们聚焦于一个特定的1×1×1立方体,它的棱处于基向量i帽、j帽和k帽上。

在变换之后,这个立方体可能就变成了一个斜不拉几的形状——平行六面体。因为这个立方体的初始体积为1,而行列式给出的是体积缩放比例,所以你可以把行列式简单看作这个平行六面体的体积

行列式为0则意味着整个空间被压缩为零体积的东西,也就是一个平面或一条直线,或者更极端的情况下,一个点。如第二章所提,这是在说矩阵的列线性相关

那么对于负值行列式呢?它在三维下是什么意思?如果a告诉你i帽在x轴方向的伸缩比例d告诉你j帽在y轴方向的伸缩比例。因为其他两项均为0,所以ad给出的是单位正方形伸缩后形成的矩形面积,和之前那个[[3,0],[0,2]]的例子一样。

即便只有一项为零,那么最后得到的是一个平行四边形,底为a且高为d,面积应该仍然为ad

粗略地说,如果b和c均不为0,那么bc项就会告诉你平行四边形在对角方向上拉伸或压缩了多少。对于急切想知道bc项精确含义的人,可以看这个图以及公式。如果你必须掌握徒手计算行列式,唯一的方法是用一些矩阵来练习。

这些计算过程不属于线性代数的本质,但理解行列式所代表的意义在它当中。
提问:如果你将两个矩阵相乘,它们乘积的行列式等于这两个 矩阵的行列式的乘积。如果用数值方式证明要花不少时间,试试看能不能仅用一句话就解释清楚它的道理。

06:逆矩阵、列空间、秩与零向量

这一节我们要透过线性变换来了解逆矩阵、列空间、秩和零空间的概念。
首先说一说线性代数的有用之处,目前你已经体会到它能用来描述对空间的操纵,这对计算机图形学机器人学很有用。但线代被广泛应用的一个主要原因是它能帮助我们求解特定的方程组
方程组是说有一系列未知量和一系列与之相关的方程。大部分情况下,这些方程会显得非常复杂,但如果幸运的话,它们可能具有一个特定的形式。在每个方程中,所有的未知量只具有常系数。这些未知量之间只进行加和,也就是说没有幂次,没有奇怪的函数,没有未知量间的乘积等等。

要整理这一特定的方程组,一个典型的方法是将未知量放在等号左边,剩余的常数项放在等号右边,并且将同一个未知量竖直对齐,要做的这一点,可能要在某个未知量不出现时添加0这个系数,这就被称为线性方程组

这与矩阵向量乘法非常相似,实际上,你可以将所有的方程合并为一个向量方程,包含所有常数系数的矩阵A、一个包含所有未知量的向量x以及它们乘积所得到的一个常数向量v。

矩阵A代表一种线性变换,所以求解Ax=v意味着我们去寻找一个向量x,使得它在变换后与v重合。

先举一个简单的例子,你有两个方程和两个未知量构成的方程组,意味着A是一个2×2的矩阵,v和x都是二维向量。现在这个方程的解依赖于矩阵A所代表的变换是将空间挤压到一条线或一个点等低维空间(降维,行列式为零),还是保持像初始状态一样的完整二维空间(保持空间为二维,行列式不为零)。

先来看看行列式不为零的情况,此时空间并未被挤压为零面积的区域,在这种情况下,有且仅有一个向量(在变换后)与V重合,并且你可以通过逆向进行变换来找到这个向量。如同倒带一样,通过跟踪v 的动向,你就能找到满足Ax=v的向量x,当你逆向进行变换时,它实际上对应了另一个线性变换,通常被称为“A的逆”,记为A^(-1)。比如说,如果A是时针旋转90度的变换,那么A的逆就是时针旋转90度的变换。


如果A向右剪切的变换,将j帽向右移动一个单位,A的逆就是向左剪切的变换,将j帽向左移动一个单位。

总的来说,A逆是满足以下性质的唯一变换:它首先应用A代表的变换,再应用A逆代表的变换,会回到原始状态。两个变换相继作用在代数上体现为矩阵乘法,所以A逆的核心性质在于,A逆乘以A等于一个“什么都不做”的矩阵,这个什么都不做的变换被称为“恒等变换”。它保持i帽和j帽不变,所以它的列就是(1,0)和(0,1)。

一旦你找到了A的逆(实践中你可以用计算机完成),你就能在两边同乘A的逆矩阵来求解向量方程。这个过程在几何上就对应于逆向进行变换并跟踪v的动向

随机选一个矩阵,有很大可能会遇到这一非零行列式的情况,也就是说,对于两个未知量和两个方程构成的方程组,几乎可以确定它存在唯一解。当方程数目与未知量数目相同时,这一思想在高维情况下也有意义,同样地可以给方程组赋予几何意义。也就是线性变换A,某个向量v,并且你在寻找向量x,在变换后与v重合

只要变换A不将空间压缩到一个更低的维度上(行列式不为零),那它就存在逆变换——A逆,使得应用A变换再应用A逆变换之后,结果与恒等变换无异。想要求解方程,你只需要将A逆与向量v相乘即可。

但是当行列式为零时,与这个方程组相关的变换将空间压缩到更低的维度上,此时没有逆变换,你不能将一条线解压缩为一个平面,至少这不是一个函数能做的,这样就会要求将一个单独的向量变换为一整条线的向量,但是函数只能将一个输入变换为一个输出。

类似地,对于三个方程和三个未知量,如果变换将三维空间压缩为一个平面,甚至是一条直线或一个点,那么他也没有逆变换。它们都对应行列式为零的情况,因为此时所有区域都被压缩到零体积。即使不存在逆变换,解仍然可能存在。比如说,一个变换将空间压缩为一条直线,你得足够幸运,让向量v恰好处于这条直线上

一个3×3的矩阵,当它将空间压缩为一条直线时,与平面相比,解存在的难度更高了,即使这两种情况下行列式均为零
除了行列式之外,我们还有特定术语来描述它们,当变换的结果为一条直线时,也就是说结果是一维的,我们称这个变换的秩为1,如果变换后的向量落在某个二维平面上,我们称这个变换的秩为2。所以说,秩代表着变换后空间的维数

比如说对于2×2的矩阵,它的秩最大为2,意味着基向量仍旧能张成整个二维空间,并且矩阵的行列式不为零。但是对于3×3的矩阵,秩为2意味着空间被压缩了,但是和秩为1的情况相比,压缩并不是那么严重。如果一个三维变换的行列式不为零,变换结果仍旧充满整个三维空间,那么它的秩为3
不管是一条直线一个平面还三维空间等,所有可能的变换结果的集合,被称为矩阵的“列空间”

矩阵的列告诉你基向量变换后的位置,这些变换后的基向量张成的空间就是所有可能的变换结果换句话说,列空间就是矩阵的列所张成的空间,所以更精确的秩的定义是列空间的维数。当秩达到最大值时,意味着秩与列数相等,我们称之为满秩

注意,零向量一定会被包含在列空间中,因为线性变换必须保持原点位置不变。对于一个满秩变换来说,唯一能在变换后落在原点的就是零向量自身

但是对于一个非满秩的矩阵来说,它将空间压缩到一个更低的维度上,也就是说会有一系列向量在变换后成为零向量(直线降维为点)。

举个例子,如果一个二维线性变换将空间压缩到一条直线上(降维),那么沿不同方向直线上的所有向量就被压缩到原点。如果一个三维线性变换将空间压缩到一个平面上,同样也会有一整条线上的向量在变换后落在原点。

如果 一个三维线性变换将空间压缩到一条直线上,那么就有一整个平面上的向量在变换后落在原点。

变换后落在原点的向量的集合,被称为矩阵的零空间。变换后一些向量落在零向量上,而“零空间”正是这些向量所构成的空间。对线性方程组来说,当向量v恰好为零向量时,零空间给出的就是这个向量方程所有可能的解。

以上就是从几何角度理解线性方程组的一个高水平概述。复习一下本节内容:每个方程组都有一个线性变换与之联系。当逆变换存在时,你就能用这个逆变换求解方程组。否则,列空间的概念让我们清楚什么时候存在解,零空间的概念有助于我们理解所有可能的解的集合是什么样的。

附:非方阵

之前所讨论的线性变换,要么是用2×2矩阵来表示的二维向量到二维向量的变换,要么是用3×3矩阵来表示的三维向量到三维向量的变换,接下来我们花些时间来说说非方阵的几何含义。
讨论不同维数之间的变换是完全合理的,比如一个二维向量到三维向量的变换。

同之前一样,如果网线格保持平行且等距分布,并且原点映射为自身,就称它是线性的。如图,左侧为二维输入空间,右侧为三维输出空间。

输入的二维向量与输出的三维向量是完全不同的“物种”,它们生活在没有任何关联的空间当中,用矩阵代表这样一个变换则和之前的方法相同,找到每个基向量变换后的位置,然后把变换后基向量的坐标作为矩阵的列
比如说,一个变换后将i帽变换到坐标(2,-1,-2),j帽变换到坐标(0,1,1),注意,这个矩阵是三行两列的,用术语说,这是一个3×2矩阵。

通过上一节的视频可知,这个矩阵的列空间三维空间中一个过原点的二维平面,但是这个矩阵仍然是满秩的,因为列空间的维数输入空间的维数相等。所以当你看到一个3×2矩阵的时候,你就明白它的几何意义是将二维空间映射到三维空间上。因为矩阵有两列表明输入空间有两个基向量,有三行表明每一个基向量再变换后都用三个独立的坐标来描述。
类似的,当你看法哦一个两行三列的2×3矩阵时,你觉得它代表什么?

矩阵有三列表明原始空间有三个基向量,也就是说原始空间是三维的,有两行表明这三个基向量在变换后都仅用两个坐标来描述,所以它们一定落在二维空间中,因此这是一个从三维空间到二维空间的变换。
还可以有二维空间到一维空间的变换,一维空间实际上就是数轴,所以这样的变换接收二维向量,然后产生一个数,因为空间的挤压,这里考虑网线格保持平行且等距分布显得有些混乱。

所以在这种情况下,形象理解线性性质的含义就是说,如果在一条直线上有一系列等距分布的点,在映射到数轴之后,它们将保持等距分布,这样的变换有一个1×2矩阵表示,而这个矩阵的两列都只有一个数。这两列分别代表了变换后的基向量,而它们都只需要一个数字,即变换后基向量在数轴上的位置。
这实际上是一类非常有意义的变换,它与点积紧密相关,之后介绍。

07:点积与对偶性

如果你有两个维数相同的向量,或是两个长度相同的数组,求它们的点积,就是将相应坐标配对,每求出一对坐标的乘积,然后将结果相加,所以向量(1,2)点乘向量(3,4)的结果为1×3+2×4。


幸运的是,这个计算有一个优美的几何解释,要求两个向量v和w的点积,想象将向量w朝着过原点和向量v终点的直线上投影,将投影的长度与向量v的长度相乘

除非w与v的方向相反,这种情况下点积为负值。

所以当两个向量的指向大致相同时,它们的点积为正,当它们垂直时,意味着一个向量在另外一个向量上的投影为零向量,它们的点积为零。而当它们的指向基本相反时,它们的点积为负
点积与顺序无关,你也可以将向量v投影在原点和w向量的确定的直线上。
下面从直观上说说为什么点积与顺序无关?
如果v 和w的长度恰好相同,我们可以利用其中的对称性,因为w向v上投影,并将w的投影长度与v的长度相乘,和v向w上投影,并将投影长度与w的长度相乘互为镜像。

如果现在你将其中一个缩放若干倍,比如将v变成两倍,使得它们的长度不同**,对称性破坏了,但是我们可以这样解读新向量2v和w的点积。如果你认为w 向v上投影,那么2v点乘w就应该恰好是v点乘w的2倍**。这是因为,将v放大为原来的两倍并不改变w的投影长度,但是被投影的向量长度变为原来的两倍。

另一方面,假设你将v投影到w上,我们将v变为原来的两倍,这次是投影的长度变为原来的两倍,但是被投影的向量长度保持不变,所以总体效果仍然是点积变为两倍

所以说即使这种情况下对称性被破坏了,在两种理解方式下,缩放向量点积结果的影响是相同的
为什么点积这一运算过程也就是将对应坐标相乘并将结果相加和投影有所联系?
如果想要给出一个满意的答案,并且正视点积的重要性,我们需要挖掘更深层次的东西,它们被称为“对偶性”。
现在我们要先谈一谈多维空间到一维空间(数轴)的线性变换。有不少函数能够接收二维向量并输出一个数,同样是二维输入和一维输出,和一般的函数相比,线性变换的要求更加严格。

就像第三章所讨论的,高维空间中的变换需要满足一些严格的性质才会具有线性,但是我们特意忽略这些内容,聚焦于一种与之等价的直观特性
如果你有一系列等距分布于一条直线上的点,然后应用变换。

线性变换保持这些点等距分布在输出空间中,也就是数轴上。

否则,如果这些点没有等距分布,那么这个变换就不是线性的。

如同我们之前看到的例子一样,这些线性变换完全由它对i帽和j帽的变换决定。但是这一次,这些基向量值落在一个数上,所以当我们将它们变换后的位置记录为矩阵的列时,矩阵的每列只是一个单独的数

我们来考察一个例子,了解它对向量作用的含义,假设你有一个线性变换,它将i帽和j帽分别变换至1和-2,要跟踪一个向量,比如向量(4,3),在变换之后的去向感觉上就和两个向量的点积一样。将这个向量分解为4×i帽+3×j帽。由于线性性质,在变换后,这个向量的位置是4乘以变换后的i帽,也就是1,加上3乘以变换后的j帽,也就是-2,结果说明它落在-2上。

当你完全从数值角度进行计算时,它就是矩阵向量乘法。

1×2矩阵与向量相乘这一数值运算过程,感觉上就和两个向量的点积一样。那个1×2矩阵不正像是一个倾倒的向量吗?

实际上,我们现在可以说,1×2矩阵二维向量之间有着微妙的联系。这种关系在于:将向量放倒,从而得到与之相关的矩阵,或者将矩阵直立,从而得到与之相关的向量,因为我们现在只是从数值表达上来看这个联系,所以向量和1×2矩阵之间的来回转化看上去毫无意义。但是这暗示了一点,从几何角度可以看到一些美妙的事情。将向量转化为数的线性变换和这个向量本身有着某种关系。

我来举个例子说明这种关系的重要性,而它恰恰回答了之前提到的点积的问题。忘记你所学的,假设你还不知道点积与投影有关。现在将数轴复制一份,然后保持0在原点,将它斜向放置在空间中,现在考虑这样一个二维向量,它的终点落在这条数轴的1上,给它起名叫u帽。这个向量很重要,请先牢记它。

如果将二维向量直接投影到这条数轴上,实际上我们就这样定义了一个从二维向量函数




更重要的是,这个函数是线性的,因为它顺利通过了线性检验。即直线上等距分布的点在投影到数轴上后仍然等距分布。


这里说明一点,即使我把这条数轴放在二维空间中,上述函数的输出结果还是不是二维向量。你应该把它看作一个接收两个坐标并输出一个坐标的函数。

不过,u帽是二维空间中的一个向量,而它又碰巧落在了这条数轴上。根据这个投影,我们定义了一个从二维向量到数的线性变换,所以我们就能够找到描述这个变换的1×2矩阵。为了找到这个矩阵,我们把这条斜着的数轴放大来看并且需要考虑变换后i帽和j帽的位置,因为它们就是矩阵的列

这一部分超级漂亮,我们可以通过精妙的对称性进行推理,因为i帽和u帽都是单位向量,将i帽向u帽所在的直线投影与u帽向x轴投影看上去完全对称

所以如果要问i帽在投影之后落在哪个数上,答案就应该是u帽向x轴投影所得到的数,而u帽向x轴投影得到的数就是u帽的横坐标ux。因此根据对称性,将i帽向斜着的数轴上投影所得到的数,就是u帽的横坐标ux。以上推理过程对j帽几乎一致,与之前的原因一致,u帽的y坐标给出了j帽向斜着的数轴上投影所得到的数uy。

所以描述投影变换的1×2矩阵的两列,就分别是 u帽的两个坐标ux和uy
而空间中任意向量经过投影变换的结果,也就是投影矩阵与这个向量相乘,和这个向量与u帽的点积在计算上完全相同

这就是为什么与单位向量的点积可以解读为将向量投影到单位向量所在的直线上所得到的投影长度


那么对于非单位向量呢?比如说还是这个单位向量u帽,不过我们把它放大为原来的3倍。数值上说,它的每个坐标都被放大为原来的3倍。所以要寻找与这个向量相关的投影矩阵,实际上就是之前i帽和j帽投影得到的值的3倍。更普遍地说,因为这个变换是线性的,意味着这个新矩阵可以看作,将任何向量朝斜着的数轴上投影,然后将结果乘以3

这就是为什么向量与给定非单位向量的点积可以解读为首先朝给定向量投影,然后将投影的值与给定向量长度相乘
注意这里发生的过程,我们有一个从二维空间到数轴的线性变换,它并不是由向量数值或点积运算定义得到的,而只是通过将空间投影到给定数轴上来定义。但是因为这个变换是线性的,所以它必然可以用某个1×2矩阵来描述,又因为1×2矩阵与二维向量相乘的计算过程和转置矩阵并求点积的计算过程相同,所以这个投影变换必然会与某个二维向量相关。

这里的启发是,在任何时候看到一个线性变换,它的输出空间是一维数轴,无论它是如何定义的,空间中会存在唯一的向量v 与之相关,就这一意义而言,应用变换与向量v做点积一样的

这一部分是数学中“对偶性”色一个实例,粗略的说,它是指自然而又出乎意料的对应关系
对于你刚学到的情况而言,你可以说一个向量的对偶是由它定义的线性变换,一个多维空间到一维空间的线性变换的对偶是多维空间中的某个特定向量
总结一下,表面上看,点积是理解投影的有利几何工具,并且方便检验两个向量的指向是否相同,这大概也是你需要记住的点积中最重要的部分。不过进一步讲,两个向量点乘,就是将其中一个向量转化为线性变换

同样,在数值上强调它可能显得没有意义,因为只是两种看上去恰好相似的计算过程而已。但是这一过程很重要,因为我们一直在与向量打交道。你应该了解向量的“个性”,不把它看作空间中的箭头,而把它看作线性变换的物质载体,会更容易理解向量。向量就仿佛是一个特定变换的概念性记号。因为对我们来说,想象空间中的向量比想象整个空间移动到数轴上更加容易。

08:第一部分:叉积的标准介绍

上一节介绍了点积,不仅介绍了点积的标准介绍方法,还在更深层次说明了它与线性变换的关联,这一节我们以相同的方式来讨论叉积,不过我们会分为两部分,这一节会切中学生学习叉积时的要点,而下一接,我会展示一种教学中不常见的但是学起来又让人很满足的观点。
我们从二维空间说起,假如你有两个向量v和w,考虑它们所张成的平行四边形。这句话的意思是,你取一份v的副本,将它的起点移到w的终点,再取一份w的副本,将它的起点移动到v的终点,屏幕上显示的这四个向量围成了一个平行四边形。v和w的叉积写作(X形乘积符号)就是这个平行四边形的面积。

差不多是这样,我们还要考虑定向问题,大致来讲,如果v在w的右侧,那么v叉乘w为正,并且值等于平行四边形的面积。但是如果v在w的左侧,那么v 叉乘w为负,即平行四边形面积的相反数

注意,这就是说顺序会对叉积有影响。如果你不计算w叉乘v,而是交换二者位置计算,那么叉积就是之前计算结果的相反数。
当你按序求两个基向量的叉积即i帽叉乘j帽,结果应该是正的,实际上,基向量的顺序就是定向的基础。因为i帽在j帽的右侧,所以我记得v在w的右侧时,v叉乘w为正。

以现在展示的为例,我直接告诉你这个平行四边形的面积为7,因为v在w的左侧,它们的叉积应该是负的,所以v叉乘w等于-7。

不过,你当然不想依赖别人给出的答案,直接计算它的面积,行列式就在这里起作用了。对于二维向量的叉积——v叉乘w,你需要将v的坐标作为矩阵的第一列w的坐标作为矩阵的第二列,然后直接计算行列式

这是因为,由v和w的坐标为列所构成的矩阵,与一个将i帽和j帽分别移至v和w的线性变换相对应
行列式就是变换前后面积变化比例的度量。而我们所关注的,就是以i帽和j帽为边的单位正方形。在变换之后,这个单位正方形变成我们关心的平行四边形。所以说,通常用来度量面积变化比例的行列式,在这里给出了平行四边形的面积,因为这个平行四边形来源于面积为1的正方形。更重要的是,如果v在w的左侧,也就是说变换后定向发生了改变,那么行列式就为

举个例子,比如说v的坐标为(-3,1),w的坐标为(2,1),以它们的坐标为列构成的矩阵的行列式为(-3)×1-2×1=-5,所以很显然,它们构成的平行四边形的面积为5,而且因为v在w的左侧,结果自然为

对于你所学到的任何新的运算,可以多在脑中想一想,这样会有更加直观地感受。
比如说,你可能注意到一点,当两个向量垂直,和它们指向接近时相比,此时的叉积更大。因为当两条边接近垂直时,平行四边形的面积会更大

如果你放大其中一个向量,比如将v放大为3倍,那么平行四边形的面积也同时放大为3倍。这也就是说,3v叉乘w正好是v叉乘w的3倍。

即使是上面这种数学运算看上去非常好,但是严格来讲,上面描述的东西并不是叉积,真正意义上的叉积是通过两个三维向量生成一个新的三维向量

和之前一样,我们还是要考虑这两个向量围成的平行四边形,而这个平行四边形的面积依然会发挥重要的作用。说的具体一些,比如这两个向量围成的平行四边形的面积为2.5,但是我之前提到,叉积的结果不是一个数,而是一个向量,这个向量的长度是平行四边形的面积,在这里也就是2.5,而这个向量的方向与平行四边形所在的面垂直

但是长度为2.5并且垂直于给定面的向量有两个,如何确定是哪一个向量你呢?这里我们就要用到右手定则,右手食指指向v的方向,伸出中指指向w的方向,当你把大拇指竖起来时,它所指的方向就是叉积的方向

比如说,假设向量 v的长度为2,指向z轴正方向,向量w的长度为2,指向y轴正方向,在这个简单的例子里,它们围成的图形实际上是正方形,因为它们相互垂直且长度相同,又因为正方形的面积为4,所以它们的叉积是一个长度为4的向量,根据右手定则,它们叉积应该指向x轴负方向,因此v和w的叉积是-4乘以i帽。

对于更一般的情况,这里有个公式可以记忆,但是它可以由一个三阶行列式代替,使这种运算记忆起来更加简便。

这个过程乍一看非常奇怪,写下一个三阶矩阵,第二列和第三列分别为v和w的坐标第一列却是基向量i帽、j帽和k帽,然后计算这个矩阵的行列式,很明显,令人糊涂的地方在这里,让向量作为一个矩阵元究竟是什么意思?
老师经常告诉学生,这只是符号上的技巧,假装i帽、j帽和k帽都是数,当你进行计算时,最终得到的是这三个基向量的线性组合。学生也只是相信,这个线性组合所决定的向量,是唯一一个与v和w垂直,长度为v和w围成的平行四边形的面积并且遵循右手定则的向量。

当然从某种意义上说,这就是符号上的技巧,但是这么做是有原因的。行列式重要性的体现并非完全巧合,基向量作为矩阵元也不是信手而为,想要理解这一切,需要用到上一节介绍的对偶性的思想,将其单独放在后续章节中,以便有兴趣朋友继续学习。

08:第二部分:以线性变换的眼光看叉积

上一节结束时,我们说到如何计算两个三维向量v和w的叉积,这个计算很有趣,你写下一个矩阵,它的第二列时v的坐标,第三列是w的坐标,但奇怪的是,第一列的元素时i帽、j帽和k帽,出于计算的原因,你嘉定它们都是数,然后你再计算这个奇怪矩阵的行列式,如果你忽略其中的古怪之处,一心扑在计算上,你会得到一个常数乘以i帽,加上一个常数乘以j帽,加上一个常数乘以k帽。

你具体如何计算这个行列式无关紧要,重点在于你最终会得到三个数,可以分别解读为向量的坐标

通常从这开始,老师也只是让学生相信,最终得到的向量有以下几何性质:它的长度等于v和w所确定的平行四边形的面积,它的方向同时与v和w垂直,并且它满足右手定则,也就是说,如果右手食指指向v的方向,中指指向w的方向,那么当你竖起大拇指时,它指向所得向量的方向

你可以通过蛮力计算来验证这些事实,但是这里我们分享一个非常优美的推理过程。我们需要用到行列式对偶性的知识点。让我们快速回顾一下,对偶性的思想在于,每当你看到一个**(多维)空间到数轴的线性变换时,它都与那个空间中的唯一一个向量对应**,也就是说,应用线性变换和与这个向量点乘等价。数值上说,这是因为这类线性变换可以用一个只有一行的矩阵描述,而且它的每一列给出了变换后基向量的位置。将这个矩阵与某个向量相乘,在计算上与将矩阵转置得到的向量和v点乘相同。

这里的收获在于,每当你看到一个从空间到数轴的线性变换,你都能够找到一个向量,被称为 这个变换的对偶向量,使得应用线性变换与对偶向量点乘等价
叉积的运算给出了此过程的一个鲜活实例,我们要做的是定义一个从三维空间到数轴的特定线性变换,并且它是根据向量v和w来定义的。然后当我们将这个变换与三维空间中的对偶向量关联时,这个对偶向量就会是v和w的叉积

之所以这么做,是因为理解这个变换能够解释清楚叉积的计算过程和几何含义之间的关系。
再回顾一下,还记得如何在二维空间中计算向量叉积吗?
你有两个向量v和w,v的坐标作为矩阵第一列w的坐标作为矩阵的第二列,然后计算它的行列式,这里没有出现基向量或者其他乱七八糟的东西,就是一个结果为数的普通行列式。几何上说,它给出了两个向量张成的平行四边形的面积,它还可能出现负值,取决于两个向量的定向

如果你并不知道三维向量的叉积并且尝试去外推,你可能会想,它涉及三个向量u,v和w,将它们的坐标作为一个3×3矩阵的列,然后计算这个矩阵的行列式。而且,从几何上讲,这个行列式给出了三个向量张成的平行六面体的体积,外加一个正负号,取决于这三个向量是否满足右手定则,当然,你们都知道这不是三维向量的叉积。

真正的三维向量的叉积接收两个向量输出一个向量。它并不是接收三个向量并输出一个数,不过这个想法已经非常接近真实的叉积了。将第一个向量u看作可变向量,比如(x,y,z),而v和w保持不变,那么我们就有一个从三维空间到数轴的函数了。

你输入一个向量(x,y,z),然后通过矩阵的行列式得到一个数,这个向量的第一列是(x,y,z),其余两列是常向量v和w的坐标。这个函数的几何意义是,对于任一输入的向量(x,y,z),你都考虑由它和v与w确定的平行六面体。得到它的体积,然后根据定向确定符号。
这个函数的一个至关重要的性质在于它是线性的,思考一下:根据行列式的性质说明这一点为什么正确?
一旦你知道它是线性的,我们就能开始引进对偶性的思想了。一旦你知道它是线性的,你就知道可以通过矩阵乘法来描述这个函数,具体地说,因为这个函数从三维空间到一维空间,就会存在一个1×3矩阵来代表这个变换

而对偶性的整体思路是,从多维空间到一维空间的变换的特别之处在于你可以将这个矩阵立起来,并且将整个变换看作与这个特定向量的点积。我们要找的就是这个特殊的三维向量-我称之为p,使得p与其他任一向量(x,y,z)的点积等于一个3×3矩阵的行列式。这个3×3矩阵的第一列为(x,y,z),其余两列分别为v和w的坐标。

现在我们先专注于它的计算意义。p与向量(x,y,z)点乘给出的结果是某个数乘以x加上某个数乘以y再加上某个数乘以z,这里的某些数就是p的坐标。但是当你计算等号右侧的行列式时,你可以将其整理为某个常数乘以x加上某个常数乘以y再加上某个常数乘以z,这里的某些常数涉及了v和w的坐标的特定组合

因此这些常数,也就是v和w的坐标的特定组合就是我们寻找的向量p的坐标。等号右侧的过程,对于那些进行过叉积计算的人来说是很熟悉的,像这样合并x,y和
z前面的常数项和把i帽、j帽和k帽放进矩阵第一列进行计算,然后合并各项前面的系数没有区别。

在矩阵中插入i帽、j帽和k帽不过是在传递一个信号,告诉我们应该把这些系数解读为一个向量的坐标。因此,这一切都在说明,这个奇怪的运算过程可以看作是以下问题的答案。当你将向量p和某个向量(x,y,z)点乘时,所得结果等于一个3×3矩阵的行列式。这个矩阵第一列为(x,y,z),其余两列为v和w 的坐标什么样的向量p才能满足这一特殊性质

它将上面的内容与上期视频中介绍的叉积的几何意义联系起来,这次,我们要尝试从几何角度回答。
当你将向量p和某个向量(x,y,z)点乘时,所得结果等于一个由(x,y,z)和v与w确定的平行六面体的有向体积,什么样的向量p才能满足这一特殊性质?

记住一点**,向量p与其他向量的点积的几何解释**,是将其他向量投影到p上,然后将投影长度与p的长度相乘

对于我们所关心的平行六面体的体积说明一种思考方法。首先获得由v和w确定的平行四边形的面积,乘以向量(x,y,z)在垂直于平行四边形方向上的分量(不是(x,y,z)的长度)。

换句话说,我们找到的线性函数对于给定向量的作用,是将这个向量投影到垂直于v和w的直线上。然后将投影长度与v和w张成的平行四边形的面积相乘。但是,这和垂直于v和w长度为平行四边形面积向量与**(x,y,z)点乘是同一回事。更重要的是,如果你选择了合适的向量方向**,点积为正的情况就会与(x,y,z )、v和w满足右手定则的情况相吻合。
这意味着我们找到了一个向量p,使得p和某个向量(x,y,z)点乘时,所得结果等于一个3×3矩阵的行列式,这个矩阵的三列分别为(x,y,z)、v的坐标和w的坐标。

因此我们之前通过特殊符号技巧进行计算所得到的向量必然在几何上与这个向量对应。这就是叉积的计算过程与几何解释有关联的根本原因。

简单总结一下之前的内容,首先定义了一个三维空间到数轴的线性变换,并且它是根据向量v和w来定义的。然后通过两种不同的方式来考虑这个变换的对偶向量,即应用这个变换和与对偶向量点乘等价。一方面,计算方法引导你使用下面这种技巧,在矩阵第一列中插入i帽、j帽和k帽,然后计算行列式

但是从几何角度思考,我们可以推断出这个对偶向量必然与v和w垂直,并且其长度与这两个向量张成的平行四边形的面积相同

这两种方法给出了同一个变换的对偶向量,因此这两个向量必然相同

09:基变换

如果我在二维空间中有一个向量,我们就有一种用坐标表示它的标准方法,在这种情况下,这个向量的坐标为(3,2),也就意味着从它的起点到它的尖端,需要向右移动3个单位,并向上移动2个单位。

现在以更加线性代数的方法来描述坐标是将这些看作拉伸或压缩向量的标量。你将第一个坐标看作缩放i帽的标量i帽就是指向右方且长度为1的向量。第二个坐标看作缩放j帽的标量j帽就是指向正上方且长度为1的向量。这两个经过缩放的向量的和就是坐标所要描述的向量。你可以把这两个特殊的向量看作封装于我们这个坐标系中的隐含假设。第一个数字表示向右的运动,第二个数字表示向上的运动长度单位的确切大小。上面所有的事实都和i帽与j帽的选取有密切联系,因为这两个向量正是标量缩放的对象

发生在向量与一组数之间的任意一种转化,都被称为一个坐标系,而其中两个特殊的向量-i帽和j帽,被称为我们这个标准坐标系的基向量
那么使用不同基向量会怎么样?
比如你有一个朋友小詹,她使用着一组不同的基向量,称为b1和b2,她的第一个基向量b1指向右上方,她的第二个基向量b2指向左上方,现在再看看之前我所展示的向量,也就是根据i帽和j帽这组基向量,你我会用坐标(3,2)来描述的那个向量。小詹其实会用坐标(5/3,1/3)来描述它。

这意味着,根据她的两个基向量,获得那个向量的方法是b1乘以5/3b2乘以1/3,再将两个结果相加

总之,无论何时小詹用坐标来描述一个向量,她将第一个坐标乘以b1第二个坐标乘以b2,然后将结果相加。她最终得到的向量,会和你我认为的相同坐标的向量完全不同。
更确切地说一说这里的设定,对于她的第一个基向量b1,我们会用坐标(2,1)来描述,而对于她的第二个基向量b2,我们用(-1,1)来描述。

但是更重要的一点是,从她的角度来看,在她的坐标系中,这两个向量的坐标为**(1,0)(0,1)**。(因为)它们就是定义坐标(1,0)和(0,1)含义的向量。

所以,我们实际上说着不同的语言,虽然我们都在关注空间中的同一个向量,但是小詹用不同的语言和数字来描述它
在制作二维空间的动画时,我们通常使用方形网格。但是这个网格只是一个框架,提供了一种将坐标系可视化的途径,因此它依赖于我们对基的选择。空间本身并没有内蕴的网格。小詹可能会画出她自己的网格,它同样是一个人为的框架,也只不过是有助于理解她的坐标含义的可视化工具。但是,她的原点会和我们的原点重合,因为大家在坐标(0,0)的含义上达成了共识,它就是任何向量乘以0时你所得到的坐标

但是她的坐标轴的方向网格间距会有所不同,这依赖于她对基的选择

那么,我们如何在不同坐标系之间进行转化呢?比如说小詹用坐标(-1,2)描述一个向量,那么这个向量在我们的坐标系中如何描述?如何从她的语言转化到我们的语言?

她的坐标是说,这个向量是-1乘以b1加上2乘以b2。从我们的角度来看,b1的坐标为(2,1),b2的坐标为(-1,1),所以实际上,我们可以直接计算-1乘以b1加上2乘以b2,因为它们都是在我们的坐标系中表示的。在计算之后得到了一个坐标为(-4,1)的向量。我们就是这样来描述她所认为的向量(-1,2)的。

这里发生的过程,也就是用某个向量的特定坐标与她的基向量数乘,然后将结果相加,看上去有些眼熟,这就是矩阵向量乘法,这个矩阵的列代表的是用我们的语言表达的小詹的基向量
实际上,一旦你将矩阵向量乘法理解为应用一个特定的线性变换,就会有一种非常直观地方法来考虑这里发生的事。
一个矩阵的列为小詹的基向量,这个矩阵可以看作一个线性变换,它将我们的基向量i帽和j帽,也就是我们眼中的(1,0)和(0,1)变换为小詹的基向量,也就是她眼中的(1,0)和(0,1)。

我们来看看对我们所想的向量(-1,2)应用变换是什么意思?在线性变换之前,我们所想的向量是我们的基向量的一种特定线性组合,-1乘以i帽加上2乘以j帽,而线性变换的一个重要特性在于变换后的向量仍旧是相同的线性组合,不过使用的是新的基向量,-1乘以变换后的i帽,加上2乘以变换后的j帽。

因此这个矩阵所做的是将我们对小詹的向量的误解,变换为她提到的真正向量。
几何上说,这个矩阵将我们的网格变换为小詹的网格,但是从数值上说,这是用她的语言来描述转化为我们的语言来描述。

把它看作将我们对小詹的向量的误解,也就是在我们的坐标系中具有相同坐标的向量变换为她想真正表示的向量。那相反方向又如何呢?
还是这一节的例子,在我们的坐标系中,有一个坐标为(3,2)的向量,如何计算出它在小詹的坐标系中的坐标为(5/3,1/3)?


之前的基变换矩阵从小詹的语言转化到我们的语言。就此入手,取这个矩阵的逆

记住一点,一个变换的是一个新的变换,它将所选的变换逆向进行,实践当中,尤其是在超过二维的空间中研究时,你可以用计算机来计算矩阵的逆。在这里,对于以小詹的基向量作为列的基变换矩阵,通过计算得出,其逆矩阵的两列为(1/3,-1/3)和(1/3,2/3)。

如果想知道向量(3,2)在小詹的坐标下如何表示,我们用这个基变换矩阵的逆乘以向量(3,2),结果为(5/3,1/3)。


一个矩阵的代表的是小詹的基向量,却是用我们的坐标来描述,对于一个向量,这个矩阵将她的语言转化为我们的语言描述

逆矩阵则与之相反。

不过,向量并不是唯一用坐标表示的东西。重要的是,接下来你需要熟悉矩阵代表线性变换以及矩阵乘积对应于线性复合变换这两点。
考虑某个线性变换,譬如逆时针旋转90°,用矩阵代表它的时候,我们是在跟踪i帽和j帽的去向,i帽在变换后处于坐标(0,1),而j帽在变换后处于坐标(-1,0),这些坐标也就成为了矩阵的列,但是这种表示与我们对基向量的选择密切相关,因为我们跟踪的是i帽和j帽,并且是在我们自己的坐标系中记录它们的去向。

小詹会如何描述同样的空间90°旋转呢?
你可能会尝试只将旋转矩阵的列转化为用小詹的语言描述,但是并不尽然。这些列代表的是i帽和j帽的去向,但是小詹想要的矩阵需要代表她的基向量的去向,并且是用她的语言来描述。

这个过程通常是这样的,从小詹的语言描述任一向量出发,首先,我们不用她的语言描述这一过程,而是用基变换矩阵转化为用我们的语言描述,这个矩阵代表的是用我们的语言描述的她的基向量。然后,将所得结果左乘线性变换矩阵,此时给出的是变换后的向量,但仍然是用我们的语言来描述的,所以最后一步,像之前一样将所得结果左乘基变换矩阵的逆,从而得到变换后的向量,然而是用小詹的语言来描述的

因为我们能够对小詹语言描述的任一向量做同样的事。首先,应用基变换,然后应用线性变换,最后应用基变换的逆,这三个矩阵的复合给出的就是用小詹语言描述的线性变换矩阵。它接收用小詹语言描述的向量,并输出用小詹语言描述的变换后的向量。
对于目前这个特定的例子而言,小詹的基向量用我们的语言来描述,是(2,1)和(-1,1),线性变换是90°旋转,如果你去计算的话,这三个矩阵的乘积的列为(1/3,5/3)和(-2/3,-1/3)。

所以,如果小詹用这个矩阵与她的坐标系中的一个向量相乘,结果就是在她的坐标系中描述的该向量旋转90°的结果

总的来说,每当你看到这样一个表达式:A逆乘以M乘以A,这就暗示着一种数学上的转移作用,中间的矩阵代表一种你所见的变换,而外侧两个矩阵代表着转移作用,也就是视角上的转化。矩阵乘积仍然代表着同一个变换,只不过是从其他人的角度来看的

10:特征向量与特征值

“特征向量与特征值”是许多学生认为非常不直观的一个话题,“为什么要这么做”以及“它究竟意味着什么”之类的问题通常都淹没在计算的海洋中无人问津。原因并不在于特征的东西特别复杂或是缺乏说明,实际上,相对而言它更加直接,而且我认为大部分的书也提供了良好的解释。问题在于,只有对之前讲的内容有充分的几何直观,你才能真正理解它。这里最重要的部分是,你需要了解如何将矩阵看作线性变换,但你也需要熟悉其他的内容,例如行列式线性方程组基变换。通常而言,对特征的东西感到疑惑,更多的是因为以上内容的薄弱基础,而不在于特征向量与特征值本身。
首先,考虑二维空间中的某个线性变换,比如现在这个例子,将它的基向量变换到坐标(3,0),j帽变换到坐标(1,2),所以如果用矩阵来表达,它的列就是(3,0)和(1,2)。我们关注它对一个特定向量的作用,并且考虑这个向量张成的空间,也就是通过原点和向量尖端的直线

大部分向量在变换中都离开了其张成的空间,我的意思是,如果向量正好落在这条直线上,感觉更像是巧合。不过,某些特殊向量的确留在它们张成的空间里,意味着矩阵对它的作用仅仅是拉伸或者压缩而已,如同一个标量

在这个例子中,基向量i帽就是这样一个特殊向量,i帽张成的空间是x轴,并且从矩阵第一列可以看出,i帽变成了原来的3倍,仍然留在x轴上。此外,因为线性变换的性质,x轴上的任何其他向量都只是被拉伸为原来的3倍,因此也就留在它们张成的空间里。有一个略显隐蔽的向量**(-1,1),它在变换中也留在自己张成的空间里**,最终被拉伸为原来的两倍。同上,线性性质暗示着一点,处在它所张成的对角线上的其他任何一个向量,也仅仅被拉伸为原来的2倍

对这个变换而言,以上就是所有拥有这一特殊性质(留在它们张成的空间里)的向量。x轴上的向量被拉伸为原来的3倍,而这条对角线上的向量被拉伸为原来的2倍。任何其他向量在变换中都有或多或少的旋转,从而离开它张成的直线。


而这些特殊向量就被称为变换的“特征向量”,每一个特征向量都有一个所属的值,被称为“特征值”,即衡量特征向量在变换中拉伸或压缩比例的因子

当然,拉伸和压缩或者特征值恰好为正,并没有什么特殊的地方,当然特征值也可以为负。换个例子,你可以有一个属于特征值-1/2的特征向量,意味着这个向量反向,并且被压缩为原来的1/2。但是重点在于,停留在它张成的直线上,并未发生旋转
若想知道为什么它有用途并且值得细究,那就考虑一个三维空间中的旋转。如果你能找到这个旋转的特征向量,也就是留在它张成的空间里的向量,那么你找到的就是旋转轴。而且把一个三维旋转看成绕某个轴旋转一定角度,要比考虑相应的3×3矩阵直观得多。顺便一提,在这种情况下,相应的特征值必为1,因为旋转并不缩放任何一个向量。

这是线性代数中的一种常见规律,对于任一矩阵描述的线性变换,你可以通过将矩阵的列看作变换后的基向量来理解它。但是,理解线性变换作用的关键往往较少依赖于你的特定坐标系。更好的方法是求出它的特征向量特征值

用符号表示的话,以下就是特征向量的概念。A是代表某个变换的矩阵v 是特征向量λ是一个数,也就是对应的特征值

这个等式是说,矩阵向量乘积,也就是A乘以v等于特征向量乘以某个数λ

因此求解矩阵A的特征向量和特征值,实际上就是求解使得这个等式成立的向量v和数λ。乍一看,求解这个等式有些棘手,因为等号左侧代表的是矩阵向量乘积,但是右侧代表的是向量数乘。所以我们首先将等号右侧重写为某个矩阵向量乘积。其中,矩阵的作用效果是将任一向量乘以λ。这个矩阵的列代表着变换后的基向量,而每个基向量仅仅与λ相乘。所以这个矩阵的对角元均为λ其余位置都是0

通常的书写方法是提出因子λ,写作λ乘以I,这里的I就是单位矩阵对角元均为1

现在两侧都是矩阵向量乘积的形式,我们就能将等号右侧的东西移到左侧,然后提出因子v


现在我们得到的是一个新的矩阵-A减去λ乘以单位阵

我们就寻找一个向量v,使得这个新矩阵与v相乘结果为零向量
如果v本身就是零向量的话,这个等式恒成立,但是这没什么意思,我们需要一个非零解v。根据之前的知识可知,当且仅当矩阵代表的变换将空间压缩到更低的维度上时,才会存在一个非零向量,使得矩阵和它的乘积为零向量

举个例子,假设你有一个矩阵,列为(2,1)和(2,3),考虑每个对角元都减去某个变量λ,现在想象一下,逐渐调整λ的值,当λ的值改变时,矩阵本身发生改变,因此行列式也在改变。

目标在于找到一个λ使得这个行列式为零,也就是说调整后的变换将空间压缩到一个更低的维度上。在这个例子中,λ等于1时恰到好处,当然,如果我选择其他的矩阵,特征值不一定是1,λ取其他值时才能使行列式为零。

这个过程很有趣,当λ等于1时,A减去λ乘以单位阵将空间压缩到一条直线上,这意味着存在一个非零向量v,使得A减去λ乘以单位阵的结果乘以v等于零向量

记住一点,我们关注它,是因为它意味着A乘以v等于λ乘以v。也就是说向量v是A的一个特征向量,在变换中停留在它张成的空间里。

在这个例子中,v对应的特征值是1,所以它实际上保持不变。
暂停思考一下这个过程有很大帮助。

如果你没有充分理解行列式,以及它为什么与线性方程组存在非零解有所联系,这个等式会让你感到出乎意料。

为了了解这个过程,我们重温一下视频开头的例子,这个矩阵的列是(3,0)和(1,2),为了求解特征值λ,将矩阵的对角元减去λ,然后计算行列式,等于0,略去,这样我们就得到了一个关于λ的二次多项式(3-λ)(2-λ),因为只有这个行列式为零时,λ才会是特征值,你就能推断出,所有可能的特征值是λ等于2和λ等于3

为了求出某个特征值的特征向量,比如λ等于2,将λ的值代入矩阵当中,然后解出在这个对角线变化的矩阵变换后成为零的向量

如果进行计算,如同求解其他线性方程组一样,你会发现所有的解全部落在由向量(-1,1)张成的对角线上。与之对应的就是原始的矩阵[(3,0),(1,2)]将这些向量拉伸为原来的2倍

不过,二维线性变换不应有特征向量,举个例子,考虑这样一个逆时针90度的旋转,它并没有特征向量,因为每一个向量都发生了旋转并离开了其张成的空间。如果你真的尝试去计算它的特征值,注意一下会发生什么,矩阵的列为(0,1)和(-1,0),对角元减去λ后,然后寻找行列式为0的情形。在这个例子里,你会得到多项式λ^2+1。这个多项式的根只能是虚数i与-i,没有实数解表明它没有特征向量。

另一个很有意思并且值得思考的例子是剪切变换,它保持i帽不变,将j帽向右移动一个单位,所以矩阵的列为(1,0)和(1,1)。所有x轴上的向量都是属于特征值1的特征向量,因为它们都保持不变。实际上,这些就是所有的特征向量。

当你将对角元减去λ,然后计算行列式,你得到的是(1-λ)^2,这个多项式唯一的根是λ等于1。

这与几何上得到的“所有特征向量均属于特征值1”的结果一致
注意,可能会出现只有一个特征值,但是特征向量不止在一条直线上的情况。
一个简单的例子是将所有向量变为两倍的矩阵唯一的特征值是2,但是平面内每一个向量都是属于这个特征值的特征向量

如果我们的基向量恰好是特征向量,来看看会发生什么?
比如说,可能i帽变为原来的**(-1)倍**,j帽变为原来的2倍,将它们的新坐标作为矩阵的列,注意,它们的倍数**-1和2**,也就是i帽和j帽所属的特征值,位于矩阵的对角线上,而其他元素均为0。

除了对角元以外其他元素均为0的矩阵称为对角矩阵,这非常合理。解读它的方法是,所有基向量都是特征向量,矩阵的对角元是它们所属的特征值。

对角矩阵在很多方面都更容易处理,其中一个重要的方面是,矩阵与自己多次相乘的结果更容易计算。因为对角矩阵仅仅让基向量与某个特征值相乘,所以多次应用矩阵乘法,比如100次,也只是将每个基向量与对应特征值的100次幂相乘。

相比之下,尝试计算一个非对角矩阵的100次幂,就是一场噩梦 。
当然对于基向量同时也是特征向量的情况,可能不像它那么幸运,但是如果你的变换有许多特征向量,多到你能选出一个张成空间的集合,那么你就能变换你的坐标系使得这些特征向量就是基向量
上一节我们已经介绍过了基变换,简单回顾,说说如何在另一个坐标系中表达当前坐标系所描述的变换
取出你想用做新基的向量的坐标,这里指的是两个特征向量。然后将坐标作为一个矩阵的列,这个矩阵就是基变换矩阵

右侧写下基变换矩阵,在左侧写下基变换矩阵的逆当你将原始的变换****夹在两个矩阵中间时,所得的矩阵代表的是同一个变换**,不过是从新基向量所构成的坐标系的角度来看的。

特征向量来完成这件事的意义在于这个新矩阵必然是对角的,并且对角元对应的特征值

这是因为,它所处的坐标系的基向量在变换中只进行了缩放一组基向量(同样是特征值)构成的集合被称为一组“特征基”,这也是非常合理的。
所以,如果你要计算这个矩阵的100次幂,一种更容易的做法是先变换到特征基,在那个坐标系中计算100次幂,然后再转换回标准坐标系

不是所有的矩阵都能对角化,比如说剪切变换,它的特征向量不够多,不能张成全空间,但如果你能找到一组特征基,矩阵运算就会变得非常轻松。

11:抽象向量空间

我们来重新探讨一下这个系列第一节中一个看似很简单的问题:什么是向量?
比如说一个二维向量,从根本上说,它是平面内的一个箭头?为了方便起见,我们用坐标来描述它。或者说,它是一个实数对?而我们只是将它形象理解为平面内的一个箭头,又或者,这两种观点只是更深层次的东西的体现

一方面,将向量解释为一组数字给人感觉清晰明了,另一方面,四维或者一百维向量看上去就像是可以操作的真实具体的概念

与之相反,四维空间之类的东西只是一个模糊的几何概念,不用手比划一下是很难解释清楚的。但是另一方面,对于那些在实践中运用线性代数的人,尤其是熟悉基变换的人来说,他们通常所处理的空间独立于坐标存在,而且坐标描述实际上有些随意,因为它依赖于你所选的基向量

线性代数中的核心话题,如行列式特征向量等,它们似乎不受所选坐标系影响行列式告诉你的是一个变换对面积的缩放比例特征向量则是在变换中留在它所张成的空间中的向量。这二者都是暗含于空间中的性质,你可以自由选取坐标系,这并不会改变它们最根本的值
但是,如果向量根本上并不是由一组实数构成,它们的本质其实更具空间性,这不禁让人产生疑问——数学家所说的“空间”或“空间性”是什么意思?
为了进一步说明,在这一节中,我们讨论一种既不是一个箭头也不是一组数字,但是同样具有向量特征的东西,比如函数。从某种意义上说,函数实际上只是另一种向量
类比两个向量相加的方法,我们也可以将两个函数f和g相加,从而获得一个新函数(f+g),这种做法是合理的。

这个新函数在任意一点处的值,比如说在-4处的值,就是f和g在这一点处(即-4)的值的和。更一般的说,这个和函数任意一点x处的值(f+g)(x)等于f(x)加上g(x)

这和向量对应坐标相加非常相似,只不过在某种程度上说,它有无穷多个坐标要相加。
类似地,函数与一个实数相乘也有合理的解释。只是把输出的值与那个数相乘,这再次和向量对应坐标数乘类似。

因为对向量所能进行的操作不过相加和数乘两种,所以,最初以空间中的箭头为背景考虑的线性代数的合理概念和解决问题的手段应该能够原封不动地被我们取出来然后应用于函数
举个例子,函数的线性变换有一个完全合理的解释,这个变换接收一个函数并把它变成另一个函数

从微积分中可以找到一个常见的例子——导数,它将一个函数变换到另一个函数。关于这点,有时你听到的是“算子”而不是“变换”,不过它们的意思一样。
我们很自然地想到“一个函数变换是线性的”是什么意思?
线性的严格定义是相对抽象而符号繁重的。但是抽象带来的好处是我们能得到一般性的结论,它不仅仅适用于箭头,也适用于函数
满足以下两条性质的变换是线性的,这两条性质通常被称为“可加性”和“成比例”。可加性意味着如果你把两个向量v和w相加,然后对它们的和应用变换,得到的结果和将变换后的v 与w相加一致。(即先相加再变换与先变换再相加结果一致)。成比例是说,将一个向量v与某个数相乘,然后应用变换,得到的结果和变换后的v与这个数相乘一致。(即先数乘再变换与先变换再数乘结果一致)。经常听到的一种描述方法是“线性变换保持向量加法运算和数乘运算”。

前几节中讨论过的网格线保持平衡且等距分布的概念只是这两条性质在二维空间这一特殊情况下的体现
这两条性质的一个重要推论是:一个线性变换可以通过它对基向量的作用来完全描述,这使得矩阵向量乘法成为可能。因为我任一向量都能表达为基向量以某种方式进行线性组合。所以求一个向量变换后的结果实际上就是求出变换后的基向量以相同方式进行线性组合的结果,这一点对函数同样适用。

比如一个事实,求导具有可加性成比例性。如果你把两个函数相加然后求导数等同于先求两个函数的导数然后把结果相加(即先相加再求导与先求导再相加一致)。

类似地,如果你将函数与数相乘,然后求导数等同于先求导数,然后把结果与数相乘(即先数乘再求导与先求导再数乘结果一致)。

为了真正掌握这里的类比关系,我么来看看矩阵求导是什么样子的,可能有些棘手,因为函数空间倾向于有无穷维。
我们现在把目光聚集在多项式空间上,如图中多项式,虽然这个空间中的每一个多项式都只有有限项,但是整个空间应该包含任意高次的多项式

首先我们要做的就是给这个空间赋予坐标的含义,这需要选取一个基,因为多项式已经是数乘x的不同次幂再做加和的形式,所以我们很自然地就取x的不同次幂作为基函数,也就是,第一个基函数是常函数,b0(x)=1,第二个基函数是b1(x)=x,然后是b2(x)=x^2,以此类推。

基函数在这里起到的作用和i,帽、j帽和k帽在向量的世界中起到的作用类似。因为多项式的次数可以任意高,所以这个基函数集也是无穷大的。

不过没关系,这只是说当我们把多项式当向量来处理时,它们会有无穷多个坐标。比如这个多项式,用坐标来描述的话就是5、3、1,然后跟上无穷多个0。

你可以理解为:5乘以第一个基函数加上3乘以第二个基函数加上1乘以第三个基函数,在此之后,其他基函数不再出现。

再看一个多项式,它的坐标就是0、0、-5、0、0、0、0、4,然后加上一串无限长的0 。总的来说,因为每一个多项式都只有有限项,所以它的坐标就是有限长的一串数,再跟上无限长的一串零

在这个坐标系中,求导是用一个无限阶矩阵描述的,其中绝大部分是零,不过次对角线上按序排列着正整数

看一看它的作用过程,取出这个多项式的坐标,然后把它放在矩阵的右侧,对结果的第一个坐标有贡献的只有1乘以4这一项,也就是说结果的常数项是4,这对应于4x的导数是常数4,对矩阵向量乘积的第二个坐标有贡献的只有2乘以5这一项,也就是说结果中x前的系数是10,这对应于5x2的导数是10x**。与之类似,矩阵向量乘积的第三个坐标就是**3乘以1**,这对应于**x3的导数是3x的平方。在此之后的坐标都是零。

求导满足线性性质使这一过程成为可能。你也可以用这种方法来构建这个矩阵:求每一个基函数的导数,然后把结果放在对应列


乍一看,矩阵向量乘法求导像是毫不相干的,但它们两个其实是一家人

实际上,大部分关于向量的概念,比如点积或特征向量,在函数世界中都有直接的类比,不过有时候他么的名称不同,比如说“内积”或“特征函数”。

回到“向量是什么”这个问题,数学中有很多类似向量的事物,只要你处理的对象集具有合理的数乘和相加的概念,不管是空间中的箭头、一组数、函数的集合还是你定义的其他奇怪东西的集合,线性代数中所有关于向量、线性变换和其他的概念都应该适用于它

这些类似向量的事物,比如箭头、一组数、函数等,它们构成的集合被称为“向量空间”,所需要做的是建立一系列向量加法和数乘必须遵守的规则

这些规则被称为“公理”,在线性代数的线代理论中,如果要让已经建立好的理论和概念适用于一个向量空间,那么它必须满足八条公理。它实际上就是一个清单,以保证向量加法和数乘的概念确实是你所希望的那样。这些公理并非基础的自然法,它们是一个媒介,一边连接着发现这些结论的数学家,一边连接着想要把这些结论应用于新的向量空间的人。加入有人定义了一个奇怪的向量空间,这些公理就是一个清单,你在其中应用线性代数的结论之前,你需要验证他的这些定义是否满足要求。只要这些定义满足这些公理,他们就能顺利地应用你的结论。因此,你往往会把你的所有结论抽象地表述出来,也就是说仅仅根据这些公理表述,而不是集中于某一种特定的向量上,像是空间中的箭头或者函数等。简言之,这就是为什么每一本教科书都会根据可加性成比例定义线性变换,而不是用网格线保持平行且等距分布来定义,即使后者更加直观。在现代理论中,向量的形式并不重要,箭头、一组数、函数、π生物等等都无所谓,它可以是任何东西。只要向量相加和数乘的概念遵守以上规则即可。

这就像是在问“3”究竟是什么一样,遇到具体情况时,它就代表着三个东西的集合,但是在数学里,它被看作所有三个东西的抽象集合,从而让你用一个概念就能推出所有三个东西的集合,向量也是如此,它有很多种体现,但是数学把它抽象成“向量空间”这样一个无形的概念
在这个系列中,我们倾向于从一个具体形象的背景出发来梳理向量,比如二维空间中以以原点为起点的箭头,但是当你学到了更多线性代数知识,知道了这些概念有更广泛的应用,这就是教科书中和课堂上更倾向于抽象表述的根本原因:普适的代价是抽象。以上就是“线性代数的本质”系列的最后一部分内容。

12:克莱姆法则,几何解释

前面的章节,我们曾讨论过线性方程组,我们并没有提及它们实际的解法,虽然这些单纯的数字计算完全可以留给计算机完成,但是深入了解这些计算方法是一个很好的途径来检验你是否透彻理解了具体的细节,因为这连接着理论和实际。这节要说的是其中一个计算法则背后的几何原理——克莱姆法则。这一节的背景知识有行列式、点积、线性方程组等。但是首先我要说明克莱姆法则并不是计算线性方程组最好的方法,比如高斯消元法,会算的更快。那么为什么要学克莱姆法则呢?你不妨当作是扩展视野,它会帮你加深对线性方程组的理解。当你不断思考这些概念时,会巩固你的线性代数知识。比如行列式线性方程组,你会发现它们非常相关
那么我们从一些线性方程组开始,这里有x和y两个未知数和两个方程。原则上,只要未知数和方程的个数一样,我们所说的都适用。

但为了简化理解,这个小例子会更容易思考。就像之前一个视频列说的那样,可以把这个方程组看作对[x;y]向量一个已知的矩阵变换,而且变换后的结果已知,在这里是[-4;-2].

注意,矩阵的列向量反映了矩阵是如何变换的分别告诉你基向量变换后的位置。所以问题变成了哪个输入向量[x;y]在变换后会成为[-4;-2],一种思路是我们已知的向量是矩阵列向量的一个线性组合x乘以基向量i加上y乘以基向量j,但我们希望能准确地计算出x与y的值,注意,这里的结果取决于矩阵变换是否降维,也就是说矩阵的行列式为零。在这种情况下,要么任何输入向量都不会变换到给定的输出向量,要么有无数个向量都会变换到给定的向量。

这里我们将只讨论非零行列式的情况,意味着线性变换后维数依然相同每一个输入向量有且仅有一个输出向量,且每一个输出向量也仅对应一个输入向量
对大多数线性变换来说,点积会随着变换而改变,比如说,有两个向量大致指向同一个方向点积为正,在变换后被拉远,它们的点积就变成负数了。

类似地,就算两向量相互垂直点积为零,比如两个基向量,我们也无法保证它们在变换后依然相互垂直,点积依然为零
在这些例子中,点积并不是一定是不变的,而可能会变大,因为大部分向量被拉伸。事实上,那些不改变点积的矩阵变换,有一个特殊的名字——正交变换。它们使基向量在变换后依然保持单位长度且相互垂直,可以想成是旋转矩阵,相当于作刚体运动,没有拉伸,压缩变形。用正交矩阵来求解线性系统非常简单,因为点积保持不变,所以已知的输出向量和矩阵的列向量的点积分别等同于未知输入向量和各个基向量的点积,也就是输入向量的每一个坐标。因此,在特殊情况下,x等于第一列向量与已知向量的点积y等于第二列向量与已知向量的点积。虽然这个思路对大多数线性方程组都不成立,但它给了我们一个反向去思考有没有另一种对输入向量坐标值的几何解释能在矩阵变换后保持不变呢
如果你非常熟悉行列式,你可能会想到一个很棒的想法,这个由第一个基向量i和未知的输入向量[x;y]组成的平行四边形面积是长度为1的底乘上与底边垂直的高,也就是输入向量的y坐标值。因此,我们可以拐一个弯,用这个平行四边形的面积来表示y值

更准确地来说,你应该考虑这个平行四边形的有向面积,如果向量的y坐标为负,则四边形面积也为负,前提是你把基向量i放在第一位来定义平行四边形
同样,观察由未知的输入向量和第二基向量j组成的平行四边形它的面积等于向量的x坐标

举一反三,我们来看看维的情况,考虑向量与另外两个基向量i和j所组成的平行六面体底面是由基向量i和j组成的正方形面积是1,所以它的体积值等同于它的高,也就是我们这个向量的z坐标

同样的,用这个奇怪的方法来描述向量在某一个轴上的坐标值,可以先考虑向量和除这个轴之外的两个基向量组成的平行六面体,然后其体积就是对应的坐标值。另外,我们可以讨论平行六面体的有向体积,就是之前行列式章节中提到的右手法则,这时,列出这三个向量的顺序就很重要了。这样一来,坐标的正负性也是有意义的。
为什么要把坐标值和面积或体积联系起来呢?因为当你做矩阵变换后,平行四边形的面积不一定保持不变,可能成比例增大或减小,但是注意!这正是行列式的关键,所有面积伸缩的比例都是一样的,都等于给定的变换的行列式
比如考虑一个新的平行四边形,第一条边是变换后的第一基向量(也就是矩阵的第一列),**第二条边是变换后的[x,y]**那它的面积是多大呢?

其实这就是我们之前提及的平行四边形的变换,而变换前面积是未知输入向量的y坐标值,所以变换后的面积等于矩阵行列式乘以y值,所以可以用输出的平行四边形面积除以矩阵的行列式计算出y

那么,怎么计算出面积呢?既然我们已知最终变换后的向量,毕竟这是一个线性方程组,那么可以构造一个新矩阵第一列和我们原先的矩阵相同,而第二列是输出向量,然后取新矩阵的行列式,所以我们只需使用到变换后的两个向量,也就是矩阵的列向量们和已知输出向量,就能计算得出未知输入量的y值,方程已经解好一半了。我们可以用同样的方法得出x值。

回头来看,我们之前定义的平行四边形(有向)面积为输入向量的x值,由未知向量和j基向量构成,而变换后的它由输出向量和矩阵的第二列组成

面积增大的比例是矩阵的行列式。所以输入向量的x 值新的面积除以变换矩阵的行列式,我们如法炮制,可以创造一个新矩阵来计算变换后的平行四边形的面积。这个新矩阵第一列为输出向量第二列和变换矩阵相同。同样,仅使用到输出部分的数值,这些我们在最初线性方程组里已知的数值,就能解出x值。这个线性方程组的解法,被称为克莱姆法则

现在我们代入具体的数值验证我们的理解,分子上的矩阵行列式为4+2得6,分母的行列式为2,则x值应当为3。而回头看我们的输入向量,x轴确实为3

同样的,克莱姆法则告诉我们y值应当为4/2得2,确实是最初的输入向量的y值

三维或高维的情况是相似的,例如,我们已知这个三阶变换矩阵和由线性系统等式的右边给出的输出向量。我们想知道什么样的输入才能得到这样的输出值。

如果你把输入向量的z值看作平行六面体的体积,它由基向量i、j和未知输入向量构成,那转换后它的体积会发生什么变化呢?你如何来计算新的体积呢?自己思考并找到每一个坐标投影值对应的表达式。

线性代数的本质(3Blue1Brown线代笔记)相关推荐

  1. 《线性代数的本质》学习笔记

    诸神缄默不语-个人CSDN博文目录 VX号"PolarisRisingWar"可直接搜索添加作者好友讨论. 本文是3B1B视频课程<线性代数的本质>全内容笔记. 更新日 ...

  2. 3blue1brown线性代数的本质笔记

    3blue1brown线性代数的本质视频 目录 1.向量究竟是什么? 2.线性组合.张成空间与基 3.矩阵与线性变换 4.矩阵乘法与线性变换复合 5.行列式 6.逆矩阵.列空间和零空间 7.点积与对偶 ...

  3. 3Blue1Brown【线性代数的本质】— 个人笔记

    [线性代数的本质]- 个人笔记 00 序言 01 向量 02 张成的空间与基 03 矩阵与线性变换 04 矩阵乘法与线性变换的联系 05 行列式 06 逆矩阵.列空间.秩与零空间 补充:非方阵 不同维 ...

  4. 线性代数的本质--笔记整理

    线性代数的本质--笔记 00 序言 尽管一批教授和教科书编者用关于矩阵的荒唐至极的计算内容掩盖了线性代数的简明性,但是鲜有与之相较更为初等的理论.            一一让.迪厄多内 线性代数不仅 ...

  5. 线性代数的本质与几何意义 02. 线性组合、张成的空间、基(3blue1brown 咪博士 图文注解版)...

    1. 线性组合 接下来我们要换一个角度来看向量.以二维平面直角坐标系为例,i, j 分别是沿 2 个坐标轴方向的单位向量.那么坐标平面上的其他向量,例如 [ 3  -2 ] [3−与 i, j 是什么 ...

  6. 线性代数的本质学习笔记

    线性代数的本质 文章目录 线性代数的本质 1.向量究竟是什么 2.线性组合.张成的空间.基 3.矩阵与线性变换 4.矩阵乘法与线性变换复合 5.三维空间中的线性变换 6.行列式 7.逆矩阵.列空间与零 ...

  7. 【线性代数的本质|笔记】线性组合、张成的空间、基

    向量组&线性组合&线性相关性&向量空间 讲到向量组的时候往往要等价类比向量空间的相关概念与描述,这一块的知识串联得特别紧密,遂先整理如下. <线性代数的本质>视频中 ...

  8. 【线性代数的本质|笔记】从线性变换的角度看向量的点积和叉积

    点积与叉积 引入点积的标准方法 定义:对于给定的两个同维度的向量求解点积,就是将向量相对应的维度的分量相乘再相加. 几何意义:两个向量w和v的点积,可以看成是向量w在v方向的投影和v长度的乘积:或者是 ...

  9. 00. 线性代数的本质

    写在前面 此分类为b站视频<线性代数的本质>系列的个人笔记,也可以供大家参考.视频很通俗,但是需要高中以上水平,最好学过大学线性代数,以便用一个"新的"角度看待线代,当 ...

最新文章

  1. 如何轻松搞定CRUD的创建人、修改人、时间等字段的赋值
  2. 竞价推广账户创意撰写的技巧之核心思路
  3. 笔记-Attention机制
  4. c语言兔子序列答案,C语言经典题目——兔子生兔子(示例代码)
  5. 产品经理入门知识梳理
  6. 柯尼卡美能达一体机 扫描文件,不是全彩的,就首页和尾页是彩色,中间黑白
  7. Android应用市场转移【2021-03-22】
  8. 学习编程,既要仰望星空,又要脚踏实地
  9. Android kotlin 系列讲解(基础篇) Any和Any?
  10. 2008计算机多用户远程,Win2008 R2实现多用户远程连接设置方法
  11. 深入浅出Mybatis-分页
  12. 最新kali之cadaver
  13. 图片格式导致的报错:Attribute Error: ‘NoneType‘ object has no attribute ‘astype‘ 解决方案
  14. 来看看生词:CVBS、S-Video、YPbPr、模拟RGB、DVI和HDMI
  15. 2014年计算机专业硕士研究生好就业吗?一位计算机专业硕士毕业生的求职经历和感想
  16. cornerstone 汉化_CORNERSTONE | 好用到哭的项目管理工具
  17. SQL Server 开发指南
  18. java按键程序_一个使用JAVA编写的类似按键精灵的程序,支持脚本文件编写(含源代码)...
  19. cms网站模板php修改,帝国CMS后台模板开发修改
  20. ttf字体库裁剪工具制作与使用 sfntly,FontSubsetGUI,FontPruner

热门文章

  1. NanoPi NEO2使用
  2. 打造前端 Deepin Linux 工作环境——安装配置 atom 编辑器
  3. 一张纸还能上天能救命?理工男宁愿放弃NASA百万年薪,也要回家折纸?!
  4. CleanMyMacX.dmg4.11版最新Mac电脑智能清理软件
  5. Graphviz绘制模型树1——软件配置与XGBoost树的绘制
  6. 微商靠什么引流?微商有哪些平台可以精准引流?
  7. Redis学习 master/slave(主从)、sentinel(哨兵)、Cluster简单总结
  8. 黑马程序员——面向对象(1)
  9. Debian 9.x 系统安装 Proxmox VE (笔记)
  10. 热死了?总决赛从未出现1-3逆转 马刺已摸到总冠军