向量数乘的和称为向量的线性组合。任何向量实质都是由基向量缩放再相加得到的。例如,向量v就是向量i、j、k分别缩放x、y、z倍后相加的结果。
所有可以表示为给定向量线性组合的向量集合,称为给定向量张成(span)的空间。
对于向量α=mx+ny,如果让两个标量m和m同时自由变化,大部分情况下,你能到达平面中的每一个点,而向量x、y张成的空间,就是一个二维平面空间。也有糟糕的情况,当向量x、y共线时,所有向量都被限制在一条过原点的直线上,此时形成的就是一个一维直线空间。还有一种情况,当向量x和y都为零向量,此时只能表示为一个点了。
一组向量中至少有一个是多余的,没有对张成空间做出任何贡献,或者说,移除一组向量中的某一个向量不会减小张成的空间,我们称它们是线性相关(Linearly dependent)。
另一种表述是,其中一个向量可以表述为其他向量的线性组合,因为这个向量已经落在其他向量张成的空间之中。
如果所有的向量都给张成的空间添加了新的维度,它们就被称为线性无关(Linearly independent)。
向量空间的一组基是张成(span)该空间的一个线性无关向量集。
空间里的一组向量如果线性无关,并且它们任意的线性组合都可以表示为空间里的任意向量,则这组向量称为空间的基。基向量张成整个空间,基并不唯一,但它们的数量是唯一的,并且基向量的个数等于空间的维数。
变换本质上是函数(function)的一种说法。线性代数里,我们通常考虑接收一个向量并输出一个向量的变换。如果一个变换接收一个向量并输出一个向量,我们想象这个输入向量移动到输出向量的位置,接下来,想象每个输入向量都移动到对应输出向量的位置。
变换与函数一样,不存在一个向量映射到多个向量。
若一个变换L满足下面两条性质
则称L是线性的。直观来讲,线性变换就是,直线变换后还是直线,并且原点变换后保持不变。
由此可见,一个二维的线性变换仅由四个数字完全确定,即变换后的向量i和j。我们将向量i和j的坐标放在一个2×2格子里,称为2×2矩阵。
其实,我们完全可以把矩阵的列向量看作是变换后的基向量,矩阵向量的乘法看作它们的线性组合。或者说,矩阵向量的乘法就是矩阵列向量缩放再相加的过程。因此,一个矩阵其实就是代表了一种线性变换,矩阵实际上就是变换后基向量的组合,而矩阵向量乘法就是计算线性变换作用于给定向量的一种途径。
如果将空间逆时针旋转90°,则基向量i和j分别落在(0,1)和(-1,0),因此这个变换矩阵的列就分别是(0,1)和(-1,0)。因此想要算出任意向量逆时针旋转90°后的位置,只需将它与旋转矩阵相乘即可。
矩阵AB相乘的新矩阵,实质就是向量v先进行B变换再进行A变换的复合变换。
矩阵乘法的实质是两种线性变换相继作用的结果,两种变换的先后顺序会导致变换结果不相同,因此通常情况下,AB≠BA。
三维的线性变换和二维类似,缩放再相加的过程仍适用。例如矩阵与向量相乘,要找到向量变换后的位置,只需将它的坐标与对应列向量相乘再将结果相加即可。
两个矩阵相乘也是类似。例如两个3×3的矩阵相乘,我们可以把右侧矩阵的列向量看作经过第一个变换后的基向量,然后分别对三个基向量进行第二个变换即可。
变换矩阵A将空间X变换到空间Y,则空间中的任意区域将被拉伸或者放缩,任意区域变换后得到的区域的面积(二维)或者体积(三维),与变换前的面积或体积的比值称为变换矩阵A的行列式,记为det(A)。
det(A)>0时,表明经过A变换后,空间未发生翻转或者空间定向没有发生改变,或者说,基向量的相对位置没有发生改变。
det(A)<0时,空间发生翻转或者空间定向发生变化(基向量的相对位置发生变化),但行列式的绝对值仍是变换前后面积或体积的比值。
行列式正负的判断,看基向量的相对位置。
对于二维空间,若向量i在向量j的右侧,则基向量的相对位置没有发生改变。否则,则说明空间定向发生变化,行列式小于零。
对于三维空间,我们采用“右手定则”来判断。右手食指指向向量i的方向,伸出中指指向向量j的方向,当竖起大拇指时,拇指指向的就是向量k的方向。若不满足这种情况,则说明空间定向发生变化,det(A)<0。
若向量经过A变换后可以经过另一种变换还原,则A变换是可逆变换。
逆矩阵与自身的乘积是单位矩阵,即A⁻¹A=E,像A变换这样的变换称为恒等变换。
若A变换降低了空间的维度,此时det(A)=0,我们称A变换为不可逆变换。
例如一个变换将一个平面压缩成一条直线,此时没有逆变换,因为不能将一条直线解压缩成一个平面。这样要求必然会映射出多个向量,但函数只能将一个输入变成一个输出,变换也是如此。
线性变换只存在等维变换和降维变换,不可能升高空间的维度。在平面内的两个任意向量的任意线性组合都不可能表示成一个与它们不共面的向量,即使是在三维空间中,所以不存在升维的线性变换。
矩阵的逆存在,当且仅当矩阵的行列式不为零,或者说,变换矩阵是可逆变换。
假设有线性方程组:
我们可以将它写成矩阵向量乘积的形式
由于矩阵A代表一种线性变换,所以求解方程组实质是寻找一个向量x使它经过A变换后与向量v重合。要求解向量x,可以反过来,从向量v逆变换到向量x。
当det(A)=0时,A变换会将空间压缩到更低维度,此时必然出现多个向量压缩后重合的现象,因此没有逆变换,因为不能将一条直线解压缩成一个平面。
但方程仍然可能有解。例如,A变换将空间压缩成一个平面,而向量v刚好处于这个平面上,空间压缩后能与向量v重合的向量x有无数个,所以此时方程有无数解。或者A变换将空间压缩成一条直线,而向量v刚好处于这条直线上,此时,空间压缩后能与向量v重合的向量x就更多了,而这些向量x是由某些向量的线性组合表示的(这个问题后面会重点讲解),所以此时方程有无数解。当它压缩成一条直线时,与平面相比,解存在的难度更高了。
矩阵A的秩为经过矩阵A变换后的空间的维度,记为R(A)。
当A变换的结果是一条直线时,结果是一维的,称这个变换的秩是1;当A变换后的向量落在某个二维平面上时,称这个变换的秩是2。
零向量一定在列空间中,因为线性变换必须保持原点不变;矩阵的秩也可看做是矩阵列空间的维度。
对于满秩的线性变换,只有零向量在变换后会落在原点。而对于非满秩的变换,它会将空间压缩到更低的维度上,因而会有一系列向量在变换后成为零向量。
如下图,左边直线上的所有向量在经过非满秩变换之后,全部降维为右边的一个点(黄色点)。
变换后一些向量落在零向量上,而零空间正是这些向量所构成的空间。对齐次线性方程组来说,零空间给出的就是方程所有可能的解。
当det(A)≠0时,零空间里只有零向量,齐次线性方程组只有零解。
当det(A)=0时,零空间存在非零向量,齐次线性方程组有非零解。
在前面讨论的变换都是等维度向量间的变换,那么会不会出现向量维度升高或者降低的变换呢?答案是肯定的。向量是可能从输入空间的二维输出一个三维向量的。
前面讲过,我们可以把矩阵的列向量看作是变换后的基向量,对于一个非方阵,同样可以这样理解。
因此,对于一个m×n非方阵,实际是把一个n维向量转换为m维向量。
(1)矩阵行数大于列数
经过A变换后,二维空间里的向量x变成了三维空间里的向量v。因此当线性变换矩阵A的行数大于列数时,此线性变换实际上是一个向量升维的操作。
变换后的所有可能的向量v所构成的空间为矩阵A的所有列向量所张成的空间。而矩阵A只有两个三维列向量,因此A的列空间仍是二维的,即两个列向量在三维空间中所张成的一个二维平面。变换后的列空间与变换前维度相同,所以A是满秩的。
(2)矩阵行数小于列数
两个变换复合,就是两个矩阵相乘。矩阵为非方阵时,相乘的条件是左边矩阵的列数等于右边矩阵的行数。
综上来看,矩阵BA的列空间是二维平面(或者BA变换未改变维度),因此BA是满秩的,且可逆。而矩阵AB的列空间是三维空间中的一个二维平面(改变了空间维度),因此AB不满秩,且不可逆。
两个向量方向相同时结果为正,相反时结果为负,垂直时结果为0。
现在我们从线性变换的角度来看,首先讨论从多维空间到一维空间(数轴)的线性变换。
点积等同于矩阵向量乘积,变换效果等同于将n维向量变换为一维标量,变换矩阵是一个1×n的非方阵。
在二维空间中,有一条一维数轴和一个单位向量u恰好落在此数轴上,如果将二维向量直接投影到这一数轴上,由此定义了一个从二维到一维数轴的线性变换,叫做投影变换,相应的变换矩阵称为投影矩阵。投影矩阵P=[a b]中的a和b分别是基向量i和j变换到一维空间后对应的数值。
而空间中任意向量经过投影变换的结果,即投影矩阵与这个向量相乘,和这个向量与向量u的点积在计算上完全相同。
所以,向量与单位向量的点积,就可以理解为向量投影到单位向量所在直线上的投影长度。
上述过程是数学中对偶性(Duality)的一个实例。对偶性,即两种数学事物之间自然而又出乎意料的对应关系。
一个多维空间到一维空间的线性变换的对偶是多维空间中的某个特定向量。例如,上述将二维空间映射到一维数轴的线性变换,此线性变换都会与二维空间中的向量u相关。
每当有一个从多维空间映射到一维数轴的线性变换,你都能在这个多维空间中找到一个向量,被称为这个变换的对偶向量,使得应用线性变换和与对偶向量点积等价。
两个向量叉积的结果是第三个向量,结果向量垂直于原向量组成的平行四边形,长度等于平行四边形的面积。
首先来讨论这个平行四边形的面积(即叉积得到的向量的长度)。前面讲过,行列式的几何意义就是变换前后空间区域被拉伸或放缩的比值,而行列式的正负表明空间定向是否发生变化。
如下图,我们让基向量i、j发生线性变换,使其变换后落在向量v、w上,因此这个变换的矩阵就是向量v、w构成的矩阵。由于基向量i、j构成的图形面积是1,因此,根据行列式的几何意义,变换后的平行四边形的面积就是行列式的值。
同时,我们发现,改变基向量i、j的相对位置,行列式的值会改变(因为空间定向发生了变化),因此,v×w≠w×v。
对于二维向量,叉积向量的方向就是垂直于坐标平面的方向,叉积向量的长度就是两个向量构成的矩阵的行列式。
对于三维向量,叉积的方向取决于原向量的相对位置,可以用右手定则判断。
对于v×w,右手食指指向向量v的方向,伸出中指指向向量w的方向,当竖起大拇指时,拇指指向的就是叉积的方向。当然,这里还有另一种方法,对于v×w,把向量v的头指向向量w的尾,右手四指向着v到w的方向弯曲,拇指指向的就是v×w的方向。
对于叉积的计算,下面的公式有助于记忆
但是,它也可以由一个三阶行列式代替,让这种运算记忆起来更加简便。
计算时,假装向量i、j、k都是数,最终得到的就是这三个向量的线性组合。
前面讲过,两个二维向量构成的平行四边形的面积,就等于这两个向量所构成的矩阵的行列式。而三个三维向量构成的平行六面体的体积,也是等于这三个向量所构成的三阶矩阵的行列式。简单解释就是,这个三阶矩阵将三个基向量构成的体积为1的正方体变换成这三个三维向量构成的平行六面体,根据行列式的几何意义就是变换前后空间区域变化的比值,可以得出变换后与变换前(体积为1)的比值就是行列式的值。
但也有一部分向量留在了它所张成的空间,线性变换对这些向量只会产生拉伸或者缩放变换。
线性变换后留在自身张成的空间中的向量,称为特征向量。特征向量经过线性变换后不发生旋转,只会拉伸或者缩放,而衡量特征向量在变换中拉伸或压缩比例的因子,就是特征值,特征值为负值时表示向量被反向拉伸或者缩放。
如果属于同一特征值的任意n个向量线性无关,那么它们张成的空间中的任意向量都是属于这一特征值的特征向量,且在变换中只发生缩放变换。
对于三维空间中的旋转,如果能够找到对应的特征向量,那么这个特性向量就是旋转轴,这意味着一个三维旋转变换就可以看成绕这个特征向量旋转一定角度,这要比考虑相应的3×3变换矩阵要直观。此时对应的特征值为1,因为旋转并不缩放任何一个向量,所以向量的长度保持不变。
与i相乘在复平面中表示为90°旋转和i是这个二维实向量旋转变换的特征值有所关联,特征值出现复数的情况一般对应于变换中的某种旋转。
特征基是指矩阵的所有基向量都是特征向量,矩阵在以特征向量为基向量的坐标系中的变换就是基向量的缩放变换。对角矩阵的所有基向量就是特征向量,对角元就是它们所属的特征值。
如果一个变换矩阵有足够多的特征向量,多到能够选出一个张成全空间的集合,那么当基向量是特征向量时,我们就能够通过基变换,将这个变换矩阵从以特征向量为基向量的坐标系中转化到标准坐标系。
(1)当矩阵A为n阶满秩方阵时,A变换没有发生维度变化,向量v一定位于A的列空间中,因此只存在唯一的向量x经过A变换后与向量v重合,所以只有唯一解。此时,r(A)=r(A,v)=n。
(2)当矩阵A为n阶非满秩方阵时,A变换将空间压缩为一个小于n维的空间(A的列空间),只有当向量v位于这个小于n维的空间时,向量x经过A变换后才会与其重合,空间压缩必然会导致多个不同的向量x被压缩到同一个向量上,所以会有无数解。此时,r(A)=r(A,v) <n< span>。 </n<>
(3)当m×n矩阵A行数大于列数(m>n)时,A变换将向量x升高到m维,A的列空间维度没有改变,即m维空间中的n维子空间,只有当向量v位于这个n维子空间时,向量x经过A变换后才会与其重合,由于A变换没有发生压缩,所以只存在唯一的向量x。此时,r(A)=r(A,v)=n。
(4)当m×n矩阵A行数小于列数(m <n< span>)时,A变换将向量x降低到m维,A的列空间压缩到m维,所以m维向量v一定位于A的列空间中,向量x经过A变换后一定会与向量v重合,由于A变换发生压缩,所以存在无数的向量x。此时,r(A)=r(A,v)=m <n< span>。 </n<> </n<>
(1)当矩阵A为n阶满秩方阵时,A变换没有发生维度变化,因此没有非零向量经过A变换后落到零向量,所以只有零解。此时,r(A)=n。
(2)当矩阵A为n阶非满秩方阵时,A变换将空间压缩为一个小于n维的空间,此过程必然存在非零向量x被压缩为零向量,所以有非零解。此时,r(A)<n。
(3)当m×n矩阵A行数大于列数(m>n)时,A的列空间维度没有改变,因此没有非零向量经过A变换后落到零向量,所以只有零解。此时,r(A)=n。
(4)当m×n矩阵A行数小于列数(m <n< span>)时,A的列空间压缩到m维,此时必然存在非零向量x被压缩为零向量,所以有非零解。此时,r(A)<n。 </n<>
以上就是线性方程组解判定的实质,以下还有几点需要注意:
(1)线性变换向量的维度可以升高降低,但向量张成的空间不会升高。
(2)向量张成的空间的维度一定不超过向量的维度。
(3)若向量的维度与空间的维度相同,则这个向量一定位于这个空间中。
(4)对于非齐次线性方程组,如果系数矩阵是压缩变换,则有无数解(向量v位于A的列空间时);对于齐次线性方程组,如果系数矩阵是压缩变换,则有非零解。
当齐次线性方程组的系数矩阵是压缩变换时,必然存在无数个非零向量被压缩成零向量,因此存在无数非零解。这些向量张成的空间称为解空间,解空间的基称为基础解系。
由此可以看出,被压缩向量张成空间的维度与没有被压缩向量张成空间的维度的和就是原始向量所在空间的维度,因此可以得出解空间的维数就是n-r(A),也就是基础解系的个数。我们把所有基础解系的线性组合称为齐次线性方程组的通解。
若A为m×n(m <n< span>)非方阵时(只有压缩变换才有解向量张成空间,所以只讨论m <n< span>),原始向量所在空间的维度为n(即变换前向量x是n维),若A的秩为r(A),则解空间的维度也为n-r(A)。 </n<> </n<>
若r(A)=2,则经过A变换后有两个维度的向量没有被压缩。假设矩阵A变换是将三维空间的向量压缩至xoy平面,如下图,图中三个黑色向量变换后均与红色向量(红色向量就是向量v)重合。我们将这三个黑色向量分别沿xoy平面和z轴方向分解,可以发现在xoy平面方向的分量与红色向量相同。对这三个向量变换,也就是对两个分量变换,而变换后z轴方向的蓝色分量落到零向量,而xoy平面上的分量没有变且与红色向量相同,因此,方程的解就是落到零向量的蓝色分量与红色向量的和,此时基础解系只有一个。因此通解为η₀+kξ,ξ为基础解系,η₀为非齐次线性方程组的特解。
若r(A)=1,则经过A变换后有一个维度的向量没有被压缩。假设矩阵A变换是将三维空间的向量压缩至z轴,如下图,将两个黑色向量分别沿x、y、z轴方向分解,可以发现,在z轴上的分量在变换后没有改变且与红色向量相同,而在x、y轴上的蓝色分量都不相同,且在变换后都落到了零向量,因此,方程的解就是落到零向量的两个蓝色分量与红色向量的和,此时基础解系有两个。因此通解为η₀+k₁ξ₁+k₂ξ₂,ξ₁、ξ₂为基础解系,η₀为非齐次线性方程组的特解。
从上面的讨论可以看出,非齐次线性方程组的通解等于非齐次线性方程组的特解加上齐次线性方程组的通解。在上图中,我们发现,平面α代表的就是对应齐次线性方程组的通解,而平面β代表的就是非齐次线性方程组的通解,这里注意,平面β并不过原点,因此它的解不能构成向量空间。
在三维空间中,若行空间的维度为2(向量在一个二维平面上),则与它正交的向量只能在垂直于这个平面的直线上,所以解空间维度为1;而当行空间的维度为3时,在三维空间中就没有与其正交的向量了,所以解空间维度为0。所以,在n维空间中,行空间与解空间维度的和等于n,即R(行)+R(解)=n,所以就有:R(行)=n-R(解)=n-(n-r)=r,因此行空间与列空间维度相等,即行秩等于列秩。
当线性方程组有唯一解且系数矩阵为方阵时,我们可以用克莱姆法则通过计算行列式来求解方程组,具体过程如下:
接下来我们从线性变换角度来解释这个法则。
对于三维空间,我们同样可以将一个三维向量与x、y轴上的基向量i、j构成的平行六面体的体积表示为z值。
在变换前后,平行四边形的面积不一定保持不变,但面积的伸缩比例却是不变的,且等于变换矩阵的行列式。
为了直观地理解各种概念,我们通常用坐标对向量进行表示。但实际上很多核心概念是脱离于坐标系的,例如行列式、特征向量等,均与所选的坐标系无关。行列式代表一个变换对面积的缩放比例,而特征向量则是在变换过程中留在它所张成空间的向量。
如果向量根本不是一个数组,它们的本质其实更具有空间性,因此我们可以从更空间化的角度看待向量。
我们来讨论一种同样具有向量特性的东西——函数。从某种意义上讲,函数也是一种向量。函数的加减和数乘与向量的加减和数乘相似。
向量的其他特性对于函数也应该满足,例如线性变换。线性变换的定义:
对于向量来说,L代表矩阵;对于函数来说,L代表函数。对于线性变换而言,从函数的角度理解就是线性变换输入一个函数,然后输出另一个函数。
若存在一个函数的变换是接收一个函数并把它变成另一个函数。
这是微积分中一个常见的例子——导数,它将一个函数变换到另一个函数。对于函数求导,有以下两个性质:
(1)两个函数先相加再求导,等同于先对两个函数求导再相加;
(2)函数和数先相乘再求导,等同于先对函数求导再乘以数。
与向量的线性变换相似,求导变换满足“可加性”和“成比例”,所以它是线性的。
我们用矩阵来表示多项式函数的求导变换。首先给这个空间赋予坐标的含义,所以要选取基,由于多项式已经是数乘x的不同次幂再求和的形式,所以可以选取不同次幂的x为基,不同次幂的x就相当于基向量i、j、k。每个多项式的坐标就是不同次幂的x的系数,在这个坐标系中,求导是用一个无限矩阵来描述的。
我们可以通过这个方法构建一个矩阵,求每一个基函数的导数并把结果放在对应列,求导矩阵就是对每个基函数求导后作为列向量得到的。