本周课程主要内容有:
- 空间维度和向量集的秩;
- 直和与互补子空间;
- 矩阵可逆判据;
- 对偶空间。
由变形引理(Morphing Lemma):
V 为向量空间,A 为 V 的一组生成集,B 为 V 的一组基底(Basis),则有 | B | < | A |。
可以得到两个重要的定理:
- 向量空间 V 的所有基底都是它的最小生成集。
- 向量空间 V 的所有基底具有同样的大小(Size)。
基于这样的事实,可以得到线性代数中另外两个重要的概念
- 维度(Dimension):向量空间 V 的基底的大小称为该向量空间的维度,表示为 dim V 。
- 秩(Rank):Span S 的维度称为向量集合 S 的秩,表示为 rank S。
进一步,对于矩阵 M ,M 的行秩为它各行组成向量集的秩,列秩为它各列组成向量集的秩。
接下来介绍两条关于向量集合的引理:
- 子集基底引理(Subset-Basis Lemma):每个有限的向量集合 S 必包含一个子集,且这个子集是 Span S 的基底。
- 超集基底引理(Superset-Basis Lemma):对向量空间 V ,令 C 是属于 V 的一组线性独立的向量集合,那么 V 必有一个基底包含了 C 中的所有向量。
由这两个引理出发,可以得到一个定理:对向量集合 T,有 rank T <= | T |。
对维度,有
维度引理(Dimension Lemma):
设 U 是 W 的子空间,则有:
- D1 :dim U <= dim W;
- D2 :如果 dim U = dim W,则 U = W。
由此引理可以得到维度定理(Dimension Theorem):
对于有限的 D ,每个子空间 F^D 包含一个基底。
对秩,有
秩引理(Rank Lemma):
对任何矩阵 A ,都有 A 的行秩 <= A 的列秩。
由此引理可以得到秩定理(Rank Theorem):
对任何矩阵 M ,均有 M 的行秩 = M 的列秩。
再补充一些有关直和(Direct Sum)的相关内容。
直和的定义为:如果 U 和 V 只共同包含零向量,那么 U 和 V 的直和为集合{ u + v :u 属于 U ,v 属于 V },表示为 U(+)V 。
根据定义,可以得到几个引理:
- 引理一:U(+)V 是一个向量空间。
- 引理二:由 U 的一个生成集和 V 的一个生成集联合组成的集合构成 U(+)V 的一个生成集。
由上述引理二可以进一步得到直和基底引理(Direct Sum Basis Lemma):U 的一个基底和 V 的一个基底的联合是 U(+)V 的一个基底。
由这一引理有可以得到一个结论:dim U + dim V = dim U(+)U。
对直和的这些性质进行拓展,可以得到互补子空间(Complementary subspace)的定义:如果 U(+)V = W ,那么称 U 和 V 为 W 的互补子空间。
根据这一定义,不难得到定理:对于任何具有有限维度的向量空间 W 和它的任何子空间 U ,必存在一个子空间 V 使得 U 和 V 是 W 的互补子空间。
回顾一下前面的知识,如果要知道一个矩阵是否可逆,那么可以通过证明函数 f (x) = M * x 是否可逆得到,而要证明一个线性函数 f :V -> W 是否可逆,只需要知道两个问题:
- 是否一对一:函数 f 是一对一意味着它的核(Kernel)是平凡的(Trivial),等价于它的核的维度是否为0;
- 是否映射的:函数 f 是映射的(Onto)意味着它的映射(Image)等于值域。
第一个问题已经解决,下面解决第二个问题。
首先根据映射定义,不难得到引理:函数 f 的映射是 W 的一个子空间。
在此基础上,根据维度引理,可以得到如果 dim Im f = dim W ,则有 Im f = W ,即函数 f 是映射的。
由此得出一个结论:当且仅当 dim ker f = 0 且 dim Im f = dim W 时,函数 f 是可逆的。
将这个结论与定义域的维度联系起来,可以得到定理:要使 f 是可逆的,需要满足 dim V = dim W。
根据上述知识,可以进一步得到核-映射定理(Kernel-Image Theorem):
对任意的线性函数 f :V -> W ,有
dim ker f + dim im f = dim V
由此推导得到线性函数可逆定理:
令 f :V -> W 是一个线性函数,当且仅当 dim ker f = 0 和 dim V = dim W 时,f 是可逆函数。
将核-映射定理应用于线性函数 f(x) = Ax ,有:
- ker f = Null A
- dim Im f = dim Col A = rank A
定义矩阵A的零度(nullity)为 dim Null A ,有核-映射定理,可以得到秩-零度定理(Rank-Nullity Theorem):
对于任意的 n 列矩阵 A ,有
nullity A + rank A = n
由这个定理,可以得到判定矩阵是否可逆的一个判据:
令 A 是一个 R * C 矩阵,当且仅当 | R | = | C | 和 A 的各列线性独立时,矩阵 A 是可逆的。
根据零度的定义,及前面章节相关知识,不难看到:
nullity A = 0
等价于
dim Null A = 0
等价于
Null A = {0}
等价于
满足 Ax = 0 的唯一向量为x =0
等价于
A 各列是线性独立的。
由上面的判据,可以得到几个关于可逆性的定理:
- 定理一:可逆矩阵的转置仍然是可逆矩阵。
- 定理二:假设 A 和 B 都是方阵(Square Matrix),且有 BA 等于单位矩阵I,则 A、B 互为逆矩阵。
在前面的文章中曾经提到过,向量空间有两种表示方式:齐次线性方程组的解集以及生成向量集。对于同一个向量空间,应该如何在这两种表示方式之间进行转化呢?
对这一问题的求解过程中,可以得到另外一个重要的概念——对偶空间(Dual Space),定义为:对 F^n 上的一个子空间 V ,它的对偶空间表示为 V* , 且有 V* = {u 属于 F^n :u .* v = 0 对于所有 v 属于 V }
与前面的关系比较可以得到对偶维度定理:dim V + dim V* = n。
以及定理:( V* )* = V。
至此,我们介绍完了本周课程所有的理论基础知识。
下面是算法描述:
本周最重要的算法是判断一个矩阵是否可逆。
def is_invertible(M):
'''
input: A matrix, M
outpit: A boolean indicating if M is invertible.
'''
# if column list of M is linear independent
# if the number of columns is equal to number of rows
# return True
# return False