零空间
矩阵$A$的零空间就$Ax=0$的解的集合。假设矩阵的秩为$r$,矩阵为$m\times n$的矩阵,则零空间的维数为$n-r$。因为秩为$r$,则自由变量的个数为$n-r$,有几个自由变量,零空间就可以表示层几个特解的线性组合,也即是零空间的维数为自由变量的个数。
什么情况下,向量$x_1,x_2,\cdots,x_n$是线性无关的?
答:当向量$x_1,x_2,\cdots,x_n$的线性组合(线性组合时系数不能全为$0$)不为零向量时,它们是线性无关的。即方程
不存在非零解。
对于一个矩阵$A$来说,当$A$总各列向量是线性无关时,则$Ax=0$的解只有$0$向量,即矩阵$A$的零空间只有零向量。 如果各列向量是相关的,则矩阵$A$的零空间中还存在一些其他的向量。
当矩阵$A$各列是线性无关的,则矩阵$A$各列都有主元,自由变量的个数为$0$。
我们知道,矩阵各列的线性组合生成矩阵的列向量。但是,矩阵的各列有可能不是线性相关的。我们关心的是这样的一组向量:既能生成空间,又是线性无关的。这样的向量我们称为空间的基。
如果要确定一个空间,我们只需要知道该空间的基,就了解了该空间的所有信息。例如:在三维空间中,向量的一个基是:
当然,我们还可以写出其他的基,只需要满足基的两个性质:1、生成空间;2、线性无关。但是基中向量的个数是一样的。对于一个n阶的方阵A的各列想要成为$n$维空间的基的话,该方阵必须是可逆的。
维数的定义:空间内任意基内向量个数称为空间的维数。
空间内所有的基内向量个数是相同的,都指空间的维数。
下面我们来举例说明上述概念:假设矩阵为$A$:
矩阵$A$的各列生成矩阵$A$的列空间。
矩阵$A$的各列不是$A$的列空间的基,因为它们线性相关,列空间的一个基是矩阵的第一、二列。
我们可以通过消元知道,该矩阵的秩为$2$,该列空间的维数为$2$。即矩阵的秩是列空间的维数!
一般情况下,一元$n$次多项式可写成:
其中,$p_i$是指数为$e_i$的项的非零系数,且满足
因此,我们可以采用线性表(定义:线性表是由$n$个数据元素构成的有限序列,比如数组、向量、链表等等)来表示:
其中,每一项的指数$i$可以用其系数$p_i$的序号表示。
说起迷宫想必大家都很熟悉,个人感觉迷宫对人的方向感是很大的考验,至少我的方向感是不好的,尤其是在三维空间中。由于这段时间帮导师做项目用到了三维作图,便心血来潮想做个三维迷宫玩玩。要想画出三维的迷宫游戏,我们需要先从二维开始。
假设有一矩阵$A$,其中$A{ij}=A{ji}$,则称这个矩阵为对称矩阵。
对称矩阵有如下性质:
也就是说:1、一个对称矩阵的转置和其逆是相等的;2、一个对称矩阵可以由一个矩阵和其转置矩阵相乘得到。
向量空间即空间中向量的四则运算得到的向量人在空间中。
1、二维情况下,其子空间有
a、零向量(0,0)
b、过零点的直线
c、$\mathbb R^2$整个空间
2、三维情况下,其子空间有
a、零向量(0,0,0)
b、过(0,0,0)的平面
c、过(0,0,0)的直线
d、$\mathbb R^3$整个空间
假设有一个矩阵$A$:
则$A$的列空间为$A$中各列向量的线性组合。
问题一:对于任意的$b,Ax=b$是否有解?
答:不一定,$3$个列向量的线性组合不能充满四维空间
问题二:对怎样的$b$,$Ax=b$有解?
答:当$b$属于$A$中列向量的线性组合,即$b$属于$A$的列空间
假设有一个矩阵$A$:
则$A$的零空间就是使得$Ax=0$的解的集合。由于$A$比较特殊(第一列+第二列=第三列),我们可以直接给出下式:
则零空间为:
能使用消元法的情况:每次消元过程中,对角线元素始终不能为0,即矩阵可逆
我们一般利用高斯消元法进行矩阵的消元。下面我们通过举例说明:
如果按照我们初中所学的解法,一般是先用第三个方程将$z$用$y$表示,然后代入到第二个方程就可以用$x$来表示$y$和$z$,最后代入第一个方程就可以求得$x,y,z$。这个算法的核心就是消元!下面我们看看矩阵形式的消元法。
首先将上面的三元一次方程组表示为矩阵形式为:
为了方便,我们将等式右边的向量放到左边,构成增广矩阵(可以百度看看什么是增广矩阵)。下面是消元的具体步骤:
其中,上图中的第一个矩阵就是所说的增广矩阵,我们记作$A$,经过步骤$E{21}$得到的矩阵为$B$,经过步骤$E{32}$得到的矩阵为$C$。
步骤$E{21}$的目的是$A{21}=0$,这里是指用第二行减去第一行的三倍
步骤$E{32}$的目的是使$A{32}=0$,这里是指用第三行减去第二行的两倍
注:高斯消元的目的是使原矩阵(不要考虑最后一列,这一列是等式右边的,matlab是分别对左右两边进行消元的,我这里写在一起是为了方便)对角线下面的元素为0,变成上三角矩阵,在上面例子中本应该在步骤$E{21}$和步骤$E{32}$中还有步骤$E{31}$,使得$A{31}=0$。但是原矩阵的$A_{31}=0$,所以没有必要进行操作。尽管这一步骤没有必要,但matlab会进行操作(没有人机智)。
通过消元得到的结果矩阵$C$(上图中的第三个矩阵),我们可以写出其方程组的形式:
上面方程组可以直接看出,$z=-2$,然后代入第二个方程得到$y=1$,再代入第一个方程得到$x=2$。
在上面的消元过程中,原始矩阵$A$经过步骤$E{21}$得到矩阵$B$,矩阵$B$经过步骤$E{32}$得到矩阵$C$,我们用矩阵来表示步骤$E{21}$,步骤$E{32}$,则可以得到:
把这两步综合起来得到:
总结,我们令方程组左边的矩阵为$D$,用初等矩阵$E$来表示消元操作,用上三角矩阵$U$表示消元得到的结果,则以上式为例:
1、行交换:左乘
2、列交换:右乘