目录
线性代数可以说是学习计算机不可或缺的基础知识,计算机中很多复杂的运算都要依靠线性代数中的有关知识,下面是我看完学习视频后记录的有关线性代数中的一些知识点的笔记。
向量:
向量定义:向量可以是空间中的一个可动的有向线段,也可以是坐标平面中固定在原点的一个线段,它还可以是一个坐标(x,y)。其中这种坐标表示形式也可以变化为一个计算机中的表示形式。其中我们对于向量的运算常见的是数乘和向量的加法:
数乘就是:将数字与向量中每一个数字相乘;加法就是向量中的每一项对应相加
数乘:2 x = 加法: + =
向量线性组合:向量数乘的和称为向量的线性组合:aV + bU+...
对于二维平面上的向量,如果两向量V、U非零不共线,那么它们的线性组合可以表示空间中任意一个向量。
要是两个向量共线,那么这两个向量只能表示一条线上的所有向量;要是是零向量,那就只能表示原点。
向量张成空间:对于向量线性组合形成的新向量所能代表的区域称为向量的张成空间。例如平面内不共线的两个非零向量的张成空间是整个二维平面。同理,三个不共面的非零三维向量能代表整个三维平面,而向量所能张成的所有空间称为列空间。
向量线性相关:向量的线性相关可以有两种理解的方式,一种就是线性组合的理解,即一个向量可以由另外两个向量线性组合而来,那么这个向量就是与之前的向量线性相关;而第二个理解就是通过张成的空间来理解:要是一个向量无法让使之前向量的张成空间发生变化,那么这个向量与之前的向量是线性相关的。
线性变化与矩阵引入:
线性变换就是将空间变化后直线依旧是直线,不能有弯曲,并且原点保持不动。其中如果我们以二维平面为例,设想平面上充满网格线,线性变化就是变化后网格线依旧平行且等距。并且原来线性相关的向量在变化后依然线性相关。
在引入矩阵之前,我们来看看一个线性变化:
考虑平面上一点A(2,1) ,它由基向量 i 和 j 线性组合而来,A = 2i + j。然后我们将平面XoY线性变化为平面X'oY'。此时要是我们想求得线性变化后的A‘的坐标,我们可以通过基向量来求,也就是说,只要我们知道基向量的变化规律,我们就可以求出任何二维平面上的向量的变化结果。
回到刚才的A向量,我们要想求A’,可以先得出变化前的基向量和变化后的基向量的关系,再通过线性组合求出结果。设变化前后的 i 和 j 坐标如下:
i(1,0) --> i‘(sqrt(2)/2, sqrt(2)/2)
j(0,1) --> j’(-sqrt(2)/2,sqrt(2)/2)
那么我们可以得出变化后的A'为:
2 x + =
其中我们为了表达方便,引入矩阵的概念,将变化的基向量集记录为矩阵,其中第一列表示 i 向量线性转换后的结果,第二列表示 j 向量线性转换后的结果,它们组成一个2x2的矩阵。矩阵可以记录空间变化的特征,通过每一列的坐标数据显示,并且将其与需要求的向量相乘,就可以得到用数据描述的空间变化特征。并且我们线性变换的式子还可以写为:,它也等价于之前的写法,它代表将一种矩阵里的线性变化特征带给所求向量(2,1)。
矩阵乘法运算:
由上面引入矩阵的例子可知,矩阵记录着一种基向量的线性变化特征,它可以通过与一个向量乘积来将这种线性变化带给这个向量。现在我们来思考一个问题:如果我们进行两次线性运算呢?例如我们进行先将平面逆时针旋转90度再剪切这两个过程。
-----> ----->
我们不难看出,变化后的基向量集矩阵为但是我们也可以换个角度,这个线性变化的变化经历了两个过程,那对于原来的某个向量,它也经历了两个过程。现在我们着重来看看基向量的变化过程:
(1)旋转:(2)剪切:
则给某个向量带来的线性变化总特征是:()。那么我们可以推测出:
= () 即: =
它可以理解为第一次旋转后的两个基向量分别与第二次的矩阵变化后的基向量的矩阵的乘积:
向量i : 和 向量j: 就等于。所以我们不难看出,矩阵乘法可以从空间上理解为是多个线性特征的变化。相似的计算过程也可以推广的三维甚至多维空间中。
行列式:
在引入行列式之前,让我们先来看看二维空间中一个线性变换的过程:
------>
很明显我们可以看出变化后的基向量的矩阵是,现在我们观察一个东西,那就是变化前的这块方形的面积和变化后的这块方形的面积。我们可以看出,i向量和j向量分别拉伸为原来的3、2倍,那么这个原来的正方形就被拉伸为一个矩形。它的面积变为6,也就是原来的6倍。那么我们就称这个面积变化的倍数就是行列式,记为det()。
二维的行列式计算公式: = ad - bc
下面我们来看看这个二维行列式的计算公式的由来:首先我们令b、c中其中一个为0或者全为0,我们可以得出线性变化后行列式始终等于ad。因为ad就是分别代表原来这个正方形区域的i向量和j向量分别沿着坐标轴x和y伸缩的倍数。当bc都为0时就等价于上面的刚开始的例子了,就是一个规矩的拉伸。而当b或c中有一个不为0时,图型就等价于下面这样:
此时我们仍可以得出行列式依旧为ad。并且我们可以直观地看出,b和c对于图像变化的贡献就是将这个图像沿着对角线的方向进行伸缩。而当更一般的情况就是bc同时不为0,此时图像沿着对角线进行两次伸缩。它的伸缩后的图像面积(行列式)可以通过大的矩形减去每一个三角形得到:
这正是二阶行列式的计算公式
看完行列式的几何意义和计算公式,我们再来看看行列式的符号。行列式虽然作为一个比例,但是它也是有正负之分的,行列式可以是负数。对于行列式什么时候取负数,这取决于空间的定向。以二阶行列式为例,我们可以对此有两种理解:第一种理解是当空间进行了沿j向量左右翻转后行列式就取负,第二种理解是当基向量i不再位于基向量j的右侧时就取负。而在引入三维空间后,行列式取负的情况就是不能用右手定则表示三个基向量的时候。
逆矩阵、秩:
首先我们来看一个线性方程组:
对于这个线性方程组,我们可以将其抽象为我们一个矩阵与某个向量的积: = ,所以我们可以抽象地将这个问题理解为求某个向量,它在经历变化后等于向量。为了解决这个问题,我们引入一个新的知识点逆矩阵。我们知道,矩阵可以代表一种线性变化,而逆矩阵就是将这种变化抵消,即你逆时针旋转90度,我就顺时针旋转90度。所以逆矩阵与矩阵乘积就是未变化的基向量矩阵。如果矩阵为,则逆矩阵记为。引进了逆矩阵,我们可以解决这类问题,
记我们要求地向量为p,变化后向量为向量v。则有:即
但是这里就有一个问题,如果逆矩阵表示矩阵的反向执行,那么如果矩阵变化后降维了怎么办?即行列式为0的情况。为了更好描述变化后的情况,我们引入秩的概念。秩就是表示矩阵变化后的空间维度,即列空间的维度。回到刚才的问题,如果二维矩阵变化后行列式为0,那么此时秩为1,逆矩阵不存在;反之即是满秩(不降维)。那么我们就需要考虑此时是否存在解的情况,即降维后v向量是否还在降维后的变化里,如果不在,那么就没有解。如果还在,那么此时就有无数的解,因为最终都会被降维到和v向量同一个维度。
零空间/核:变化后落在原点的向量集合。
点积:
在我们看点积的几何意义以前,先来看对于点积的计算公式: . = ad+be+cf
我们暂且将前面一个向量记为v,后面的向量记为w,那么两个向量的点积就是对应坐标的乘积和。而在几何上对于点积的理解如下:
点积的几何意义可以理解为是一个向量w在另一个向量v方向上的投影长度乘以另一个向量v的长度。并且点积没有计算顺序可言。
点积的几何理解:
对于点积的几何理解,我们需要引用到对偶性的概念,对偶性指的是两种数学关系之间自然而又出乎意料的对应关系。我们将向量点积理解为一个向量在另一个向量上的投影长度乘以另一个向量的长度,为了方便这种理解,我们需要引入一种与之对偶的理解。
首先我们来考虑一个二维空间中的向量经过某种特定的线性变换后输出一个一维的标量,假设这个二维向量为,它们经历了线性变化。那么这个向量的输出就是 = ,乍一看这不就是与我们的向量点积类似吗?为了更加确切理解线性变换和向量点积几何意义的关系,定义一个向量u。
我们连接原点与这个向量画条数轴,对于我们在二维空间内的某个向量,我们将这个向量投影到向量u所在的数轴上,我们可以看出,二维向量投影后就变成了一个一维标量,这个过程不正是一个线性变化吗?我们可以试图找到这个变换的对应矩阵。那么我们就需要找基向量变化后的位置。
这里用了一个很巧妙的方法,在数轴与坐标轴间画条对称线,那么基向量 i 在数轴上的投影就是 u 向量在x轴的投影,那么基向量 j 也类似。那么我们就可以得到变化矩阵。那么对于二维空间中任意一个向量在数轴上的投影就是,回忆一下,这个计算的结果不就是两个向量的点积 . 的计算结果吗?这里的推断是在向量u是单位向量的情况下,而这种情况也可以推广到任意大小向量u,所以向量的点积就可以理解为某个向量在另一个向量的方向上的投影长度乘以另一个向量的长度。
叉积:
向量的叉积严格上来定义就是两个三维向量生成第三个三维向量的过程。例如 X 得到的结果就是一个新的向量,它的大小就是和围成的面积,它的方向是右手螺旋从到拇指指向的方向。
叉积的计算: X = det()
叉积的算术和几何意义:
在考虑叉积的几何意义之前,我们先来考虑一下叉积的定义:在三维空间中叉积就是三个向量围成的有向体积。并且在计算中我们定义其为: X = det() 如果我们将xyz都看成是变量,那么可以得到 = det() 并且如果我们将行列式展开不难看出它是线性的。所以我们可以利用性质得到左边可以等价为一个向量经历某种特定变化由三维降维到一维从而得到右边:det()= 。我们由点积的几何性质得知
= . = det(),即变成两个向量的点积这样我们就能将向量叉积与点积联系起来,即我们要求某个特定向量使得其某个向量的点积为这个行列式与成立。知道了点积和叉积的关系,下面我们换到几何图像中。我们知道叉积是空间中的定向体积,
我们设下面两个向量围成的面积为S,而白色的就是代表空间中的某个向量,那么此时体积就是这个向量在一个与下面两个向量都垂直的向量上的投影与面积S的乘积。让我们换成点积的思考方式,这个体积还可以变为空间中的某个向量在一个和下面两个向量都垂直而且大小为S的向量的投影乘以另一个向量的大小S,这正好就是点积中的定义,也就是说空间中的某种线性变换与与某个特定的向量的点乘结果等价。
基变换:
我们知道,现在我们描述的一切向量线性变换都是以直角坐标系下的基向量为变化参考标准的,但是如果我们的基向量并不是直角坐标系下的 和 呢?此时我们应该如何处理呢?
例如此时我们使用右图所示的和为基向量,此时在直角坐标系下的同一个向量放在这个变化后的坐标系中的描述就截然不同了,因为平面向量都是可以由基向量线性组合而来,但是如果基向量不同,那么同一个向量也会有不同的描述。
我们应该构建直角坐标系与任意一个坐标系的联系关系:这里我们假设直角坐标系下有一个向量我们可以利用直角坐标系下的基向量、来表示它,如果我们想要获取这个坐标在一个以和为基向量的坐标系下的表示方法,我们首先将此时的基向量经过线性变换变化成 和 ,假设这个变化过程为::,那么就是;类似的,如果我们想要将一个以和为基向量的坐标系下的向量用直角坐标系下的基向量表示,只需要。
除了向量在不同坐标系下的描述,我们还需要了解一个就是线性变化在非直角坐标系下的描述:例如某个在直角坐标系下的线性变换如何在 以和为基向量的斜坐标系描述。我们假设斜坐标系下某个向量为,那么我们先将其转换为直角坐标系下,然后经历某种变换:
。最后再转换回斜坐标系即可: 。
特征值和特征向量:
我们来看下面这个线性变换:
我们很容易看出这是一个剪切变化,但是我们这里的的重点是基向量,这个向量在变化过程中位置没有发生变化,只是大小发生了改变,这种在线性变换中不发生变换的向量称为特征向量,而变化后基向量大小变为原来的倍,特征向量的缩放比例因子就称为特征值(三维旋转中特征向量就是旋转轴所在位置)。
特征向量的定义式:,这里左边是一种变化矩阵,右边则是一个数。为了方便后续计算,我们可以将右边化成矩阵,我们知道,一个向量乘以它本身的基向量矩阵还为它本身,所以:即,可以进一步化为:,从矩阵上来看,设矩阵A为,那么等式左边矩阵可以化为:我们知道,一个矩阵与一个非0向量乘积为只能是这个矩阵进行了降维变化,即det()= 0,那么此时我们求出来的就是 特征值。它代表着将线性变化为,也就是满足我们的式子。
函数与向量空间:
我们知道,向量是可以是一个数字集合,也可以是一个箭头,而我们对于向量的定义现在进行一个更深层次的理解:不管是箭头还是数字或者是接下来要介绍的函数,它们都可以看作是向量,也就是说向量实际上是一个抽象的集合体,所有满足向量公理的事物都可以被称为向量,这个集合体就称为向量空间,下面我们来说一下函数与向量。我们知道函数,函数就是一种特定的数集的映射关系。但是它与我们的向量也有公共之处,两个向量有加法和数乘,两个函数也有加法和数乘的关系,所以我们不妨将函数也看成是一个特殊意义上的向量。
有了上面的理解,我们可以将向量上的一些性质放到函数中理解。我们知道,向量有线性变换,那么我们也可以在函数中引入线性变换,导数就是常见的例子,对函数求导会得到另一种函数线性变换。那么什么样的变换可以理解为线性变换呢?线性变换有两个特点:可加性和成比例。可加性就是两个向量变换后的和就是两个向量和的变换;成比例就是向量与标量的数乘的变换就等于标量与向量变换的数乘,满足这两个条件的变换就是线性变换,而在函数中,这种变换有个新的名字:算子,就像函数中对应点积称为内积。所以向量是一个很广阔的概念,它可以是所以符合向量公理的事物。
参考资料: