1 2 »

Linear Algebra Done Right第六章注记和部分习题

注记部分:

1 有关"毕达哥拉斯"定理的内积证明

用向量计算的方法为什么能够证明毕达哥拉斯定理?它背后的原理和实质是什么?这部分内容见文章《用向量的内积证明勾股定理--体会代数的威力》

2 平行四边形法则与毕达哥拉斯定理--内积与范数

泛函分析中有一条著名定理,在一个赋范空间中只要一个范数满足平行四边形法则,那么它就是由某个内积诱导出来的,即可以找到一个内积使得每个向量的范数等于这个向量和自己内积的算术平方根。
那么平行四边形法则的实质又是什么?它和毕达哥拉斯定理又有什么关系?这部分内容见文章《平行四边形法则与勾股定理--内积与范数》

3 正交补空间性质  V=U\oplus U^\perp 的另一种推导

利用"有限维空间的任何一个非平凡的子空间都有非平凡的正交补空间"可以推导出这个性质。因为
假设  V\not=U+U^\perp,那么因为  U+U^\perp 有正交补空间不等于  \{0\},取  v\in (U+U^\perp)^\perp, v\not=0,那么  v 就垂直于  U 中的任何向量,根据正交补的定义,应该有  v\in U^\perp,但是  v 还垂直于  U^\perp,因此只能  v=0,矛盾。

不过,相比于书上的证明,这个证明有个缺点:只适用于  U U^\perp 都是有限维的情形,在后面讨论的  \sin x 的逼近问题中这个证明不适用。

4 定理6.45的矩阵证明

定理6.45:设  \varphi V 上的线性函数,那么存在唯一一个  v\in V 使得  \forall u\in V, \varphi(u)=\langle u,v\rangle

本章对这个定理的证明很简洁明快,但是我在理解它的时候想到了另外一种视角:矩阵视角。

证明:将数域  F 看成是它本身的向量空间,那么这个向量空间就是一维的。在一组基底下从 n 维向量空间到一维向量空间的任何线性映射都有 1xn 阶矩阵与之对应,即  \varphi 可以表示为如下形式:

 \varphi(x)=\begin{pmatrix}a_1&a_2&\dots&a_n \end{pmatrix}\begin{pmatrix}x_1\\ x_2\\ \vdots\\ x_n\end{pmatrix}

当所选取的  V 的基底是标准正交基底时,这个表达式又恰好是个内积表达式!它的值恰好等于  x

 \bar{a}=\begin{pmatrix}\bar{a_1}\\ \bar{a_2}\\ \vdots\\ \bar{a_n}\end{pmatrix}

的内积。证毕。

其实追溯起来,这两种证法完全一样,因为这里的  a 代表的向量就是  \sum_{i=1}^n\varphi(e_i)。但是,这样理解之后,就把内积和矩阵的乘积联系在一起了。

部分习题解答:

17 证明如果  P\in \mathcal{L}(V) 满足  P^2=P 并且  \mathrm{null}\,P 中的任何向量都垂直于  \mathrm{range}\,P 中的任何向量,那么  P 是个正交投影映射。
证明:满足  P^2=P 的线性变换,它的值域与零空间满足
 \mathrm{range}\,P\oplus\mathrm{null}\,P=V
因为值域中的任何向量  v=Pu,如果也在零空间中,即  Pv=P^2u=Pu=0,那么可见  v=0。再根据秩-零度定理得上式。
那么由题设条件,有  \mathrm{null}\,P=(\mathrm{range}\,P)^\perp
那么  \forall v=Pu+w, Pu\in\mathrm{null}\,P, w\in\mathrm{range}\,P,有  Pv=P^2u=Pu,这说明  v P 的作用下相当于  v \mathrm{range}\,P 的正交投影。

18 证明如果  P\in \mathcal{L}(V) 满足  P^2=P 并且  \|Pv\|\le\|v\|,那么  P 是个正交投影映射。
证明:根据上题,有 \mathrm{range}\,P\oplus\mathrm{null}\,P=V
那么任意向量  v=Pu+aw,有  Pv=P^2u=Pu,且因为  \|Pu\|\le\|Pu+aw\|,根据习题2,得  Pu\perp w,这说明值域中的任意向量(Pv)与零空间中任意向量(w)相互垂直,根据上题,得结论。

20 T\in\mathcal{L}(V) U V 的子空间。证明  U U^\perp 都是  T 的不变子空间当且仅当  P_UT=TP_U
证明:如果  U U^\perp 都是  T 的不变子空间,那么任意向量  v=u+w, u\in U,w\in U^\perp,有  P_UTv=P_U(Tu+Tw)=Tu=TP_Uv
如果  P_UT=TP_U,那么  P_{U^\perp}T=T-P_UT=T-TP_U=TP_{U^\perp},并且  \forall u\in U, Tu=TP_Uu=P_UTu\in U。同理可证正交补也是不变子空间。

26 取定一个向量  v\in V,定义  T\in\mathcal{L}(V, F) Tu=\langle u,v\rangle。对于  a\in F,找到  T^*a 的表达式。
解:(本题可以用矩阵分析或内积表达式分析)
因为  \langle u,T^*a\rangle=\langle Tu,a\rangle=\langle \langle u,v\rangle,a\rangle=\langle u,av\rangle,故  T^*a=av

28 T\in\mathcal{L}(V), \lambda\in F。证明  \lambda T 的特征值当且仅当  \bar{\lambda} T^* 的特征值。
证明: \lambda T 的特征值当且仅当  T-\lambda I 不可逆,即  \mathrm{null}\,(T-\lambda I)\not=\{0\},当且仅当  \mathrm{range}\,(T^*-\bar{\lambda}I)=\mathrm{null}\,(T-\lambda I)^\perp\not=V,表明  T^*-\bar{\lambda}I 不可逆。

平行四边形法则与勾股定理--内积与范数

所谓的范数,就是向量长度这个概念在一般向量空间中的推广。简单地讲就是从向量空间  V 到数域  \mathbf{F} 的一个函数  |\cdot|,满足如下条件:
1)  \forall v\in V,|v|\ge 0,并且  |v|=0 当且仅当  v=0
2)  |av|=|a| |v|
3)  |u+v|\le |u|+|v|

在一个内积空间中,由内积表达式  \sqrt{\langle v,v\rangle} 就可以定义出一个范数,这个范数称为由内积诱导的范数。

不是所有的范数都是由内积诱导出来的。例如,在  \mathbb{R}^2 中,定义范数  |(x,y)|=|x|+|y|,它确实是范数但没有内积可以诱导出这个范数。因为,内积诱导的范数满足平行四边形法则:

 |u+v|^2+|u-v|^2=2|u|^2+2|v|^2

即平行四边形四边的平方和等于两对角线的平方和。而上面举的例子显然不满足这个特性。

那么是不是一个范数只要满足平行四边形法则,它就必然是由某个内积诱导出来的呢?答案是肯定的。证明见下面。

那么平行四边形法则到底是什么东西?为什么有这么大的魔力,使它成为一个范数是否有内积背景的唯一门槛?

Continue reading

Linear Algebra Done Right第五章注记和部分习题

注记部分:

1 不同特征值对应的特征向量线性无关的证明

在第一章注记中已经说明,如果对每个  k=2,3,4,\dots,n,都有  (V_1+V_2+\dots+V_{k-1})\cap V_k=\{0\} ,那么子空间  V_1,V_2,\dots,V_k 的和是直和,从而在各个子空间中分别选取线性无关的向量,它们放在一起也是线性无关的。

这里,两个不同特征值所对应的特征子空间的交集显然是{0},这是因为  T 在这两个子空间中的作用是不同的,不可能存在一个非零向量经过  T 的变换之后既是原来的  \lambda_1 倍又是原来的  \lambda_2 倍。
接下来就是仿此用数学归纳法证明  (V_1+V_2+\dots+V_{k-1})\cap V_k=\{0\}。因为  V_1\oplus V_2\oplus\dots\oplus V_{k-1} 是直和,其中的任何一个非零向量可唯一分解为  v=v_1+v_2+\dots+v_{k-1},经过  T 变换之后变成  \lambda_1v_1+\lambda_2v_2+\dots+\lambda_{k-1}v_{k-1},然后用直和的性质证明这是  Tv 表示成  v_1,v_2,\dots,v_{k-1} 线性组合的唯一方式,从而不可能出现在  V_k 中。

2 不变子空间的一些性质

以下几个命题是比较显然的:

命题1: U, V T 的两个不变子空间,那么它们的和  U+V、它们的交  U\cap V 也是  T 的不变子空间。

命题2: U T S 的不变子空间,那么  U 也是  T+S TS ST 的不变子空间。

推论3: U T 的不变子空间, p(z) 是数域  \mathbf{F} 上的多项式,那么  U 也是  p(T) 的不变子空间。

在分析线性变换的过程中,非平凡的不变子空间是很珍贵的,通过这几个命题,我们可以用已有的珍贵的非平凡不变子空间再构造出更多的非平凡不变子空间。比如,如果  T 不可逆,那么  \mathrm{null}\,T \mathrm{range}\,T 都是非平凡的不变子空间。从而  \mathrm{null}\,T+\mathrm{range}\,T \mathrm{null}\,T\cap\mathrm{range}\,T 等等都是  T 的不变子空间,从而也是  p(T) 的不变子空间。(尽管这样做也可能无法得到新的非平凡的不变子空间)

3 "复数空间上线性变换都可表示成上三角矩阵"的证明

本章对这个定理的证明中,在假设结论对所有小于  \mathrm{dim}\,V 维的空间都成立并证明结论对  V 也成立的时候,先将  T 已知的一个一维特征子空间搁置一旁,转而考虑  \mathrm{range}\,(T-\lambda I),这是  T 的不变子空间,且维数小于  \mathrm{dim}\,V,但是不一定只比  V 小一维,它的维数取决于  \mathrm{null}\,(T-\lambda I) 的维数。这样就给分析的思路增加了一些难度和不确定性。当然,幸运的是最后还是顺利地完成了证明,让人觉得这个证明太巧妙了,怎么最初就能想到要考察  \mathrm{range}\,(T-\lambda I) 呢?
但是仿照第九章证明实数空间类似性质的定理的证明方法,可以做出一个更朴实更自然的证明。
证明:假设在维数小于  \mathrm{dim}\,V 的空间上的所有线性变换都可以找到一组基底使得其对应的矩阵是上三角阵,那么在  V 中的一个线性变换  T,因为至少有一个特征值,也就可以找到一个一维的特征子空间  U,再取子空间  W 使得  U\oplus W=V。这样  W 只比  V 少了一维 ,但是不一定是  T 的不变子空间。我们将  Tv 分解为  Tv=P_{W,U}Tv+P_{U,W}Tv,在子空间  W 中可以找到一组基底  v_1,v_2,\dots,v_{\mathrm{dim}V-1} 使得线性变换  (P_{W,U}T)|_W 的矩阵是上三角矩阵,在  U 中取非零向量  u,那么  T 在基底  u,v_1,v_2,\dots,v_{\dim V-1} 下依然是上三角矩阵(要看清这一点,只需考察基底的各个元素在线性变换  T 下的行为)。

4 "奇数维空间上的线性变换必有特征值"的证明

本章的证明方法在本章看来技巧性显得太强了。但其实,如果看到第九章再回过头来看这个定理,是比较显然的。因为不管是实数向量空间还是复数向量空间,线性变换的矩阵都可以是分块上三角矩阵,且对角线上每一块都是1x1或2x2阶的矩阵。那么对于奇数维空间,分块上三角矩阵的对角线上不可能都是2x2阶的矩阵,从而线性变换必然有一维的不变子空间。本章不能直接引用第九章的结论,所以本章的证明其实是利用了第九章的思维方法。现在,我把它写得跟第九章的方法更接近一些,也显得更平易近人一些。
证明:对于一维空间的情形,很显然命题是成立的。假设命题对于维数小于  \dim V 的奇数维空间都成立,现证明命题对奇数维空间  V 也成立。可以取一个一维或二维的不变子空间  U。如果  U 是一维的,那么命题得证,如果  U 是二维的,那么朝着证明  T 有分块上三角矩阵的方向(也是本命题递归的需要),取  W 使得  V=U\oplus W,然后将  Tv 写为  Tv=P_{U,W}Tv+P_{W,U}Tv。如果要证明 T 有分块上三角矩阵,那么接下来的分析方向是应用递归假设取一组基底使得  (P_{W,U}T)|_W 的矩阵是分块上三角矩阵。但这里因为要尽快证明  T 特征值存在,我们把  (P_{W,U}T)|_W 的一个特征向量  v 优先取过来,那么  U\oplus\{av\,|\,a\in F\} 就形成了  T 的一个不变子空间。取  U 的基底  u_1,u_2,那么  T|_{U\oplus\{av\,|\,a\in F\}} u_1,u_2,v 这组基底下的矩阵是如下形式的:
 \begin{pmatrix}a&b&c\\ d&e&f\\ 0&0&\lambda\end{pmatrix}
从这个矩阵中可以很容易看出  \lambda 就是特征值,因为  T-\lambda I 将一个三维空间映射成了二维空间。这一点类似于"上三角矩阵的对角线元素都是特征值"的证明。

其实我觉得既然在本章中证明了复数空间线性变换的矩阵可以上三角化,那么实数空间相应的结论也应该放在这一章,这样既显得结构合理,又不至于使某些定理的证明看上去那么奇巧。

部分习题解答:

4 S,T\in \mathcal{L}(V) ST=TS,证明  \mathrm{null}\,(T-\lambda I) S 的不变子空间。
证明: v\in\mathrm{null}\,(T-\lambda I),那么  (T-\lambda I)v=0,由  ST=TS,得
 (T-\lambda I)Sv=S(T-\lambda I)v=0 Sv\in\mathrm{null}\,(T-\lambda I)

11 S,T\in \mathcal{L}(V),证明  ST TS 有相同的特征值。
证明:只需证明  ST 的特征值都是  TS 的特征值。取非零向量  v,因为当  STv=\lambda v 时, TSTv=\lambda Tv。如果  Tv\not=0,那么我们可以判断  Tv 就是  TS 对应  \lambda 的特征向量;如果  Tv=0,那么相应地  \lambda=0,需要证明  TS 也有特征值0。因为  T 不可逆,所以  TS 不可逆,故  TS 有特征值0。

13 T\in \mathcal{L}(V),任何一个维数为  \mathrm{dim}\,V-1 的子空间都是  T 的不变子空间,证明  T=aI
证明: V 的维数小于3时,结论显然成立。当维数大于等于3时,设  v\in V, v\not=0,将  v 扩充为  V 的一个基底  v,e_1,e_2,\dots,e_n。考察  Tv=av+a_1e_1+\dots+a_ne_n,我们每次去掉一个  e_i 取剩下的基底元素张成一个  n=\mathrm{dim}\,V-1 维子空间  U_i=\mathrm{span}(v,e_1,\dots,e_{i-1},e_{i+1},\dots,e_n),因为它是不变子空间,所以  Tv\in U_i,故  a_i=0,因此  Tv=av。仿照第三章习题24中的做法证明  T=aI(参见本章第12题)。

15 \mathbf{F}=\mathbf{C}, T\in \mathcal{L}(V), p\in P(C), a\in C,证明  a p(T) 的特征值当且仅当存在某个  T 的特征值  \lambda,有  a=p(\lambda)
证明:如果有某个  T 的特征值  \lambda 满足  p(\lambda)=a \lambda 对应的特征向量为  v,那么  p(T)v=p(\lambda)v=av a p(T) 的特征值。
如果  a p(T) 的特征值,其特征向量为  v,那么  p(T)v-av=0,将  p(T)-aI 分解为一次因式的乘积,有  (T-x_1)(T-x_2)\dots(T-x_m)v=0,那么必有某个  x_i 使得  T-x_iI 不可逆,从而  x_i T 的某个特征值。而  x_i 又是方程  p(x)=a 的根,从而证得必要性。

16 上面一题的结论当  \mathbf{C} 替换成  \mathbf{R} 时不成立。
证明: \mathbf{R}^2 上的逆时针旋转  \frac{\pi}{2} 的旋转变换  T,-1是  T^2 的特征值,但  T 本身没有实数特征值。

21 P\in \mathcal{L}(V) P^2=P,证明  V=\mathrm{null}\,P\oplus\mathrm{range}\,P
证明:根据秩-零度定理,只需证明  \mathrm{null}\,P\cap\mathrm{range}\,P=\{0\}
 v\in\mathrm{null}\,P\cap\mathrm{range}\,P,那么  v=Pu,且  Pv=0。因为  P^2=P,所以  v=Pu=P^2u=Pv=0

Linear Algebra Done Right第三章注记和部分习题

注记部分:

1 线性无关性和线性相关性在线性映射作用下的表现

你可能听说过向量空间同构这个概念,两个向量空间 U 和 V,如果它们之间存在可逆的线性映射 T,那么这两个向量空间同构。
从向量空间本身的性质来讲,两个同构的向量空间可以不分你我,对应的向量之间有相同的线性关系,整个空间的维数也相同。
 u_1,u_2,\dots,u_r\in U,那么  u_1,u_2,\dots,u_r 线性相关(无关),当且仅当  Tu_1,Tu_2,\dots,Tu_r 也线性相关(无关)。这是因为, T T^{-1} 都是线性映射,因此  a_1u_1+a_2u_2+\dots +a_ru_r=0 当且仅当  a_1Tu_1+a_2Tu_2+\dots +a_rTu_r=0
那么,如果无法保证  T 是可逆的,我们只能保证当  u_1,u_2,\dots,u_r 线性相关时  Tu_1,Tu_2,\dots,Tu_r 也线性相关,或者当  Tu_1,Tu_2,\dots,Tu_r 线性无关时  u_1,u_2,\dots,u_r 也线性无关。这是很简单的道理。

那么当  T 不是单射时,如果  u_1,u_2,\dots,u_r 线性无关,什么时候可以保证  Tu_1,Tu_2,\dots,Tu_r 也是线性无关的呢?即还需要给  u_1,u_2,\dots,u_r 增加什么样的条件才能保证  Tu_1,Tu_2,\dots,Tu_r 线性无关?
欲使  Tu_1,Tu_2,\dots,Tu_r 线性无关,需要方程  a_1Tu_1+a_2Tu_2+\dots +a_rTu_r=0 没有非零解,而此即方程  T(a_1u_1+a_2u_2+\dots +a_ru_r)=0。欲使此方程没有非零解,需要当  a_1,a_2,\dots,a_r 不全为零时  a_1u_1+a_2u_2+\dots +a_ru_r\not\in \textrm{null }T,也即  \textrm{span}(u_1,u_2,\dots,u_r)\cap \textrm{null }T=\{0\}

因此,有下面的命题:

命题1:  T 是从向量空间  U V 的线性映射, u_1,u_2,\dots,u_r\in U,那么当且仅当  u_1,u_2,\dots,u_r 线性无关,并且  \textrm{span}(u_1,u_2,\dots,u_r)\cap \textrm{null }T=\{0\} 时, Tu_1,Tu_2,\dots,Tu_r 线性无关。

从这个命题出发,不但能启发出值域-零度定理,还可以得到书上关于值域-零度定理的证明思路。并且,这个命题本身应该也是比较重要的。

2 反向思考值域-零度定理

如果不知道值域-零度定理,是否可以知道从低维空间到高维空间没有满的线性映射?
因为  Tu_1,Tu_2,\dots,Tu_r 线性无关时  u_1,u_2,\dots,u_r 也线性无关,这表明值域的维数不可能比定义域的维数大。

我们知道当取定义域中的一组基底  u_1,u_2,\dots,u_n 后, \textrm{range }T=\textrm{span}(Tu_1,Tu_2,\dots,Tu_n)。如果值域的维数比定义域的维数小,那么小了多少由什么来决定的呢?
我们知道在值域的维数比定义域小的时候  Tu_1,Tu_2,\dots,Tu_n 不可能线性无关。那么在  Tu_1,Tu_2,\dots,Tu_n 中选取极大线性无关组  Tu_1,Tu_2,\dots,Tu_r ,其它  Tu_i 可以用这 r 个向量线性表示,即  Tu_{r+i}=f_i(Tu_1,Tu_2,\dots,Tu_r) 也即  T(u_{r+i}-f_i(u_1,u_2,\dots,u_r))=0。因此  u_{r+i}-f_i(u_1,u_2,\dots,u_r)\in\textrm{null }T。设  v_i=u_{r+i}-f_i(u_1,u_2,\dots,u_r),注意到在定义域中, u_1,u_2,\dots,u_n 线性无关,因此  u_1,u_2,\dots,u_r,u_{r+1}-f_1(u_1,u_2,\dots,u_r),\dots,u_n-f_{n-r}(u_1,u_2,\dots,u_r) 也线性无关。而  v_i=u_{r+i}-f_i(u_1,u_2,\dots,u_r)\in\textrm{null }T,因此  \textrm{null }T\supset \textrm{span}(v_1,v_2,\dots,v_{n-r})。接下来就是想办法证明  \textrm{null }T=\textrm{span}(v_1,v_2,\dots,v_{n-r}),从而  \textrm{dim null }T=n-r
 \forall w\in\textrm{null }T, w=u+v 其中  u\in\textrm{span}(u_1,u_2,\dots,u_r), v\in\textrm{span}(v_1,v_2,\dots,v_{n-r})。那么有  v=w-u\in\textrm{null }T。因  Tu_1,Tu_2,\dots,Tu_r 线性无关,根据命题1,可知  v=0。这样就有  \textrm{null }T=\textrm{span}(v_1,v_2,\dots,v_{n-r}),从而  \textrm{dim null }T=n-r。因此值域-零度定理成立。

当然,在历史上,这个值域-零度定理绝对不是从这样的抽象符号和理论的思考中得到的,早在线性代数发展的早期,人们的主要精力集中在对线性方程组的解结构的研究,人们可能是通过线性方程组系数矩阵的秩与解空间维数之间的关系看到了秩-零度定理,从而在后来推广到一般的线性映射上来的。

一个数域  K 上的有限维的线性空间,都同构于  K^n,在有限维线性空间之间的映射也可以与数域上的矩阵构成空间同构,对线性映射零空间的研究也完全等同于对数域上的线性方程组的解空间的研究,那么为什么还会有这种抽象符号表达的线性代数体系呢?它是从什么时候开始出现,它的始作俑者又是谁?它存在的意义究竟有多大呢?

3 值域-零度定理与商空间

对值域-零度定理最透彻最符合直觉的解释是利用商空间和第一同构定理。这方面在一些线性代数书中已经涉及到(如李炯生、查建国版本《线性代数》),请在网络上搜索这方面的内容。

4 映射的逆、左逆与右逆(参见本章练习14与15)

 f 是集合  M N 的映射, i_M i_N 分别是  M N 上的单位映射。如果存在  N M 的映射  g 使得  f\circ g=i_N 则称  g f 的右逆,如果存在  N M 的映射  h 使得  h\circ f=i_M,则称  h f 的左逆。

命题2:  f 有左逆,当且仅当  f 是单射; f 有右逆,则  f 是满射。如果承认选择公理,那么  f 有右逆,当且仅当  f 是满射。
证明: 如果  f 有左逆,即存在  N M 的映射  h 使得  h\circ f=i_M,那么  f(x)=f(y)\Rightarrow (h\circ f)(x)=(h\circ f)(y)\Rightarrow x=y。这说明  f 是单射。
如果  f 是单射,我们可以构造  f 的左逆  h 如下:取定  x_0\in M \forall y\in N,如果 \exists x\in M,f(x)=y,则定义  h(y)=x,否则令  h(y)=x_0。这样定义的  h 就是  f 的左逆。
如果  f 有右逆,即存在  N M 的映射  g 使得  f\circ g=i_N,那么 \forall y\in N, g(y)\in M f(g(y))=y
如果  f 是满射,我们可以用选择公理构造  f 的右逆如下: \forall y\in N,从  y 的原像集合中选取一个  x,令  g(y)=x

一般来讲,如果一个映射只有左逆或只有右逆,那么它的左逆或右逆都不是唯一的。但是如果一个映射既有左逆又有右逆,那么它的左逆和右逆都是相等的。

命题3: f 既有左逆又有右逆当且仅当  f 是一一映射。并且此时  f 的左逆与右逆是唯一确定且相等的。
证明:利用命题2证明第一条,因为  f 是一一映射,并不需要选择公理。
欲证第二条,首先证明  f 的所有左逆相等,所有右逆相等。
 g g' f 的右逆,有  f\circ g=f\circ g',那么因为  f 同时有左逆,取  f 的左逆  h,有  h\circ f\circ g=h\circ f\circ g',即  g=g'。即所有右逆彼此相等。
同理可证所有左逆彼此相等。
接下来证明左逆等于右逆。
 h g 分别是  f 的左逆与右逆,那么  g\circ f=(h\circ f)\circ (g\circ f)=h\circ (f\circ g)\circ f=h\circ f=i_M。这说明右逆同时也是左逆,因此右逆等于左逆。

如果 f 是一一映射时,就把  f 的左逆或右逆称为  f 的逆。

部分习题解答:

2 例举一个函数  f : \mathbf{R}^2\rightarrow \mathbf{R} 使得  f(av)=af(v) 对任意  a\in \mathbf{R},v\in \mathbf{R}^2,但是  f 不是线性映射。
解答: f(x,y)=\sqrt{x^2+y^2}\textrm{sgn }x,这个函数满足题设条件但不是线性函数。

4 T 是向量空间  V 到数域  \mathbf{F} 的线性函数,证明如果  u\in V,u\not\in \textrm{null }T,则  V=\textrm{null }T\oplus\{au : a\in\mathbf{F}\}
证明: \textrm{dim null }T=r,因为  u\in V,u\not\in \textrm{null }T,所以  \textrm{dim }(\textrm{null }T\oplus\{au : a\in\mathbf{F}\})=r+1 (这两个子空间的和是直和)。因  \textrm{dim range }T=1,故  \textrm{dim }V=\textrm{dim }(\textrm{null }T\oplus\{au : a\in\mathbf{F}\}),因此  V=\textrm{null }T\oplus\{au : a\in\mathbf{F}\}

11 证明如果  V 上存在一个线性映射  T 且它的值域与零空间都是有限维的,那么  V 是有限维的。
证明:因为书上证明值域-零度定理时是以  V 是有限维空间为基础,所以直接用这个定理不妥。
 T 的值域维数为 r,零空间维数为 s,我们可以取任意维数的子空间,比如,r+s+1 维的子空间,将  T 限制在这个子空间中,然后利用值域-零度定理,可断定这个子空间的像的维数大于 r,已经超过了整个定义域的像的维数了。

16 U V 是有限维向量空间,并且  S\in L(V,W), T\in L(U,V),证明
 \textrm{dim null }ST \le\textrm{dim null }S+\textrm{dim null }T
证明:因为  STv=0 当且仅当  Tv\in\textrm{null }S,故 \textrm{null }ST=\{v | Tv\in\textrm{null }S\}。设  W=\{v | Tv\in\textrm{null }S\},考虑  R=T|_W,有
 \textrm{dim null }ST=\textrm{dim null }R+\textrm{dim range }R\le\textrm{dim null }T+\textrm{dim null }S

22 V 是有限维向量空间且  S,T\in L(V)。证明  ST 可逆当且仅当  S T 都可逆。
证明:必要性, ST 可逆当且仅当  \textrm{dim range }ST=\textrm{dim }V。因为  \textrm{dim range }ST\le \textrm{dim range }S \textrm{dim range }ST\le \textrm{dim range }T,所以  S T 都可逆。
充分性,当  S T 都可逆时, T^{-1}S^{-1} 就是  ST 的逆。

23 V 是有限维向量空间且  S,T\in L(V),证明  ST=I 当且仅当  TS=I
证明:根据上题,如果  ST=I TS=I 那么  S T 都可逆。则  ST=I 当且仅当  S=T^{-1},当且仅当  TS=I

24 V 是有限维向量空间且  T\in L(V),证明  T=aI 当且仅当对任何线性映射  S\in L(V),有  ST=TS
证明: 如果 T=aI 则显然  ST=TS
如果对任何线性算子  S ST=TS,那么在  V 中任取非零向量  v,取  v,e_1,e_2,\dots,e_n 成为  V 的基底,定义线性映射  S 使得  Sv=v, Se_i=0, i=1,2,\dots,n。则  Tv=TSv=STv=S(av+a_1e_1+\dots+a_ne_n)=av。也就是说任意非零向量  v,存在一个数  a 使得  Tv=av
下面证明任意两个方向上所对应的 a 都相等。
 v_1,v_2\not=0, Tv_1=a_1v_1,Tv_2=a_2v_2,如果  a_1\not=a_2,则这两个向量线性无关,考虑  T(v_1+v_2)=a_3(v_1+v_2)=a_1v_1+a_2v_2,即  (a_3-a_1)v_1+(a_3-a_2)v_2=0,因此  a_1=a_3=a_2,矛盾。
因此  T=aI

第四章 多项式 为非重点章节,并且内容未超出高中数学知识,故略过。

从不同的角度看矩阵的行秩与列秩——兼论如何学好线性代数

线性代数中,有那么几个神秘又神奇的东西,总是让初学它的人琢磨不透,无法理解,其中就有矩阵的行向量和列向量的关系,为什么一个矩阵的行向量里有多少个线性无关的向量,列向量里就一定也有多少个线性无关的向量呢?或者考虑稍微简单一点的问题,一个方阵,为什么行向量线性无关或线性相关列向量就一定也线性无关或相关呢?行秩为何等于列秩?
这本来应该是一个基本又简单的事实。但是,请回忆一下你当初初学线性代数时的内容编排顺序,是怎么引入这个问题的,当时又是怎样解决这个问题的?
传统的教材编写思路是从线性方程组开始整个线性代数话题的引入,这个过程中定义行列式和矩阵,用n元数组引入向量,线性相关和无关等概念,讨论解存在的条件,解的结构,等等。总之,一切以方程组为核心,给人的感觉就是线性代数就是方程组的理论,一切讨论的目的都是为了解决小小的方程组问题。
在这个过程中,有一个矩阵行秩等于列秩的命题,此时学生只了解方程组理论和行列式,因此这时对这个问题的解释当然也无法离开方程组或行列式。下面简述两个典型的教材中的证明方法:

第一个证明来自陈志杰《高等代数与解析几何》。
证明:首先,矩阵的初等行变换不改变矩阵的行秩,初等列变换不改变矩阵的列秩。这是由向量组的初等变换不改变向量组的线性相关或无关性保证的,即将某个向量乘以非零的倍数、将某个向量加到另一个向量上,都不改变向量组的线性相关或无关性。
接着证明矩阵的初等行变换不改变矩阵的列秩。
设A是m*n阶矩阵,任意从A的n个列向量中选取k个列向量a1,a2,...,ak,它们线性无关的充要条件是线性方程组a1x1+a2x2+...+akxk=0只有零解。而对矩阵A进行初等行变换不改变此方程组的解,因此不改变这k个列向量的线性相关或无关性。这说明A的列向量的秩在矩阵的初等行变换中不变。同理矩阵的初等列变换不改变矩阵的行秩。
接下来,可以把A经过初等行变换和初等列变为只有对角线上有1或0,其它位置都为0的矩阵,在这个过程中行秩和列秩都不改变,从这个矩阵中看出行秩等于列秩,因此原来的矩阵行秩也等于列秩。

第二个证明来自北大数学系几何与代数教研室前代数小组编《高等代数》
证明:考虑线性方程组AX=0,首先证明如果未知数的个数超过A的行秩,那么它有非零解。设m*n阶矩阵A的行秩为r,考虑方程组AX=0,它由m个方程n个未知数组成。从A的行向量中选取r个线性无关的行向量,重新组合成矩阵B,那么方程组AX=0和BX=0同解。这时,如果B的列数大于行数,那么方程组BX=0必有非零解,从而AX=0也有非零解。
接着证明行秩等于列秩。设m*n阶矩阵A的行秩为r,列秩为s。考虑A的任意r+1个列向量组成的矩阵C,因为C的行秩不大于r(因为C的行向量都是A的行向量的一部分分量组成的),所以CX=0有非零解,这说明这r+1个列向量线性相关。所以A的列秩最大为r,即s<=r。同理可证r<=s,因此s=r。

有了行秩等于列秩的性质,完全可以用行秩或列秩定义矩阵的秩了。编写教材的人和老师们都认为,只要能够顺利定义出矩阵的秩,这个证明就足以满足初学时的需要了,既没有必要又没有条件再将它深入地挖掘下去。

但是它仍然让我困惑,即使把书上的这个证明看得明明白白,也不理解为什么行秩等于列秩。因为向量是个几何的概念,现在这个证明中看不出一点几何上向量的影子,这两个例子都依赖于线性方程组理论,都离不开高斯消元法,都是代数上的推导。虽然从代数上推导出了这个结果,但是在几何上我依然无法接受这个结果。矩阵的行向量和列向量“从图形上”到底是什么关系?可不可以让我一下子就能看出来它们的秩是相等的?尽管经过了行列变换之后行列秩相等是显然的,但这个过程中却把原来的行列向量给变得面目全非了。

更有甚者,有些教材上竟然用矩阵的子式和行列式理论推导行秩等于列秩,由于这种证明过于复杂,这里就不列出了。

直到最近的一次偶然机会,又让我想起了这个问题。一开始,发现它和对偶空间与对偶映射有关系。
记得当初学习线性代数时,直到最后才接触了一些有关对偶空间和对偶映射的知识,教材还写得十分抽象,以至于我们都囫囵吞枣地过来了,根本没有什么印象。后来的泛函,因为高等代数理解不深人,对泛函也没有留下什么印象。最近有同事让我讲线性代数,有很多次问我关于矩阵转置的意义的问题。他曾经学习线性代数时对很多问题不理解,其中就有矩阵转置到底对应几何上的什么东西,为什么要转置?其实我也没考虑过这个问题,只知道这是代数的特殊需要,当需要把行向量变成列向量的时候就需要考虑转置,它完全是代数上的处理方式。至于在几何上代表什么意义,我也曾困惑过,但一直没考虑清楚。然而现在比大一那个时候多了一个学习的更加有效的途径,那就是网络。在wiki百科中,我查到了一个观点:

在标准正交基底下,如果一个线性映射对应于矩阵A,那么A的转置恰好对应这个线性映射的转置映射,A的共轭转置恰好对应这个线性映射的对偶映射。

在有限维空间中对偶映射还有一个更直观的定义:
 T 是从  U V 的线性映射,则  T 的对偶映射  T^* 是从  V U 的满足  \langle Tu,v\rangle=\langle u,T^*v\rangle 的线性映射。
这是很好理解的,即使不知道什么是对偶空间及对偶映射,单单从矩阵乘法的性质中也很容易看出A和A的共轭转置之间的这种关系。

这样就把A的共轭转置和A之间的关系赋予了几何的意义,因为内积正好包含向量的角度信息,并且当一组非零向量两两内积为0时,它们线性无关。
A和A的共轭转置的列向量的秩分别对应于 T 和 T* 的值域的维度,能不能就此证明它们相等?从而至少可以证明实数矩阵行秩等于列秩。这就是下面的:

定理1:线性映射  T 的值域和其对偶映射  T^* 的值域有相同的维数。
证明:设 T 是从 U 到 V 的线性映射,则 T 的对偶映射 T* 是从 V 到 U 的线性映射。设 T 与 T* 的值域的维数分别为r,s,假设s<r,则在 T* 值域中可以找一组基底:
 T^*v_1,T^*v_2,\dots,T^*v_s,考虑  TT^*v_1,TT^*v_2,\dots,TT^*v_s,这个向量组的秩≤s<r,因此可以在  T 的值域中(维数为r)找到  v_{s+1}=Tu_{s+1}\not=0 使得  \langle v_{s+1},TT^*v_i\rangle=\langle T^*v_{s+1},T^*v_i\rangle=0, i=1,2,\dots,s。又因为  \langle u_{s+1},T^*Tu_{s+1}\rangle=\langle Tu_{s+1},Tu_{s+1}\rangle\not=0 T^*Tu_{s+1}\not=0 T^*v_{s+1}\not=0。这样我们在  T^* 的值域中找到了与向量  T^*v_1,T^*v_2,\dots,T^*v_s 都垂直的非零向量,与这个向量组是  T^* 值域的基底矛盾。因此s≥r。
同理可证s≤r。故s=r。证毕。

这样,A 与 A 的共轭转置的列秩相等,从而实数矩阵的行秩等于列秩。
为了把它应用于证明复数矩阵行秩与列秩相等,还需要下面的命题:

命题1:若复数值向量a1,a2,...,an线性无关,那么他们的共轭向量也线性无关。
证明:以 a1,a2,...,an 为系数矩阵的方程组 k1a1+k2a2+...+knan=0 两边取共轭即得到一个以a1,a2,...,an 的共轭为系数的线性方程组,这两个方程组同时有或没有非零解。证毕。

这样就彻底完全地证明出了矩阵的行秩与列秩相等。这个证明的思路中就明显地带有几何的启示,因此我觉得它更能让我看到矩阵行向量和列向量的本质。然而虽然这个证明带有很强的几何色彩,但终究还是觉得有些抽象,还是没有道出行列向量之间的关系来。

经过对这个问题持续的思考,和对方程组 AX=0 从不同的角度去解释,发现如果我们竖着看 AX,我们看到一个线性映射,它列向量的秩是它值域的维数;然而如果我们横着看 AX=0,又可得到 A 的每个行向量与 X 的内积是0(这里以实数矩阵为例,至于复数矩阵则可以利用上面的“命题1”),也就是说,A的每个行向量和 AX=0 的解都垂直,用映射的观点说,就是 A 的每个行向量都在线性映射的零空间的正交补空间中。又 AX=0 的所有解的集合(零空间)是垂直于 A 的每个行向量的向量构成的集合,那么零空间和行空间应该互为正交补空间,它们的维数之和是定义域的维数。那么事情就清楚了,根据秩-零度定理,dim rangeT+dim nullT是 T 定义域的维数,而行空间维数又与零空间维数互补,因此行空间维数等于值域维数,即行秩等于列秩。

应该说,这才是行向量和列向量真正的本质关系,可惜的是,直到毕业的三年多之后我才自己发现了这个关系。

其实,如果考虑对偶映射,也可以轻而易举地得出结论:T* 的值域恰是 T 的零空间的正交补。根据秩-零度定理也立即可以得出 T* 和 T 值域维数相等。前面在证明“定理1”时没有用到它们值域和零空间的关系还有秩-零度定理,这里用了这两个定理之后,分析过程其实和上段分析 AX=0 方程组的过程本质上是一样的。

那时在网络上还查找到了一个利用了矩阵乘积的现代观点证明行秩等于列秩的文章,是在台湾博客“线代启示录”中看到的,抄录如下(注意在台湾,把竖着的叫行,把横着的叫列,与我们恰好相反):

假設  m\times n 階矩陣  A 的行秩為  c,列秩為  r。可知  A 包含  c m---維線性獨立的行向量,它們足以擴張  A 的行空間。將這些行向量收集起來組成一個  m\times c 階矩陣  B,那麼  A 的任何一個行  \mathbf{a}_j (j=1,2,\ldots,n) 都可以唯一表示為  B 的行向量  \mathbf{b}_1,\mathbf{b}_2,\ldots,\mathbf{b}_c 之線性組合,如下:

 \mathbf{a}_j=d_{1j}\mathbf{b}_1+d_{2j}\mathbf{b}_2+\cdots+d_{cj}\mathbf{b}_c

 =\begin{bmatrix}\mathbf{b}_1&\mathbf{b}_2&\cdots&\mathbf{b}_c\end{bmatrix}\begin{bmatrix}d_{1j}\\d_{2j}\\\vdots\\d_{cj}\end{bmatrix}=B\mathbf{d}_j

將這  n 個式子的線性組合權重合併為一個  c\times n 階矩陣  D=[d_{ij}] ,並利用以行為計算單元的矩陣乘法規則,就有

 A=\begin{bmatrix}\mathbf{a}_1&\mathbf{a}_2&\cdots&\mathbf{a}_n\end{bmatrix}=B\begin{bmatrix}\mathbf{d}_1&\mathbf{d}_2&\cdots&\mathbf{d}_n\end{bmatrix}=BD

接著再考慮矩陣 A 的第  i 列,以  \mathrm{row}_i(A) 表示,利用以列為計算單元的矩陣乘法規則,於是有

 \mathrm{row}_{i}(A)=\mathrm{row}_{i}(BD)=b_{i1}\mathrm{row}_1(D)+b_{i2}\mathrm{row}_2(D)+\cdots+b_{ic}\mathrm{row}_{c}(D)

矩陣  A 的每一列都可以寫為 D 的列向量之線性組合,因此  A 的列空間維度不大於 D 的列向量總數,即  r\le c,也就是說  A 的列空間維度不大於  A 的行空間維度。

運用同樣的推論方式於  A^T,可推知  A^T 的列空間維度不大於  A^T 的行空間維度,但  A^T 的列空間即為 A 的行空間而  A^T 的行空間就是  A 的列空間,得知  c\le r。綜合以上結果,證得  r=c,矩陣的行秩等於列秩。這個證明方法表面看似平凡無奇,但它只利用矩陣乘法運算便將幾個重要的線性代數概念——線性組合、基底和擴張連結在一起,非常值得初學者細細品味。

这个证明虽然也是代数上的分析,但其巧妙的让人称奇的地方,就是把一个矩阵分解成了两个矩阵的乘积,其中左边的因子是列慢秩的,然后利用对两个矩阵乘积的不同的解释,把左面的列秩(也就是A的列秩)和右面的行秩联系起来了。

本来,有关矩阵列秩与行秩关系的问题讨论到这里也可以算是比较圆满了。但是,在写这篇文章的时候,又无意间提出下面的一个问题:

为什么如果矩阵A只有两行,哪怕它有100列,它的列向量的秩也最多是2?

现在来看,这是个非常简单的问题,因为它的100个列向量都是二维的向量,这些二维向量再多,也至多可以找出两个线性无关的向量。这是由向量空间的维数定理保证的:“有限维向量空间中任何极大线性无关组包含向量个数相同。”因此,一个矩阵,它的列秩不超过行数,行秩不超过列数。
那么,为了完成“列秩等于行秩”的证明,只需把列秩和行秩的大小范围估计得更精确一些,从“列秩小于等于行数”、“行秩小于等于列数”精确到“列秩小于等于行秩”、“行秩小于等于列秩”。我们设想,如果一个 m*n 阶矩阵,它的行秩为 r,那么它的列向量虽然表面上看每个都是 m 维的,但实际上这些 m 维向量被限制在了一个 r 维的子空间中,实际属于 r 维向量。为了看清楚这一点,我们可以有两条思路:
第一条,既然 A 的行空间维数为 r,那么可以找到 r 个线性无关的行向量为基底,矩阵的 m 个行向量都可以用这 r 个向量线性表示,用矩阵的语言就是

 A_{m\times n}=B_{m\times r}D_{r\times n}

其中 D 就是从 A 的行向量中选取的线性无关行向量,B 的每一行是 A 的行向量按D中行向量线性表示的系数(坐标)。那么,接下来还是两条路:第一,按维数定理,D 的列秩不超过其行数 r,且 A 的值域维数不大于 D 的值域维数(因为 A 的维数就是把 D 的值域再用 B 映射到 m 维空间,值域的维数是递减的),因此 A 的列秩不大于 r,这实质上是北大《线性代数》中的证明;第二,B 的列秩不超过 B 的列数 r,这样就变成了“线代启示录”的证明,因此“线代启示录”上的证明思路也就是如此。
第二条,我们可以实际地找出  A 列空间的基底。因为  A 行秩为  r,即可以选取  r 个行向量  a_1,a_2,\dots,a_r,使得其它行向量都可以用这  r 个行向量线性表示,不妨记为  a_{r+i}=f_i(a_1,a_2,\dots,a_r),那么就代表  A 的列向量的坐标都具有如下形式:

 \begin{bmatrix}x_1\\x_2\\\vdots\\x_r\\f_1(x_1,x_2,\dots,x_r)\\\vdots\\f_{m-r}(x_1,x_2,\dots,x_r)\end{bmatrix}

显然只有前 r 个坐标是可以自由变化的,这样的向量的全体构成一个子空间,它的基底是清楚的。因此,这是个 r 维子空间。根据维数定理,这样的向量不管多少个,秩不大于r。

可见,一个简单的事实,可以从多种角度进行的解释,但有些看似动机不同的解释往往实质上又相同,它们之间也有着千丝万缕的联系。因为线性代数的这个特点,使得不同的线性代数的教材的写法有很大的不同。同样一个事实,既可以从线性映射的角度去解释,又可以从矩阵分析的角度解释,还可以从线性方程组,或行列式角度去证明。线性代数教材的编写其实很随意,既可以像北大版那样把线性方程组作为基础,其它诸如线性变换、维数定理等等内容都通过方程组理论来证明,也可以像《Linear Algebra Done Right》那样完全地从抽象的向量空间和线性映射的角度分析。它们动机虽然不同但是要认识的对象是同构的。

但是,如果当初满足于这个定理的书本上的证明,我是不可能对它挖掘得这么深,也不可能认识到这些东西的。这里我还是要对以北大版《高等代数》为代表的教材提一些意见。

可能大部分人都认为,线性方程组是线性代数中最易懂最易理解的部分,学生又有中学解多元一次方程组的基础知识,线性方程组又可以引申出线性代数的诸多内容,因此是最适合用于大学一年级学生入线代之门的内容。但是这样做有两个问题:

一个是如果只提方程组,学生无法想象它的几何形象,学生学习时头脑中形成的往往只是变动的符号,不利于深入理解线性代数,更不利于发挥想象力去主动发现知识。如果说当学生学到线性空间、线性变换的时候自然会学习到这些几何观念,那么在线性方程组之后,线性空间和线性变换之前,还要学习矩阵理论,同样是没有几何直观,并且比方程组更难理解,到了线性空间的时候学生已经云里雾里了,哪里还有信心去学习接下来的东西?李炯生版《线性代数》的前言部分说,“研究线性空间以及线性空间关于线性变换的分解即构成了线性代数的几何理论,而研究短阵在各种关系下的分类问题则是线性代数的代数理论。”那么到底是先代数后几何,还是先几何后代数,还是二者同时进行?如果先代数后几何,就像在没有学习平面几何的时候学习解析几何,并且要预先学习曲线方程的性质,不见曲线只见方程,等把方程的性质在代数上讨论清楚了,再带你认识它们实质上的几何形象,再用这些方程的性质简单推导出几何的性质。但这是一个非常糟糕的学习方式。更糟糕的是一些理工科专业线性代数学得更浅,甚至只学到矩阵部分,只记住了矩阵的运算等莫名奇妙的符号在头脑中搬来搬去,至于为什么那么计算,学过之后考高分的学生也不知道。这里有孟岩的三篇csdn博文为证,尤其是博文开头几段话,道出了一般理工科学生的疑问。
《理解矩阵(一)》
《理解矩阵(二)》
《理解矩阵(三)》
另一个问题是,这样的组织缺少发展理论框架的动机,为什么要引入线性相关,线性无关,为什么要讨论矩阵?为什么有了消元法还要讨论行列式和 Cramer 法则?如果都是以解方程为目的,这些内容统统没有动机,只要一个消元法,最后能够写出通解形式,就够了。似乎矩阵、向量空间等内容都是方程组问题生发出来的,研究它们又有什么用途?这些问题开始不讲清楚,学生厌学,到后续课程真正用到这些知识的时候后悔莫及。

因此,我主张不论是编写教材,还是老师讲授,学生学习,都应该起点底,观点高,让学生可以从各个不同方向去“围攻”一个问题,从各种不同的角度去看待一个知识,即使只是为了讲代数,几何方面的直观思想和动机也要讲清楚,甚至这些更为重要。不妨在讲解线性方程组的时候就开始讲讲方程组中蕴含的向量空间、线性变换等高级内容的道理,即不光讲高斯消元法等方程的传统内容,还要用线性变换那样的几何观点解释方程组解的结构等等问题,并用三维的几何图形(不妨用电脑中的数学软件或flash动画,至少是图片)来展示线性代数中那些概念背后的几何形象,使学生一开始就有丰富的几何代数经验,一开始就发现这部分数学的魅力。