线性代数
前言
本来并不是很打算做这一篇(?)但是突然发现线性代数也有不低的研究价值,遂开个坑。
内容应该会比前两周差不多,尽量写的通俗易懂吧。
这篇应该会对小白很友好,因为我也是线代小白。
1.1 线性代数简介
首先我们这里不是数学上的线代,反正我也不是 MOer。因此本篇对于一些篇幅巨大的证明将会略去,如果实在好奇推荐去看 OI-WIKI 或者自行上网查资料。
然后本篇主要着重于讲线代与 OI 相关的部分,因此无关或者没啥用的会被略去。然后由于线代相比组合数学和数论定义非常多(且并不广为人知)所以我们这边会讲一下后面会用到的定义方便理解。
本文主要目的是打好 OI 线代基础,所以不会有太多的运用,因此矩阵乘法和线性基将不会在此出现(可能会提一嘴)
1.1.1 矩阵
在 OI 中,你可以将矩阵视为一个二维数组。也即我们称一个大小为 \(n \times m\) 的二维数组(可以形象的理解为 \(n\) 行 \(m\) 列)称为大小为 \(n \times m\) 的矩阵。特别地,我们称 \(n=m\) 的方阵称作 \(n\) 阶方阵。
对于矩阵的每个部分,我们有如下定义:
- 主对角线:我们可以将矩阵第 \(i\) 行第 \(j\) 列的位置叫做 \(a_{i,j}\),主对角线就是 \(i=j\) 的位置集合。
- 行/列:这涉及到转置的概念。通常我们对于一个 \(n \times m\) 的矩阵 \(A\),\(A^{T}\) 是其转置矩阵,转置矩阵就是将行列互换,形式化表示为 \(A^T_{i,j}=A_{j,i}\)。
- 次对角线:我们通常称 \(i-j=1\) 的位置集合为次对角线。
有一些特殊矩阵定义:
- 对角矩阵:只有主对角线非 \(0\) 的矩阵。
- 单位矩阵:我们后续将用 \(I\) 表示,指的是主对角线全为 \(1\) 的对角矩阵。
- 上/下三角矩阵:主对角线以下/上的元素全 \(0\) 的矩阵。
- 对称矩阵:\(A^{T}=A\)。
- 单位三角矩阵:非 \(0\) 元素全为 \(1\) 的三角矩阵。
矩阵最重要的有如下几个运算:
- 矩阵乘法。满足结合律,分配律,不满足交换律。定义为 \(C=A\times B\),\(C_{i,k}=\sum_{j=1}^m A_{i,j}B_{j,k}\)。前提是 \(A\) 矩阵的列数等于 \(B\) 矩阵的行数。运用矩阵乘法,我们将可以优化一种线性递推类的 DP。当然这并不是线性代数的主题,我们将略过。
- 行列式:通常仅适用于方阵。定义为 \(\sum_{\sigma}(-1)^{\pi(\sigma)}\prod_{i=1}^n a_{i,\sigma_i}\)。这边的 \(\sigma\) 是一个排列,\(\pi(\sigma)\) 是该排列的逆序对数量。可以用后文说的高斯消元优化到 \(O(n^3)\) 计算。
- 求逆:定义 \(A^{-1}\) 为矩阵 \(A\) 的逆矩阵,满足 \(A^{-1}A=I\)。逆矩阵不一定存在,若存在可以用高斯消元求解。

浙公网安备 33010602011771号