看完不会?让 AI 一步步解给你看
Algebra · real student question

证明:秩为 r 的矩阵可以写成 r 个秩 1 矩阵之和,但不能写成少于 r 个秩 1 矩阵之和。

Question

设 AA 是 m×nm\times n 矩阵,且 rank⁡(A)=r\operatorname{rank}(A)=r。

证明:AA 可以写成 rr 个秩为 11 的矩阵之和,并且不能写成少于 rr 个秩为 11 的矩阵之和。

Step-by-step solution

  1. 把命题拆成两个彼此独立的断言。 「恰好 rr 个可行」是一个存在性断言,需要给出构造;「少于 rr 个不行」是一个不可能性断言,需要一个不等式。两半用的工具完全不同,而且谁也推不出谁。

  2. 先为列空间造一组基。 由 rank⁡(A)=r\operatorname{rank}(A)=r 可知 AA 的列空间维数是 rr,所以 AA 中存在 rr 个线性无关的列 u1,…,uru_1,\dots,u_r 把它张成。于是 AA 的每一列 aja_j 都是这组基的线性组合

    aj=c1ju1+c2ju2+⋯+crjura_j=c_{1j}u_1+c_{2j}u_2+\cdots+c_{rj}u_r

  3. 把这些组合打包成矩阵乘积。 把各个 uiu_i 排成一个 m×rm\times r 矩阵 UU,把系数排成一个 r×nr\times n 矩阵 CC,就得到秩分解

    A=UCA=UC

    这就是整个构造的压缩写法——剩下要做的只是把它读对。

  4. 把这个乘积展开成外积之和。 用 viTv_i^{T} 记 CC 的第 ii 行,按分块乘法有

    A=UC=∑i=1ruiviTA=UC=\sum_{i=1}^{r}u_i v_i^{T}

    每个 uiviTu_iv_i^{T} 的每一列都是 uiu_i 的标量倍,所以它的列空间由单个向量 uiu_i 张成,rank⁡(uiviT)=1\operatorname{rank}(u_iv_i^{T})=1。前一半到此证完。

  5. 后一半靠秩的次可加性。 对任意矩阵都有 rank⁡(B+C)≤rank⁡(B)+rank⁡(C)\operatorname{rank}(B+C)\le\operatorname{rank}(B)+\operatorname{rank}(C),因为 B+CB+C 的列空间包含在两个列空间之和里。反复迭代就得到

    rank⁡(B1+⋯+Bk)≤∑i=1krank⁡(Bi)\operatorname{rank}(B_1+\cdots+B_k)\le\sum_{i=1}^{k}\operatorname{rank}(B_i)

  6. 导出矛盾。 假设 A=B1+⋯+BkA=B_1+\cdots+B_k,其中每个 rank⁡(Bi)=1\operatorname{rank}(B_i)=1。那么

    r=rank⁡(A)≤1+1+⋯+1⏟k=kr=\operatorname{rank}(A)\le\underbrace{1+1+\cdots+1}_{k}=k

    于是 k≥rk\ge r;k<rk<r 的分解根本不存在。再结合前面的构造,秩 1 加项的最少个数恰好就是 rr。■\blacksquare

Answer

A=∑i=1ruiviT 其中每个 rank⁡(uiviT)=1, 而 k<r 不可能,因为 rank⁡(A)≤∑irank⁡(Bi)=kA=\sum_{i=1}^{r}u_iv_i^{T}\ \text{其中每个 }\operatorname{rank}(u_iv_i^{T})=1,\ \text{而 }k<r\ \text{不可能,因为 }\operatorname{rank}(A)\le\sum_i\operatorname{rank}(B_i)=k

Need to solve a different problem like this? Open the solver →