线性代数研究有限维的向量空间。这里的向量是物理中的向量概念的推广,它并不需要具有大小和方向,任何数学对象都可以称之为向量;包括一个数或数组,一个矩阵或更高阶的张量,一个函数或者一组函数,一个变换或者一个几何体;只有一般的集合没有被当作向量,集合的集合是拓扑学的研究对象。关键要求是两种线性运算:两个向量的加法(满足4条公理),一个向量与一个数量的乘法(满足另外4条公理);数量来自于一个数域(两种运算+8条公理),如实数域或复数域。正是加法与数乘,才被称之为“线性运算”;两个向量的乘法就是非线性的了。一个向量空间,又叫做线性空间,通常记为(V,F);其中V是所有向量的集合,F是所依附的数域。
一个空间的维数是一个几何概念。按照人类的常识,一条线(不论曲直)是一维的,一个面是二维的,一个立体是三维的;有人因此把一个点定义为0维的。人类是三维动物,四维及以上的空间无法想像;至于物理学中的四维时空,只能表作为位置空间沿着时间轴(线)的平移。数学上,一个空间的维数是表示该空间所需要的独立变量(数字化的)的个数;比如,四维时空中的一个点(事件)可以表为(ct, x, y, z):c是光速(常量),t是时刻,(x, y, z)是位置。维数可以是可数无穷大,甚至是连续基数,也可以是分数。
在一个n维空间里,存在着n个线性无关的向量,构成此空间的一个基底。“线性无关”指的是,其中任何一个向量都不能用其它向量线性(运算)表示;“基底”则是一组向量,使得该空间中的任何一个向量,都可以用它们唯一地线性表出。基底有无数个;但是任何两个基底都是等价的:可以互相唯一线性表示;也就是说,存在一个可逆的过渡矩阵。
实现向量之间线性表示的工具(手段)是线性方程组。它们有固定的解法,即Gauss消元法;通过以下三种同解变换把方程组变为阶梯形:(1)一个方程乘以一个非零数,加到另一个方程;(2)一个方程的两边同除以一个非零数;(3)交换两个方程的位置。最后的结果有三种可能:(1)无解,(2)恰好一个(组)解,(3)无穷多(组)解。解的结构具有迭加性:一个非奇次方程组的全部解,可以表示为一个特解,加上相对应的齐次方程组的全部解。一个齐次方程组的全部解形成一个向量空间,其维数等于变量个数减去系数矩阵的秩。
矩阵是线性表示的第二个工具,有时候甚至成了线性代数的特有方法—矩阵方法。矩阵就是把一些数排成行、列的形式,就像一个表格,有时又称为一个二阶张量。当我们需要记录二维数据、表示两个对象之间的关系时,都可以用矩阵。图论中,顶点的关联矩阵进行乘法时,可以得出各种长度的路线条数;随机过程中的转移矩阵进行乘法时,可以计算各种概率以及终极状态。上述Gauss消元的过程,实际上并没有对未知变量进行任何运算;把它门剔除,剩下系数和常数项,用两个括符括起来,就得到了 “增广矩阵” ,前面部分(除常数列外)是 “系数矩阵” 。若是齐次方程组,全零的常数列没有必要写出。Gauss消元的过程,就成了对增广矩阵进行三种行变换的过程,直到化成为阶梯形;然后逐步代入(或从后往前继续消元),便可求出所有的解。
同类型矩阵的加、减、数乘,是逐个按元素进行的。矩阵的乘法,来自于线性变换的代入运算,是用左边矩阵的行去乘右边矩阵的列(因此,左边矩阵的列数必须等于右边矩阵的行数)。这些运算满足除乘法交换律之外的其它规律,如零矩阵、加法逆元、加法交换/结合律、乘法结合律、乘法对加法的分配律。乘法单位元只对方阵(正方形矩阵)才有。方阵在乘法运算下的逆元,称为其逆矩阵;不是正方形的矩阵,可以定以左逆或者右逆,但也要满足一定条件才存在。方阵可逆的条件,可以用行列式或秩来描述。
n阶方阵的行列式是方阵的一种度量:在n+1维空间里,低一维的有向曲面的面积微元,可以用一个n阶行列式来表示;在坐标变换下,n维几何形体的体积微元,可以用Jacobi阶行列式来表示。二维平面上多边形的面积,可以用顶点座标的 “鞋带” 公式算出;算法就是一种推广了的行列式。三维空间中多面体的体积,也有类似的公式。在线性代数中,行列式是从Gauss消元法推出的、各个变量的公共系数;按照阶数n的不同,其计算具有一定的规律,也就是按照各项下标排列的逆序数分为奇排列或偶排列,在前面冠以负号或正号;全部n! 个项相加,就得出了系数,进而有了Crammer法则。
按照这种办法去计算行列式是不可能的,除非三角形行列式。幸运的是,它既可以进行行变换,也可以进行列变换。(1)交换两行(列),行列式变号;(2)可以按行(列)提取公因数;(3)一行(列)乘以一个数加到另一行(列)上,其值不变。由此三种变换,就可以把任何一个行列式化为三角形的。一个行列式,还可以按照任一行(或列)进行Laplace展开,实现降阶;更可以按照任意多行(列)展开,由此可以定义长方形矩阵的一种度量。
秩(Rank),是一个矩阵的第二种度量,与维数类似;它可以有多种定义的方法。一是通过行(列)的三种初等变换化为“等价标准形”:左上角是单位矩阵,其它位置都是0;那个单位矩阵的阶数,便是此矩阵的秩。三种初等变换对应三种初等矩阵,进行行变换,等价于左乘相应的初等矩阵;列变换呢,右乘即可;这样可以把行变换的过程记录下来,只要在原矩阵的右边添加一个单位矩阵即可。第二种定义方式是,在其所有各阶子行列式中,存在非零子行列式的最大阶数。这种办法,说起来都拗口,更不可能用于实际计算。
秩的第三种表述方法是,行向量组的极大无关组中向量的个数;也等于列向量组的极大无关组中向量的个数。这二者相等,是线性代数中的一个基本定理。一个矩阵的行向量的所有线性组合的集合,形成一个向量空间(满足线性运算的封闭性);它的维数,就等于矩阵的秩。列空间亦是如此。正是因为有了维数的解释,我们才能估计两个矩阵的和与积的秩;比如,秩(A + B)≤ 秩(A)+ 秩(B);秩(AB)≤ 秩(A),秩(B),秩(AB)≥ 秩(A)+ 秩(B)-A和B的公共阶数(A的列数=B的行数)。与齐次方程组的解空间相结合,我们可以推出,秩(AB)= 秩(B)的充分必要条件是,从ABX = 0,可以推出BX = 0。
有了秩的概念,就知道了矩阵可逆的条件。一个方阵可逆的充要条件是,它的秩等于阶数(称为满秩);一个横向长方形矩阵(m ×n, m n)有左逆的充要条件是,它的秩等于列数n(也是满秩)。一个可逆方阵的逆矩阵,可以用它的伴随矩阵(Adjoint)表出,也就是所有n-1阶子行列式带上Laplace展开式中的符号(所谓的代数余子式),形成一个n阶方阵再转置(行、列互换)。右逆或者左逆的表示,要用到更多的子式,或者一般的行(列)变换。
一个向量空间中的线性表示弄清楚了,它的结构也就确定了。接下来,要讨论多个向量空间之间的关系了。首先,怎么构造出不同的向量空间?也就是构造具有两种运算的集合。数学中,构造集合的办法有多种。一是子集,只要满足运算的封闭性即可;二是做两个集合的交集或者并集。可以证明,两个子空间的交集还是子空间;但是,并集就不是了。三是两个子空间的和,也就是在每个子空间里取一个向量,然后加起来,构成一个集合;这还是一个子空间。四是一组向量的生成空间:从一个已知空间里取一组线性无关的向量,把它们的所有的线性组合构成一个集合;这也是一个子空间。第五是用Descartes乘积,也就是构造有序组;第六是利用等价关系构造商集,不过这种办法并不出现在现性代数中,那是集合论的研究范畴。
两个不同的向量空间之间的关系,我们用“映射”来探讨。当两个线性空间的维数相等时,可以构造一个一对一的满射(双射),而且还是线性的:L(au + bv) = aL(u) + bL(v),对所有的数量a, b,向量u, v。这两个空间,被称为是“同构的”(结构相同)。可以说,任何n维实空间都与Rn(欧几里德空间)同构。要把一个高维空间“映入”一个低维空间,可以作“正交投影”,但会发生信息丢失。低维到高维,自然要作“拓展“,也就是凭空想像”,引入一些分量。
线性变换可是一个好东西,既简单又不失了本性。从一个n维空间V到自身的一个线性变换L,由它在一组基底下的表示唯一确定:设 {v1, v2, …, vn} 是V的一组基,则有L(v1, v2, …, vn) = (v1, v2, …, vn)A,A是V的定义数域F上的一个n×n方阵。最方便的情形是,A是对角矩阵。有不有V的另一组基{u1, u2, …, un},使得L在此基下的矩阵表示是对角型的呢?设(u1, u2, …, un) = (v1, v2, …, vn)P,P是一个可逆矩阵;则
L(u1, u2, …, un)= L(v1, v2, …, vn)P = (v1, v2, …, vn)AP = (u1, u2, …, un)D, D为对角矩阵。
也就是说,P-1AP = D. 为此,人们引进了相似矩阵的概念:如果存在一个可逆矩阵P,使得P-1AP = D,就称A与D相似。如果D是对角型的,就说A可以被相似对角化。
可逆矩阵实为一些初等矩阵的乘积;相似变换就是在进行列变换的同时,把相应的逆变换也用到行上。但要通过相似变换进行对角化是不可能的,只能通过倒推—解方程组Av = dv,这又引进了特征值与特征向量的概念:满足此方程的d就叫特征值(eigenvalue),相应的非零解v就是一个对应的特征向量(eigenvector)。
齐次方程组(A-dI)v = 0 有非零解的充要条件是,行列式的det(A – dI) = 0;因此,特征值就是多项式det(A – xI)的根。可以证明,对应于不同特征值的特征向量是线性无关的。根据代数基本定理,n次多项式恰有n个根;如果都是单根的话,那就必然有n个线性无关的特征向量,A可以相似对角化。对于重数m > 1的特征根r,方程组(A – rI)v = 0的线性无关的解的个数为 n- 秩(A – rI); 可以证明,此数值(称为r的几何重数)不超过m.。如果对于每个特征值r,都有几何重数等于代数重数,则矩阵A可以对角化。
如果某个特征值的几何重数小于代数重数,则可以把A化为Jordan标准形。有此,任何常系数的线性微分方程组,就可以求解了。其实,一个函数的高阶常系数微分方程,以及常系数的差分方程的特征值,还有线性算子的谱,都是矩阵的特征值。只有在偏微分方程的求解中,没有办法用常量矩阵去表示,需要用全微分去构造辅助方程;爱因斯坦的引力场方程完全可解,只是没有人问过我。
一切运算都可以看作是某种变换。在一个几何(拓扑)空间中,有两种变换:等度(isometric)与连续(continuous)变换。等度变换要保持长度(甚至角度)不变;在欧氏空间Rn中,数学家们猜测,只有平移、旋转、反射三种,可一直没能证明。直到二十世纪80年代才被MIT的一个学生证明了(她的名字我忘记了)。其实这只不过是正交矩阵的另一种说法而已:A*AT = I, AT 是矩阵A的转置。但是,我们先要定义向量的长度;这可以用范数或距离来定义,只要满足三条公理。要定义角度的概念,只能引进内积(点积),而且只能是在实数空间里;在虚数空间里,只有正交的概念,因为一个角度不可能是虚数。
有了正交的概念,就可以计算一个向量到一个子空间的最短距离了:只要作正交投影即可。由于Rn中距离的平方(由一个向量与自身的内积而来)是一个二次多项式,线性代数又研究起二次型来了;二次型还可以用实对称距阵表示:XTAX。实对称矩阵具有一些特殊性质,例如其特征值都是实数,对应不同特征值的特征向量互相正交;还可以证明,它一定可以在正交变换下对角化。这就从另一个方面证明了,距离(内积)在正交变换之下保持不变。当然,最简单的二次型自然是只有平方项、没有混合二次项的;我们还可以在合同变换(就是配平方)下,把实对称矩阵对角化。
有了距离的概念,就可以定义极限了,从而定义变换的连续性,这是拓扑学的研究范畴了。再进一步,可以定义变化率的概念,这是分析学的研究范畴。只有在有限维空间里,我们才能有最短距离。爱因斯坦的引力场运动方程,就是短程线的方程;那个动力学方程,就是牛顿第二定律,用张量的形式表示出来而已。他的伟大之处,在于发现了时间的相对性,不是数学表述的形式。