矩阵基础(三)

来源:互联网 发布:linux编译比特币 编辑:程序博客网 时间:2024/06/01 08:33

向量空间和子空间

向量空间对数乘和加法封闭。
属于向量空间的一个向量空间即是其子空间,比如

R2
空间中的一条过原点的直线。(想想为什么必须过原点,因为不过原点显然乘法不封闭。)

空间

R3
一共有四个子空间,分别是
R3
本身、过原点的平面、过原点的直线和原点。
性质:假设有子空间S和T,则S和T的交集还是子空间,但是S和T的并集就不是子空间了。

用矩阵构造空间

矩阵的列空间:用矩阵A的列的线性组合构成的空间,记作:C(A)
举个例子,假设有矩阵A:

A=123433332345

显然,矩阵A的列向量组成的列空间C(A)即是A的列向量的线性组合构成了
R4
的一个子空间。
显然,这个列空间不可能构成整个
R4
空间,这样可以得到方程:
Ax=b

对于任意向量b不一定总有解,因为Ax是子空间的一个线性组合,b向量不一定刚好是C(A)空间中的一个向量!换句话说,只有向量b属于A的列空间时,这个方程才有解。
C(A)构成的空间有可能不是三维子空间,因为A三个列向量不一定线性无关。比如例子中的A就是
R4
的一个二维子空间。
矩阵A的零空间是当b是零向量时,x的解空间,记作:N(A)
注意:例子中的C(A)属于四维空间(矩阵A的行数),N(A)属于三维空间(矩阵A的列数)。
矩阵的行空间:用矩阵A的行的线性组合构成的空间,通常使用A的转置进行处理,因此记作:
C(AT)

矩阵A转置的零空间方程:
ATx=b

中当b是零向量时的x的解空间,记作:
N(AT)
通常也叫做“左零空间

矩阵的秩

假设有矩阵A为:

1232462682810

通过消元法得到矩阵的上三角阵U为:
100200220240

显然主元数为2,则A的为2,记作:R(A)=2。
含有主元的第一列和第三列称为主列,剩下的第二列和第四列称为自由列
之所以这样叫,是因为对于方程:
Ax=0x=x1x2x3x4

来说,解x的第一列和第四列对应的系数变量可以是自由取的,比如取:
x2=1,x4=0x1=2,x3=0x1N=2100

注:下标N代表零空间的解,上标1代表第一个解,即A的零空间的第一个解

然后,让我们取:

x2=0,x4=1

时,可以得到零空间的第二个解:
x2N=2021

注,两组自由变量要取的不相关,如[1,2],[2,4]就不行。取[1,0],[0,1]是为了好计算剩下两个变量,当然去其他的不相关的值也行。

这样可得:

Ax1Nx2N线Ax=bx=k1x1N+k2x2N(k1,k2R)

通过上面内容可以得出:对于任意m行n列的矩阵A,如果秩R(A)=r,则说明通过消元法后A有r个主变量,n-r个自由变量。
简化的U矩阵:将主元全变为1,同时主元的所在列的其他元素都为0,对于上面例子中的U最终可简化为:
Urref=100200010220(rrefreducedrowechelonform)

注:matlab使用函数rref(A)即可得到该值。使用null(A)就可以得到矩阵A的零空间的矩阵。

可解性和解的结构

显然,如果需要:

Ax=b

只有向量b属于A的列空间时,这个方程才有解。
如果方程有解,则解的结构为矩阵A的零空间加上一个特解。
特解可以令所有自由变量为0,然后求取其他变量。
例如,使用上一个小节的A,有方程:
Ax=b,A=1232462682810b=3811

进行初等行变化后得:
[A|b]100200220240320

令自由变量为0和0,则解得主变量为1和1,最后特解:
x=1010

最后解得结构为:
x=k1x1N+k2x2N+x(k1,k2R)

这个解的结构可以理解为过原点的超平面。即零空间,通过平移一个特解的距离得到的一个超平面。

总结一下,有矩阵A为m行n列,矩阵A的秩为r,则:
r=m=n时,行最简型为单位阵I,Ax=b的解有一个;
r=m

I0
Ax=b的解有一个或0个解;

r=n

I0F0

其中I和F会混合,因为主元不一定都刚好挨着。Ax=b的解有0个或一个或无穷个解;

原创粉丝点击