在 OI 中貌似没啥用,在高代中除了证明一些定理外也没啥用。
先来一个弱的定理,考虑线性空间 \(V\) 中,\(S=\{u_1,u_2,\dots,u_m\}\) 是一个线性无关组,\(T=\{v_1,v_2\dots,v_n\}\) 是一个可以张成 \(V\) 的向量组(称其为生成集),满足 \(m\le n\),则有一种方式将 \(T\) 中的任意 \(m\) 个向量替换成 \(S\),得到的新向量组 \(T'\) 仍为 \(V\) 的生成集。
对其归纳证明,\(m=1\) 时考虑 \(u_1=\sum a_iv_i\),找到 \(a_i\neq 0\) 的 \(v_i\),将 \(v_i\) 替换成 \(u_1\) 即可,此时 \(v_i\) 可以被 \(T'\) 线性表出,根据 \(u_1=\sum a_iv_i\) 解方程即可。
若 \(k=m-1\) 时成立,考虑向量组 \(S'=\{u_1,u_2,\dots,u_{m-1}\}\),将 \(T\) 中的 \(k\) 个向量替换成 \(S'\),不妨设新的向量组为 \(T^*=\{u_1,u_2,\dots,u_k,v_{k+1},\dots,v_n\}\),考虑其线性表出 \(u_m\) 的方式 \(u_m=\sum a_iv_i\),由于原向量组线性无关,因此必然存在 \(i>k\) 使得 \(a_i\neq 0\),将 \(v_i\) 替换成 \(u_m\) 即可,生成性的保留同上,\(v_i\) 可以被新向量组线性表出,同样解方程即可。
这个弱的定理和原定理的唯一差别就是原定理还说明,当 \(m>n\) 时,不存在大小为 \(m\) 的线性无关组。这可以简单说明,任取 \(S\) 的一个大小为 \(m\) 的子集 \(S'\),根据上文 \(S'\) 可以张成 \(V\),因此 \(S\) 不可能线性无关。
给出定理的完整内容,以下定义建立在线性空间 \(V\) 上,设 \(T=\{v_1,\dots,v_n\}\) 是一个生成集:
-
任意线性无关组的大小不会超过 \(n\)。
-
对于一个大小为 \(m\) 的线性无关组 \(S\),存在将 \(T\) 的 \(m\) 个向量替换成 \(S\) 的方法使得新向量组为一个生成集。