第7课 求解Ax=0:主变量、特解

来源:互联网 发布:质量用数据的重要性 编辑:程序博客网 时间:2024/06/04 23:20

第7课 求解Ax=0:主变量、特解

求解AX=0的步骤

对于矩阵A=1232462682810,求解AX=0。

很明显这个矩阵的第三行不是线性无关的,它是第一行和第二行的和。

首先进行消元

其中红色标记的为主元。
1232462682810row3=row33×row1row2=row22×row1100200222244row3=row3row2100200220240

消元后得到矩阵U,它是一个阶梯型矩阵,非零元素以一种阶梯形出现。

在本例中,主元的数据为2,该数字称为矩阵的秩(Rank),它等于矩阵消元后主元(privot)的个数。

现在我们有两个主元列(pivot columns)和两个自由列(free columns)。自由意味着,x2x4(自由列所对应的列)可以任意取值。然后可以根据他们的取值算得主元列x1x3的值。

回代,求特解

将U写成等式形式:

{x1+2x2+2x3+2x4=02x3+4x4=0

我们随便取一个特解x2=1,x4=0,则可以求得X=2100,它的任意倍数cX,还是AX=0的解。

然后我们取x2=0,x4=1,则可以求得X=2021

这两个解我们称为特解(special solutions),根据这两个特解我可以线性组合出整个零空间。

X=c2100+d2021

现在我们把它串起来,如果矩阵经过消元后其主元的个数是r,那么他的秩是r,对于一个m×n的矩阵,它就有n-r个自由变量。

RREF 简化行阶梯型矩阵

reduced row echelon form

对于矩阵U=100200220240,我们可以继续消元,向上消元,使得主元上面的元素也变为0。然后使主元全部变为0。

100200220240row1=row1row2100200020240row2=row2/2100200010220=R

在Matlab中可以通过调用rrfe,把矩阵从A变成R。

RREF的用途

以上面的R为例,我们通过R可以立即得到两个矩阵,一个是两个主元列和主元行交汇成的一个单位矩阵I=[1001]另一个是两个自由行相交得到的矩阵F=[2022]

RRFE相当于把U所对应的等式变得更简,化成下面的形式RX=0

{x1+2x22x4=0x3+2x4=0

看看上面的两个特解和I、F的关系。
X=21002021。恰好等于[IF]

WHY?

R矩阵的形式像这样[I0F0],I是一个r×r矩阵,F是一个n-r个自由列。

我们构造一个矩阵,它的列是这些特解。这个矩阵我们称之为N=[FI],这样RN=0

举例

矩阵A=[123 246 268 2810],很容易通过计算得到,它也有两个主元。

1222246836810100020243024U100022003200R100001001100

X=c111=c[FI]

0 0