转自[CU blog] http://blog.chinaunix.net/u2/88035/showart.php?id=1931507 漫谈 高等数学入门第二课 方程,空间和矩阵的关系-----------[转载请标明本文CU blog出处] [一. 矩阵和空间的思想] 我在这里,把线性代数归于高等数学的范畴,因为它的理论适用于很多高等数学求解的领域,例如多项微分方程组的求解,离不开它。 方程组,有什么物理/几何的意义吗? (a) 先从"空间"和函数说起。有两个方程式组成一个方程组,Ax+By=C, Dx+Ey=F,有什么样的解? 我们可以把这两个方程写为函数集合的形式: f(x,y)=Ax+By-C,g(x,y)=Dx+Ey-F,画一个x,y轴的平面,那么f(x,y)=g(x,y)对应一个交点,它的(x,y)坐标 就是方程组的解。三元一次方程组的情况类似,把三个方程写为三个函数形式,每个函数代表3维空间里面的一个面,求3元方程组的解,就等价于看这3个面有什 么样的交点。 (b) 什么是数组? 一对数写在一起用括号括起来。什么是矩阵? 一堆数写成行列的形式用括号括起来----它是用来表示概念的工具,你说它是什么它就是什么,就这么简单。那么上面的2元1次方程组,3元一次方程组,求 解过程,都可以看成是矩阵(这里是方阵)*未知数向量=得数向量的形式: (c) [A]|x|=|b|。矩阵的乘法的形式是为了对应方程求解的形式,被定义出来的,是"人造"的,不是从什么客观实在得来的----矩阵是我们的认识工具,只是一个抽象存在,是一种形而上学的东西。 考虑一种特殊的情况,|b|=|0|全是0的情况。难么方程对应的函数集合,在2维平面上面就是通过原点的一系列直线,它们总是交于0点。在3维平面上, 就是通过原点的几个平面,它们总是交与原点。所以Ax=0这样的方程组总是有解的,解可能是1个也可能是无穷多个,怎么理解无穷个解? 2维平面的那两条直线重合,解无穷多;3维平面的3个面交于一条直线,例如平面x=0,y=0,x=y,他们交于Z轴,解也是无穷多个。那么Ax=B这样 的形式,有解吗? 同样的分析,在平面上,两条不都经过原点的直线,如果交与一点就是一个解,平行就是无解,重合就是无穷解。3维的情况,交于一点1个解,交于一条直线或3 个面重合对应无穷解,两两相交但是没有3个面的相交或者其中两个面平行----则无解。好了,研究了方程组,对应的空间意义,那么用矩阵来求解吧。等等, 为什么可以用矩阵来求解? 克莱姆法则证明了,求方程解的过程,等价于求一些列矩阵的行列式相除的过程,所以这些行列式运算的结果,就是方程组的解。好了,矩阵,行列式,这种抽象的 东西,既然能用来求方程组的解,那么还能用于别的情况吗? 曲别针还有1万种用法呢,矩阵的用法当然多了去了。当然,对于高维的方程组,我们无法画出图形来看是否有解,那么既然解的存在与否,等价于研究矩阵的行列 式的一些性质,那么我们就研究矩阵的行列式,以及矩阵的其他性质。 艾舍尔有一幅画,4个楼梯都是往上走的,但是第4个楼梯的终点和第1个楼梯的起点相连。看不出逻辑上面有什么错误,但是逻辑的组合肯定是错误的。怎么证明 呢?由于楼梯是环绕的,所以起点终点之间肯定有一点导数=0,导数不能是单调的。但是由于楼梯是单调上升的,所以没有哪个点的高度值等于起点。所以楼梯不 可能单调上升,画出来的图案只是一个意识错觉罢了。用自然语言无法解释的悖论,用符号化的数学确能轻易的解决。欧拉,在证明"自然数集存在无穷个质数"这个问题的时候,遇到一个棘手的问题,因为无论如何证明,都只能列出有限多个数字来。那么如何用有限的证明,证明 无限的情况呢?符号系统和递归的思想由此产生。设任意一个N是质数,那么欧拉证明了N!之内一定还存在一个质数。由于N不是特定的数字,所以可以不但可以 代表无限种情况,而且可以用递归的关系得出这样的数字有无数种。 符号系统还有什么作用?在线性代数和微分方程里面的算子理论就是符号系统的一种形式。如果ax=b有解,那么x=(a^-1)*b,其中|a|=0,我们 可以推出对于矩阵方程组Ax=B有确定解,,那么这个解集是x=(A^-1)*b。这里-1表示逆矩阵,*表示矩阵相乘,其中|A|!=0。这样的表示是 正确的科学的,要做的事情就是看看A^-1如何表示和得到。|A|不是{jd1}值而是行列式。A此时称为可逆矩阵----这个相当于实数运算里面要保证分 母!=0。是不是很相似? 可逆有什么性质:如果对一个矩阵做线性变换,使用一个满秩的矩阵,那么做变换的结果,秩不变。要注意,把矩阵当成算子的时候,乘法的交换律不一定成立。秩 的加法律和乘法律r(AB)>=r(A)+r(B),r(A+B)<=r(A)+r(B)。秩的性质类似于开根号。两个性质, (1)A*B=I,那么A和B都可逆。(2)B可逆,A^2+AB+B^2=0,那么求证A和A+B可逆。证明:A(A+B)=-B^2。|-B^2|= (-1)^n*|B|^2!=0,所以A和A+B都可逆。什么又是N阶可逆矩阵呢?A*T(A)=I的矩阵就是了。推广的说,把分块矩阵的元素可以看作普 通的矩阵元素,那么线性变换的结果相似,只是4则运算的单位从"1"变成了单位矩阵"I"。我们从一元方程得到类似的一元矩阵符号运算的性质。 为什么计算行列式的时候,可以行和列之间做线性变换并且保持行列式不变?考虑|A-B|,其中,B的{dy}个行向量等于A的第2个行向量,其他行向量都是 0,那么|A-B|=|[a1-a2,a2,...,an]|,再根据代数余子式的性质我们有|A-B|=|A|-|[a2,a2,...,an]|第2 个行列式由于存在线性相关,所以是0,所以|A-B|=|A|。证毕。证明的过程有通用性吗?如果不是A.a2=B.a1,我们写成通用形式 A.ai=B.aj,i!=j,那么结果相同。由于i和j不要求是特定值,对所有情况都适用,因此任意的线性组合,包括任意多次的线性变换,都一定符合: 递归是不需要证明的,因为递归包括了对自己的证明。从求解行列式的过程可以看出,对于可逆的A总可以通过行和列的线性变换变成I,那么线性变换就是矩阵, 那么说明总是存在可逆矩阵P,Q使得PAQ=I。线性变化PA表示对A的行变换,AQ表示对A的列变换。这里没有严格的数学证明,所有的证明都是基于概念 和符号的。这就是符号系统的威力所在。那么,怎么求迹矩阵?我们从[A|E]求出[E|X],由于矩阵就是线性变换,那么A->E相当于A乘以了 A^-1,那么X=E*A^-1=A^-1。那么伴随矩阵呢?这个是和逆矩阵相关的概念,只是不同的求逆矩阵的途径。伴随矩阵的每个列向量a*i和原来矩 阵的第i个行向量相乘,和等于1,和其他的行向量相乘和=0,那么显然可以用代数余子式的正交性质来得到。证明略。 [二. 矩阵运算的物理含义] 如果把矩阵看成一个2维坐标系离散值的几何,那么 1. 矩阵加法A+B就是A的各个点作平移,平移的度量是B当中对应的点。 2. 矩阵乘法A*B就是一种线性映射:如果A是x/y坐标系,B是y/z坐标系,那么结果就是x->z的映射。举个例子,有3个国家,A国有三个城市,B国有三个城市,C国有两个城市。他们之间的道路状况如下用矩阵表示 ->B1,B2,B3 A1 1, 1, 0 A2 1, 0, 1 A3 1, 1, 0 ->C1,C2 B1 1, 0 B2 1, 1 B3 0, 1 那么从A国的每个城市出发经过B到达C的每个城市,各自有多少条线路? 答案就是A*B=[(2,1),(1,1),(2,1)] 3. 我们深入的讨论一下"映射"的概念。举实数为例,y=ax是一个乘法映射,每一个x对应一个y。那么如果知道y求x呢? x=a^(-1)*y。这里影射函数f(x)=ax和反函数g(x)=a^(-1)x互逆。那么我们推广到N维坐标系空间里面就看到,矩阵就是一个N*N 的坐标系映射。AX=B,把B看成Y,那么X=A^(-1)*Y。前提是A的范数!=0。我们构造的得到的A的1范数就是它的行列式。那么到底什么是映 射? 莱布尼茨说映射就是一组2元关系。在1维的时候表现为函数的形式f(z)=z,在多维的时候表现为矩阵的形式。1维的多次映射表现为函数的嵌套(g o f),多维的情形可以写成矩阵的乘法。当然,限制条件是,矩阵能表示的是一个离散值的集合。当然,方阵才有逆----方阵是维数不变的N->N的一 一映射,所以可能有且只有一个反映射,或者没有反映射。N->M的不同维数映射无法得到反映射。 4. 形式化的定义。我们如果把矩阵看成一个"算子"的话,矩阵的乘法就能看成一个状态机的推演,推算的过程就是一次算子入栈,反推的过程就是算子出栈。那么显 然就能够理解(AB)T=B(T)*A(T)以及(AB)^-1=B^(-1)*A^(-1),(AB)* = (B*)*(A*)。我们从伴随矩阵的性质AA*=|A|E得到A^(-1)=A*/|A|。矩阵左乘是行变换,右乘是列变换。把矩阵看成算子,同时可以 把子矩阵看成算子,分块矩阵的相成和行列式求解也就很简单了。可以把小的矩阵当成一个数来看待。三角阵通过初等变换可以变成分块阵。 5. 初等矩阵有3种,对应3种最基本的矩阵变换,也就是行列互换,行列数乘,一行/列数乘以后加到另一个行/列上面。初等矩阵都可逆。线性变换的结果是"相 抵"的。一个矩阵总是能等于一个初等变换矩阵,并且逆矩阵的属性不变。对于可逆矩阵A,总有P1P2P3...PnAQ1Q2...Qn=E。或者说存在 可逆矩阵P/Q使得PAQ=E。例如,如果A,B和A+B都可逆,那么A(-1)+B(-1)=B(-1)(B+A)A(-1)也是可逆的。 6. 于是有了线性空间的概念:线性空间V就是一个集合,它同时满足V上的元素加法和对于数域K上面的乘法满足8条线性运算的规则。 7. 为什么要讨论相似? 这里面包含了一种不变性,是研究变换的数学工具。实数变换可以拆分成复数变换,例如酉矩阵,在晶体学里,酉变换叫做幺正变换,也就是将空间(可以是任意维 的)中一组基矢做一个旋转操作,不改变矢量的大小和内积。而在量子力学里面,这个用处就更大了,本质上就是量子力学所说的表象变换。是连接两个表象的桥 梁。 矩阵代表了一种二元关系。函数映射是一种1维的二元关系,那么矩阵就是一种N维的二元关系。矩阵的方法就是一种映射的运算,之所以成为线形运 算,是因为每一个投影都是具有拉伸和整体旋转的几何意义,相当于向量通过平面镜映射到一个投影平面上面的结果。这里只有平面镜和投影平面,没有哈哈镜和投 影曲面。如果我们把2元的对应关系写成复数形式z=x+yi,那么f(z)就是一种投影的关系,只不过f(z)是直线方程的时候对应于一个等效的矩 阵,f(z)如果不是直线方程,那么就是一种非线性变换。线形变换有许多很好的性质,能够保持信息的数量和结构保持某种程度的不变性,同时使得结果方便理 解和处理。 映射还有一个性质,就是保角性。假设我们要研究x/y平面上面的x^2-y^2=c和xy=d这两个双曲线之间的夹角,怎么办? 我们可以用微元的办法(微分几何)来求出。但是这样当然很麻烦,而且是一题一解(牛顿喜欢这样做,但是莱布尼茨反对这种解决方案),不太符合公理系统和形 式化推理的思想。考虑z1=x+yi,z2=y-xi,f(z)=z^2 费波纳契数列的求解 遇到过这样的问题: 一个数列a(-1)=1,a(0)=1,a(n+2)=a(n+1)+a(n)求an的通项公式。用中学时代的眼光我们可以观察到,如果an当n-& amp; gt;无穷的时候,是个等比数列,显然符合递推公式。那么我们就可以假设an=入a(n-1),那么由递推公式我们就可以得到:入^2*a(n-1)= 入*a(n-1)+a(n-1),求得入=(1+根号5)/2(应为这个比值要>1),那么an=入^n*a0。当然这个只是一个近似公式,结果不 准确而且推导的过程不严格。那么我们用大学的线形代数来求解。我们考虑修正方案构造一个等比数列,an+Aa(n-1)=B(a(n-1)+A(a(n- 2),化简得到an=(B-A)a(n-1)+Aa(n-2),于是B-A=1,AB=1,解得A/B=(根号5+-1)/2,剩下的可以参看一组 Wiki(http://zh.wikipedia.org/wiki/%E6%96%90%E6%B3%A2%E9%82%A3%E5%A5%91 %E6%95%B0%E5%88%97)。 线形代数有什么好处? 就是求解的过程本身可以一直保持变量的形式,可以{zh1}一步才代入实际参数。我们写出一个矩阵形式的递推公式: [a(n+1)]=[1,1][a(_n_)]=[1,1][1,1][a(n-1)]=...=[1,1]^n[a(0)] [a(_n_)]=[1,0][a(n-1)]=[1,0][1,0][a(n-2)]=...=[1,0]乘[a(-1)]-> 也就是我们假设A={[1,1],[1,0]}那么就有[a(n+1),a(n)]=A^n*[a0,a(-1)]。于是我们可以通过求解A^n来得到通项公式。求出A的特征值|A-入E|=0-> |1-入,1| |1,0-入| = 入^2-入-1=0,两个特征值分别是:入1=(1+根号5)/2,入2=(1-根号5)/2。入1对应的特征向量: |A-入E|x=0-> |1-入1,1| |1,0-入1| = |入2,_1| |0,-入1|所以对应的特征向量是(1,-入2)。而入2对应的特征向量同样的求法得到(1,-入1)。所以可逆矩阵P= [___1,___1] [-入2,-入1],|P|=(-入1+入2)|=-根号5。它的逆矩阵P(-1)= [入1,1] [-入2,-1],除以根号5。所以A=P(-1)*B*P,B是A的特征值构成的对角矩阵。所以 [a(n+1),a(n)]=A^n*[a0,a(-1)]=P(-1)*B^n*P*[a0,a1]->当a0=a-1=1时an=(入1^(n+1)-入2^(n+1))/根号5 [三. 具体的性质和计算] 1. 对于克莱姆法则求解的过程,我们看到Ax=0的情况,对应于每个解分量的克莱姆除法式,Xn=Dn/DA,Dn矩阵中有一个全为0的列向量,那么求行列式 的过程(全乘)结果肯定为0,所以方程组至少有个解向量就是[0,0,0,....]。这验证了我们前面说的,空间直线/面相交于原点的情况。 2. 对于行列式除法,如果有分母等于0的情况,Ax=b就“可能“对应于无穷个解。当然,解之间符合一定的数学约束关系(例如3维空间中的某个直线方程)。举个例子,x=1,y=1,x-y=0这3个平面交汇于直线(x=1,y=1),那么分母行列式些出来就是 |1,0,0 | |0,1,0 | |1,-1,0| 第 三个行向量是冗余的,它的行列式=0。为什么说可能无穷个解(去穷个z),因为b不同,可能还会导致无解。那么,我怎么知道有解还是无解呢? 那就要求出所有克莱姆除法式的分子,如果有分子分母同为0的情况,就是无解,例如x=1,y=1,x-y=1这3个平面两两相交,但是就是没有公共的部 分,克莱姆解法求z分量的过程,克莱姆分子就是下面这个矩阵的行列式 |1,0,0 | |0,1,0 | |1,-1,1| 显然行列式=0。 克莱姆法则提供一个同用的解方程的方法:我们不再需要通过观察数字拼凑的方式来消元了。当然,直接用克莱姆法则还是太复杂了。首先,随着维数的升高,计算 复杂度指数增加O(N!),然后只有求出了所有的克莱姆分子行列式才能判断是否有解,冗余度很高。所以我们需要进一步广义地研究矩阵的特性,矩阵的秩,特 征矩阵/向量/值,等等。我们需要从Ax=0推理到Ax=b。 3. 例子: 如果有电路如下,一共5个电阻,方括号中的是电阻值: |-[1]-----[2]----| | | | | [1] | | | | |-[2]-----[1]----| 那么如果电路左端是1V电压,电路右端接地,那么流经每个电阻的电流是多少? 我们可以假设流经每个电阻的电流是x1,x2,x3,x4,x5(从上到下从左到右分别是x1,x2,x5,x3,x4),电压有4个方程,电流分配有2个方程,显然有一个方程是冗余的,没关系,联立求解就可以了。 x1,x2,x3,x4 x1+2x2=1 2x3+x4=1 x1+x4+x5=1 2x2+2x3-x5=1 x1-x2-x5=0 x3-x4+x5=0 1 2 0 0 0 1
0 0 2 1 0 1 1 0 0 1 1 1 0 2 2 0 -1 1 1 -1 0 0 -1 0 0 0 1-1 1 0 -> 1 2 0 0 0 1 0 0 2 1 0 1 0 -2 0 1 1 0 : 0 2 2 0 -1 1 -> 0 -3 0 0 -1 0 : 0 0 1-1 1 0 -> 1 2 0 0 0 1
0 0 2 1 0 1 0 0 2 1 0 1 : 0 2 2 0 -1 1 0 -3 0 0 -1 0 : 0 0 1-1 1 0 -> 少一行 1 2 0 0 0 1 0 0 2 1 0 1 : 0 2 2 0 -1 1 0 -3 0 0 -1 0 -> 0 0 1-1 -1 0 |