浅学线性代数
posted on 2025-01-11 04:33:22 | under | source
定义
- 线性组合:向量 \(a\) 乘上一个数组的到的向量。
- 线性相关:向量集合 \(A\) 可以通过线性组合得到向量 \(b\),则称它们线性相关。
- 线性无关:与之相对,不可表示。
- 线性空间的基:一个线性空间 \(V\) 中的所有向量,都可被向量集合 \(A\) 表示。
- 线性空间的维:基的大小。
- 矩阵的秩:将其视为行向量集合或列向量集合,张出的线性空间的维。
高消拓展
求逆
因为初等行变换可以视为乘上特殊矩阵。那么对 \(A\) 求逆,只需将其消为 \(I\),并拿一个初始为 \(I\) 的矩阵 \(B\) 记录消元过程。\(B\) 即为逆。
trick:合理设主元,减少未知数
例如网格图上的随机游走问题,暴力做是 \(O((nm)^3)\) 级别的,通过观察,将主元设为某一列或行,起到优化的作用。进一步的,可以矩阵加速递推。
线性基
就是动态删增向量,并维护线性空间的基。
以异或空间线性基为例,维护的其实是阶梯型矩阵。
构造
插入 \(p\),先展开为二进制,然后从高位到低位插入,假如第 \(i\) 位已经有元素 \(x\),就让 \(p\) 异或上 \(x\)。否则放上去即可。
应用
- 向量带权,求权值最小的基:形如 MST 的拟阵贪心,排序后依次插入即可。
- 最大异或和:从高到低位,若能令答案更大就异或。
- 合并:启发式合并。
- 最小异或和:最小的那个。
- 判断能否表示:看看能否插入,能就不可表示,反之可表示。
- 第 \(k\) 大异或和:先化简为行简化型阶梯矩阵,满足每个向量在其位上只有它是 \(1\)。然后形如二进制展开 \(k\) 即可。
可删线性基
一般来说,不可删去,需搭配线段树分治等策略。
可以离线下来,给向量一个删除时间。插入时,假如当前向量比插入向量删除时间早,就交换两者,继续插入即可。这样线性基的所有向量删除时间尽量晚。
线性基求交
太菜了,还不会。
随机化:Schwartz-Zippel 引理
内容
- 对于有限域 \(F\) 中的 \(m\) 元 \(n\) 次多项式 \(f(x_1\dots x_m)\),为 \(x_1\dots x_m\) 随机赋值,\(f\) 为 \(0\) 的几率为 \(\frac {n}{|F|}\)。
应用
做法是随机一个向量 \(x\),判断 \(ABx=Cx\)。
证明:也就是 \((AB-C)x=0\) 是否与 \(AB-C=0\) 等价,判错当且仅当 \(AB-C\ne 0\) 且 \((AB-C)x=0\)。左为非零方阵,右为向量,所以乘积可视为 \(n\) 个 \(n\) 元一次多项式,由一个为 \(0\) 的概率为 \(\frac 1{|F|}\),至少一个事件成立的概率不大于单个事件成立概率之和,所以出错概率为 \(\frac n{|F|}\),\(F\) 取较大模数几乎不可能发生。

浙公网安备 33010602011771号