每个矩阵都有四个非常重要的向量空间。在这篇文章中,我探索了列空间、行空间、零空间和左零空间——为这些空间寻找基向量,并确定给定的向量是否是特定空间的一部分,这对于理解线性方程组是否可解是至关重要的。关于这些向量子空间的知识会告诉我们为什么Ax = b和Ax = 0有时有解,有时无解。
用列的线性组合表示矩阵乘法
矩阵和向量可以用各种形式表示,矩阵乘法通常用列向量表示。
矩阵乘法可以解释为取列的线性组合。
线性组合:由一组项组成的表达式,每一项乘以一个常数,然后将结果相加。
xc_1+ yc_2之和为A列的线性组合;这是一个“加权和”,当我们把矩阵和向量相乘时就会得到,它是对高中教的矩阵乘法“行列法”的另一种解释。
数字x和y有一个特殊的名字——标量,它们在不改变矢量方向的情况下“缩放”矢量的大小。
线性无关和基向量
线性组合引出了线性无关的概念;一个向量集合是线性无关的,如果在这个集合中没有任何向量可以被表示成其他向量的线性组合。在几何上可视化线性无关可以表述为,当向量指向不同方向时,它们是线性无关的。
第一组向量(红色和蓝色)不是线性独立的,因为它们在同一条线上;它们其中任意一个向量乘以-1就会得到另一个向量。
图中的紫色向量p是其他两个向量的一个线性组合;将蓝色和红色的向量b和r相加得到紫色的向量,得到了重要的替换p = b + r,用这种方式消去p表明它是多余的——在这个二维空间中,我们已经有了两个独立的向量,它们可以通过线性组合产生空间中的任何其他向量。
我们可以选择消去三个线性相关的向量中的任何一个,但构造一个线性组合来产生b或r会更困难。当给定一组线性相关的向量时,我们应该在首先消去那些容易被表示成线性组合的向量。
线性相关:如果存在一个非平凡的向量的线性组合,它等于零向量,那么这组向量就是线性相关的。(维基百科)
这个定义实际上和我们的定义是一样的。如果向量集合中的向量v可以写成其他向量的线性组合,则向量集合{v_1,v_2,…,v_n}是线性相关的。将其化成方程形式,v = (bv_1+ cv_2+…+ zv_n),取标量值b, c,…,z。然后在v前面加上标量a(a可以等于1),得到我们的主要方程:
我们的线性相关方程
维基百科指出,向量的集合是线性相关的,当一个非平凡(即,你不能把所有的标量都设为零)向量的线性组合等于零向量。把它代入一个方程,我们得到:
维基百科的线性相关方程
现在,需要一个简单的证明来证明这两个表述是相同的。
重要的是要知道包含相关的列的矩阵是不可逆的;有多个线性组合等于零向量,所以不可能回到特定的向量输入。
一般来说,n维空间需要n个线性无关的向量才能使线性组合产生空间中的任意向量。如果小于n,就没有足够的“自由度”去充分“探索”这个空间。如果向量数大于n,那么你可以消去线性相关的向量,直到只剩下n个。
n维空间中的n个线性无关向量的集合有一个特殊的名字:我们称它为基。寻找一组基是一项困难的任务,但是存在像格拉姆-施密特(Gram-Schmidt)这样的过程来从一组给定的向量中生成基。或者,我们可以用数学直觉来建立一个基础;例如,沿着坐标轴的单位向量就是一组基。
向量空间是什么?
数学中的“空间”通常指的是对象的集合,我们将研究向量空间,其中的对象是向量。更奇特的空间(函数、希尔伯特、度规)也存在,但这些需要单独探讨。
向量空间也有加法运算(法则)。在线性代数中,一个运算作用于两个向量并产生另一个向量——我们将在向量空间中定义两个运算:向量加法和标量乘法。
向量加法
标量乘法
向量空间的一个重要性质是它们在这些运算下是封闭的。封闭的概念是,将这些运算应用于特定空间中的对象不能产生位于空间之外的另一个对象。一个熟悉的例子是实数,因为对实数执行加、减、乘或除永远不会产生非实数。类似地,我们将向量空间定义为向量的集合,因此标量乘法和线性组合不能产生初始空间外的向量。
向量空间:在标量加法、标量乘法和线性组合下封闭的向量集合。
“封闭”的一个有趣结果是所有向量空间都包含零向量。否则,针对特定基{v_1,v_2,…,v_n}的线性组合(0v_1+ 0v_2+…+ 0v_n)将不在向量空间中,因此,封闭要求将其(零向量)纳入向量空间中。
集合理论
集合就是对象的群集。有的集合元素很少,我们可以通过写下每个对象(元素)来定义,如S_1= {1,2,3,4,5};有的集合元素很多,我们可以用集合构建符号来表示一个集合,如
x指集合中的一个通用对象,冒号后面的是对象所要满足的条件。
子集是一个集合A,它的元素也是另一个集合B的元素;我们说B是A的超集。每个集合也是它自己的一个子集,因为每个包含在特定集合中的元素根据定义也是同一个集合的元素。
在这个图中,A是B的子集
一个向量子空间,也被称为线性子空间,是一个向量空间,它是某个更大向量空间的子集。根据我们之前对子集的定义,这也意味着每个向量空间都是其自身的子空间。零向量是向量子空间的一个关键例子;它符合向量空间的所有标准,因为它在线性组合下是封闭的,它是所有其他向量空间的子集。
张成空间:由一组向量S的所有元素的线性组合构成的向量空间。
与子空间密切相关的是张成空间,它是最小的线性子空间,包含S中所有元素的线性组合,我将用一些2D的例子来说明。
红色向量和蓝色向量组成一个集合S,它们张成的空间是二维向量空间中的一维线性子空间(绿色虚线)。
以这两个向量为例。我们的研究对象是一个二维平面,所以每个矢量也是二维的——它们都有两个分量(x和y)来表示它们的方向。然而,这个向量集合是线性相关的;它们都位于同一直线上,因此线性组合只能产生二维平面的一维线性子空间。我们甚至可以消去其中一个向量来得到一维子空间的一组基,因为我们只需要一个向量就可以通过标量乘法得到一条一维直线。
不是所有子空间的生成集都是基,但所有的基都是生成集。
一个二维空间的生成集。它不是一组基,但是所有这些向量的线性组合的集合填满了R^2;另一种说法是由这些向量张成的空间是R^2。
矩阵的转置
转置矩阵就是交换行和列——原始矩阵A的第一行变成转置矩阵A^T的第一列,A的第二行变成A^T的第二列,以此类推。
现在我们知道了线性组合,线性无关,基,向量空间和子空间,张成空间,以及转置,我们可以研究每个矩阵都拥有的四个基本子空间了。
列空间,C(A)
对于给定的矩阵A,列空间表示为C(A),是由A的列张成的向量空间。
不同矩阵的列空间。值得注意的是,列空间指的是列的所有可能线性组合的集合,即通过a、b和c的所有值产生的向量的集合。
A的列向量张成R^2,并且是R^2的一组基。C(B)也张成R^2,但是张成集中有三个向量,所以这不是一组基。C(M)在R^3中,但生成集中只有两个向量在;而线性无关向量的数量对应于我们线性组合集合的“自由度”,这意味着C(M)实际上是R^3的一个二维线性子空间。几何上讲,C(M)是一个经过原点的平面。
C(M), R^3的一个二维线性子空间
还记得我们之前是怎么把矩阵乘法解释成列向量的线性组合的吗?它看起来与我们的列空间计算非常相似!
列空间表示为矩阵乘法
因此,矩阵A的列空间可以被定义为包含A的矩阵乘法的结果所张成的空间。事实上,当b在C(A)内时,方程Ax =b是可解的。
何时Ax = b是可解的?当b在A的列空间中。
行空间,C(A^T)
一个矩阵的行空间是由它的行向量张成的向量空间。直接处理“行向量”很不方便,所以我们把矩阵A转置,然后运算它的列空间。
零空间,N(A)
矩阵的零空间N(A),也被称为kernel,是由Ax = 0的向量x张成的向量空间。
在本文的前面,我们探讨了矩阵乘法作为列的线性组合的解释,以及线性相关列“具有非平凡的线性组合等于零向量”的事实。现在我们把这些概念放在一起来零空间。
Ax = 0只出现在x = 0或者当A的列向量的线性组合为零向量时,这意味着列向量是线性相关的,A是奇异的。如果A的列是线性无关的(A可逆),唯一使Ax = 0为真的向量就是x = 0;如果零空间只包含零向量,那么我们认为它是平凡的。一般来说,只有奇异矩阵有非平凡的零空间。
要找到N(A)中的向量,我们要把A转换成一种特殊的形式叫做阶梯形矩阵。这与通过高斯消去法求解线性方程组密切相关。
Ax = 0什么时候有非零解?当A的列向量是线性相关的,也就是A是一个奇异矩阵。
左零空间,N(A^T)
左零空间“链接”到零空间与行空间“链接”到列空间的方式相同,我们定义它为向量x张成的向量空间,其中(A^T)x = 0。
正交补和子空间
其中u_i表示向量u的第i个分量为零。
其中u_i表示向量u的第i个分量为零。
“C(A)—N(A^T)对”和“C(A^T)—N(A)对”是非常特别的;每一对中的子空间是彼此的正交补,这意味着每一个子空间中的每一个向量都正交于另一个子空间中的每一个向量。
最后,值得注意的是,在n维空间中,每一对的维数之和为n。这个概念可以用“正交补填充整个空间”来简洁地表达。从每一对成员中提取基向量的线性组合,使我们能够为n维向量空间构建一个完整的基。
二维正交补的图解;红线上的每个向量都正交于蓝线上的每个向量。