第一章 矩阵和高斯消元法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一章 矩阵和高斯消元法相关的知识,希望对你有一定的参考价值。

  1. 消元法解方程,将矩阵化成上三角或者下三角矩阵:

    技术分享

    有100个等式的方程的消法需要3分之百万步(乘法和减法),接近百万步的时候,舍入误差将会很大。

     

  2. 行列式法(当矩阵变大时运算量急剧增大):

    技术分享

    消元法是当前普遍采用的方法。

     

    从行看,方程角度

    从列看,向量角度

    【从行向量的角度看线性组合Ax=b】

    面方程 ax+by+cz = d a,b,c中可以至多有两个为0,面只有两个维度,

    N维方程确定有n-1维的‘面‘(plane)

    线方程 ax+by = 0

    设方程为n维,每添加一个同维度的方程(一个新的‘平面‘,空间为n-1维),所确定空间的维度都会减1,要获得方程唯一解的话,至少要有n个方程

     

    不独立:两线平行(重合),两面平行(重合)或者方程无解(平行,或者不属于上述两种情况),注意线是一维的,面是二维的,从线和面自己定义的空间来说

     

    从列向量角度看线性组合:列向量的组合(combination)

     

    开始考虑线性组合的时候从方阵开始考虑,这是问题的出发点。以下大部分使用的都是三阶方阵。

    【奇异的情况】:

    注意这些无解的情况对应于几何表示的无交集和方程求解的无解,要从两方面去看待解的有无。

    注意平面的法向量。法向量不动而方程值右侧改变,会造成平面的平移

    在二维的情况下,平行线是唯一的无解的情况。

    三维情况下,奇异的情况(注意是三维的情况,下面画出的都是从侧面看到的面):

    技术分享

    对于(b),三面两两相交,交线彼此平行,没有交集,方程无解,事实上若第三个面不平行于前两个面的交线,结果一定会有一个交点,而不会出现无解的情形

    对于(c),用消法解方程会出现0=0的情形,此时有无限个解,这些解都在一条直线上(注意三维情况下无限解只有这种情况和三面重合的情况)。(b)中的面经过平移会出现(c)中的情形

    从列向量的角度:

    无解的情况:

    左边的三列向量属于同一个平面,右边的向量不在这个平面内

    无限解的情况:

    左边的三列向量属于同一个平面,右边的向量也在这个平面内

    技术分享

    确定三个向量在同一个平面内:Ax=0有(非全0)解,则三个向量在同一个平面内。

     

    总结:扩展到n维的情况下,如果n个‘平面(n-1维)‘(plane)没有交点,或者说有无限个交点(方程角度),那么这n列向量落在同一‘平面‘内,或者说这n列向量只确定了至多n-1维空间,没有涉及到第n维空间。

    如果row picture无解的话,那么coloumn picture自然也不会有解,两者表示的是同一个问题。

     

    U+v-w = 2 (1)

    2u+3w =5 (2)

    3u+v+4w=6 (3)

  3. (1)+(2)=(3)的含义:

    三维情况下点无限,只能是三 列向量 同平面

    因求的是(1)(2)(3)的交集,则点必符合(1)(2)(3)式,则点必符合(1)(2)式,则点必符合(1)+(2)式,实际上(1)(2)式的交集应该是一条直线,这条直线应该是(1)+(2)式代表空间的子集,因为(1)+(2)=(3),则(1)(2)(3)的交集就是(1)和(2)相交的直线,所以点是无限个

    再者列向量是否共面其实是和等式右边没有关系的,即等式左边的row picture如果经过简单变换能变成相加相等的形式就能确定左边的列向量其实是共面的,只要左边能换成相等的形式,总能找到符合(1)+(2)=(3)的等式右边的b,从而左边列向量是共面的。这个条件是充分的,但是不一定必要。

    确定共面的另一种形式(充分必要条件),令b=0,Ax=b,b=0,若有非全零解,说明列向量是共面的

     

    在进行消法运算中,出现了a!=b:

    也就是说,存在交集的假设根本不成立。。。意思就是没有交集,你可以认为它是一种反证法。

    【!!交集只是原来集合的子集,这些假设都是建立在这些子集上的,两方程的和式,差式,均是在交集上成立,而不是全集上成立】

     

    求两面交线:(1)垂直于两面的法向量(2)过交线上任意一点。。。但是,三维坐标系内会有直线方程存在么。。。。。。。。。所以结果必须用两个面来表示,一个方程是没法表示的

     

    技术分享如果(a,b)是(c,d)的倍数,则(a,c)一定是(b,d)的倍数

    (a,b)/n=(c,d) 则 (a,c)=(b,d)/w ,显而易见,a/n*w=b/n即c*w=d;

     

    高斯消元法:

    实际做的时候可以将后面的自变量去掉,只利用矩阵的形式

    技术分享

    技术分享

    高斯消元法解和奇异性的关系:

    唯一解: 非奇异

    一个pivot position出现0,之后此列剩余的系数就不能计算得到0,此时可能奇异,也可能是非奇异:因为可以调换行的位置,调换之后计算能够进行,非奇异,否则就是奇异的。

    非奇异和奇异的情况:

    技术分享 技术分享

     

    技术分享

    在这些图中对应的row picture:

    1. 两面平行,一定会出现两行相消 0 = x 的情况,若x=0,则两平行线合一,有无限个解,否则无解

       

      在对row picture进行变换的时候,

     

    对于row picture,若它有唯一解,则再为这个row picture添加一行,消法中最后一行会出现0=0的结果。

     

    1.4 矩阵记法和矩阵乘法

    M equations and n unknowns: m*n矩阵

    Vector:本书中指的是列向量

    Ax=b b叫做非齐次项

    【!!!】矩阵的乘法的两种解释形式:

    技术分享

    技术分享这种形式很重要,他表示列的和,x是系数

    技术分享:i行j列的元素

    M by n:m行n列

    X = (2,5,0)表示的是列向量,只不过写成了行的形式。

    I identity matrix单位矩阵

    Eij elementary matrix 初等矩阵

    技术分享

    E在高斯消元法中可以作为Elimination matrix:

    技术分享

    第二行的[-2 1 0]就代表消法的第二行结果为-2倍第一行+第二行,应该需要两个e才能完成三维的矩阵消法,因为一次只能处理一行。

    【!!】不妨看看多个Elimination matrix相乘的结果,结果很机智,绝对很机智

     

    可以记做:技术分享,或者:技术分享

    技术分享

     

    [!!]注意当矩阵扩展到如下形式时:

    技术分享

    [!!]注意AB的任一列都是A中所有列的一个组合(2,4)*1+(3,0)*5 = (17,4)

    [!!]或者看成AB的每一行都是B中所有行的一个组合2*[1 2 0]+3*[5 -1 0]=[17 1 0];

     

    换行矩阵:

    技术分享

    技术分享

    矩阵乘法运算律:

    结合律,分配率,不满交换律(commutative)

     

    几种特定形状的矩阵:

    技术分享

    ··

    两个上三角矩阵的乘积还是上三角矩阵,两个下三角矩阵的乘积还是下三角矩阵

     

    [!!!]矩阵的第三种计算方法:技术分享

     

    A=[1/2 1/2;1/2 1/2], A的不管多少次方都是自己

     

    将矩阵中的元素从头到尾翻转:

    技术分享

     

    技术分享

     

    矩阵块乘法:

    技术分享

    另外三种矩阵乘法计算方法遵从同样的计算规律,可以将一个块看成一个整体去计算。只要块的划分是正确的。

     

    1.5 三角因子和行交换

    上三角矩阵:upper triangular

    技术分享

    下三角矩阵:lower triangular

     

    [!!!]逆的问题竟然是从高斯消元法导出的:

    技术分享

    技术分享

    技术分享技术分享

     

    L计算的规律:

    技术分享

    技术分享

    L和U似乎是解决问题Ax=b的关键:

    技术分享 LUx=b

    先解A=LU,然后计算c,再计算x

    A good elimination code:

    技术分享

     

    分解的唯一性:

    如果技术分享,U‘s是有单位对角线元素的上三角矩阵,

    L是有单位对角元素的下三角矩阵,D的对角线元素没有0,则L1=L2,D1=D2,

    U1=U2;

    对于置换矩阵P来说,技术分享,且技术分享

    注意P的记法,P的下标表示的是P所交换的两行

    技术分享

    技术分享

    P的使用设想:

    技术分享

    当某个pivot接近0的时候,也需要换行,为了减少误差。

    注意在消元法过程中,如果出现了换行的情况,Elimination Matrix的相应的行也需要跟着改变。

    交换k,r两行的matlab算法,r在k下面

    A([r k],:) = A([k r],:); %交换AK两行

    L([r k],1:k-1)=L([k r],1:k-1);%交换Lk,r两行,之后做消元的时候是基于交换过

    %行的矩阵,注意实际交换的是A,是LA

    P([r k],:)=P([k r],:);

    sign = -sign

     

    A good question:技术分享

    注意对于技术分享来说,其在计算过程中一直保持此种形式

    技术分享这就对应了lij为什么会对号入座的问题,所有X的位置都会照搬到左边0的位置,对于GFE可不一定是此种形式,因为它的运算顺序于此相反,可以很容易的举出不能对号入座的例子,比如技术分享,很明显最后一行不是[-1 -1 1]。比如另一个例子:

    技术分享技术分享技术分享

     

    技术分享

     

    A=LDU,若A的元素关于主对角线对称,则L,U相互对称

     

    Tridiagonal matrice:

    技术分享

     

    [!!]matlab里进行LU分解的函数:[L,U,P]=Lu(m);

    Cholesky 分解: R = chol(A); 满足:技术分享

     

    1.6 逆和转置

    技术分享

     

    逆不存在:当Ax=0,且x不等于0,A无逆

    对于Ax=0,若A是可逆的,则x只有0解

    逆的定义式:技术分享

    逆存在:当且仅当消元法产生n个非0 pivots

    每个矩阵的逆是唯一的

    如果A是可逆的,则Ax=b的解唯一:技术分享

    因此,有逆对应于矩阵非奇异,无逆对应矩阵奇异

    行列式也可以确定矩阵是否可逆:

    技术分享

    Matlab里测试矩阵是否可逆是通过找n个非0 pivots的方法

    对角矩阵可逆的充要条件:对角线元素都不为0

    技术分享

    技术分享

    A=LU这个:技术分享

     

    Gauss-Jordan method来求逆:

    技术分享

    右边的inv(L)实际上就是技术分享(假设最简单情况下,没有行交换)

    技术分享

    U:技术分享 技术分享技术分享

    如果能求出技术分享,则Ax=b一步可解,但是作者更推荐使用A=LU的形式:

    技术分享

     

    注意:当A必须交换行以达到获取U的目的时,按照上节的规则,我们获取的是

    PA=LU,Gauss-Jordan方法并没有采用这种形式(技术分享,这才是它采用的形式,两者并不相同),当行交换时直接整行交换即可,结果是正确的,正好是技术分享

    技术分享

    可逆与否:本书将会从行的独立性,列的独立性,非0行列式,非零的特征值等这些方面去看待,以及与转置的关系这些方面去看待独立性。

     

    A 1-sided inverse of a square matrix is automatically a 2-sided inverse.

    1-sided inverse: a left-inverse or a right-inverse

     

    事实上Gauss-Jordan方法获得的是A的左逆:

    技术分享 p64

    因为矩阵的各种操作都是乘在A的左边

     

    左逆等于右逆的证明 p60

    可逆则有n个非零pivots的证明 p64

     

    转置矩阵:

    技术分享

    技术分享证明见p65

     

    对称矩阵:

    技术分享,必然是方阵

    对称矩阵不一定是可逆的,如果可逆,其逆一定是对称的

    技术分享

    即对于任意矩阵上三式一定是对称矩阵

    技术分享是对称矩阵 技术分享是斜对称矩阵

    技术分享 技术分享都是对称矩阵,但是两者通常不相等

    技术分享

    技术分享

    证明P66

    对于permutation matrices来说,技术分享。可以发现技术分享

    技术分享

     

    技术分享

    【!!】也就是说AB=AC,B和C并不一定相等,而且这种不相等是普遍存在的,而不是只有少数几种情况。

    技术分享 但是注意AB有逆可不代表A或者B是可逆的

    若矩阵的某列为全零,则矩阵一定是不可逆的(从技术分享角度去看),若某个pivots为0,则此列一定可以变换成全0的形式,故不可逆。

     

    技术分享

     

    【??】技术分享,(a)(c)应该是正确的

     

    Skew-symmetric : 技术分享

    实际上,可逆性这种性质一直在强调的是唯一性。一个矩阵的逆一定是唯一的,它实际是非奇异性的另一种应用形式。

     

    三元上三角矩阵求逆也是很简单啊:

    技术分享

     

    若A可逆,则技术分享也是可逆的:技术分享

    [??]若技术分享可逆,则A可逆?(技术分享是基于A有逆,由上可知,若A可逆,则技术分享也是可逆的)

     

    [!!]在matlab里,\\被用来处理Ax=b的问题,技术分享,实际就是b当分子,A当分母,因此使用左除\\

     

    分块矩阵的转置:技术分享技术分享

    技术分享:(a) (c)

     

    技术分享

    下三角矩阵的逆是他本身,下三角矩阵乘下三角矩阵还是下三角矩阵

    对称矩阵的逆是对称矩阵,对称矩阵乘对称矩阵结果不一定是对称矩阵

    对角矩阵的逆还是对角矩阵,两对角矩阵相乘还是对角矩阵

     

    只通过换行或者换列操作无法做到对一个矩阵的转置

     

    1.7 特殊矩阵和应用

    主要讲了三角对称矩阵在消元法时的所做的运算可以大为简化,使用了微分方程的例子。

    技术分享

    技术分享技术分享

     

以上是关于第一章 矩阵和高斯消元法的主要内容,如果未能解决你的问题,请参考以下文章

高斯消元法

高斯消元法

高斯-约旦消元法

高斯消元法

LG3389 模板高斯消元法 高斯消元

高斯消元法