线性代数 学习笔记
前置可以看看 link,证明了一些比较基础的东西。
线性空间
给定域 \(F\),定义其上的线性空间是一个集合 \(V\),定义两种二元运算:
加法:\(V+V\to V\)。
数乘:\(F\times V\to V\)。
需要满足:
-
加法具有结合律,交换律,并且有零元,有逆元。
-
数乘需要满足有单位元,零元,结合律,和两种分配律。
比较简单的例子:
-
\(F^n\)(长度为 \(n\) 的有序数组)是数域 \(F\) 上的线性空间。(即向量)。
-
复数域是实数域上的线性空间。
对于 \(F\) 上的两个线性空间 \(U,V\),如果 \(U ⊆ V\),那么 \(U\) 是 \(V\) 的线性子空间。
充要条件为 \(U ⊆ V\) 并且 \(U\) 封闭。
对于一组 \(v_1,v_2,...,v_k\in V,a_1,a_2,...,a_k\in F\),称 \(\sum_{i=1}^k a_iv_i\) 是 \(v_1,v_2,...,v_k\) 的一个线性组合。
一组 \(v\) 的所有线性组合是 \(V\) 的线性子空间,称为生成子空间,记为 \(\left \langle v_1,v_2,...,v_k \right \rangle\)。
如果 \(u\in \left \langle v_1,v_2,...,v_k \right \rangle\),称 \(u\) 可以被 \(v\) 线性表出。
对于一组 \(v_1,v_2,...,v_k\in V\),如果存在一组 \(a_1,a_2,...,a_k\in F\) 满足:
-
\(a\) 不全为 \(0\)。
-
\(\sum a_iv_i=0\)
那么称 \(v\) 线性相关,否则线性无关。
线性相关等价与存在一个 \(v_i\) 可以被去掉它的 \(v\) 线性表出。
如果 \(v\) 的子集满足
-
线性无关。
-
再加一个 \(v\) 中任意元素后线性相关。
那么称这个子集为极大线性无关组。
可以简单证明所有极大线性无关组大小相同。
称一个向量组极大线性无关组大小是向量组的秩,记作 \(\text{rank}(S)\)。
对于一个线性空间,取一组线性无关组 \(S\),若其能表出 \(V\) 中所有元素,那么为 \(V\) 的一组基,称 \(V\) 的维数是 \(|S|\),记作 \(\text{dim} V\)。
矩阵
\(n\) 行 \(m\) 列,每个位置一个元素称为矩阵。
\(n=1\) 或者 \(m=1\) 的矩阵可以看成向量。
加法,数乘,乘法略过。
注意乘法没有交换律。
左乘一个矩阵,就是行向量的线性组合,右乘一个矩阵,就是列向量的线性组合。
定义 \(A^{T}\) 表示 \(A\) 的转置,满足 \(A^T_{i,j}=A_{j,i}\)。
乘法的单位元为 \(A_{i,i}=1\),记作 \(I_n\),也叫单位矩阵。
下列三种变换称为初等行变换:
-
两行互换。
-
单行数乘。
-
一行减去另一行。
类似的,也定义初等列变换。
初等变换可以表示称矩阵乘法,一个是左乘一个是右乘,推起来并不难。
- 矩阵的行秩 = 列秩
对于矩阵的行向量集合,定义其最大线性无关组是矩阵的行秩,类似定义列>秩序。
就是找列向量的一组基 \(C\),由于 \(A\) 的列向量可以被 \(C\) 线性组合得到,所以设 \(A=CR\),而由于 \(R\) 是对 \(C\) 进行线性组合,那么它的行秩显然 \(\le\) \(C\) 的列秩。
而 \(A=CR\) 可以看成是 \(R\) 的行变量进行线性组合的结果,所以 \(A\) 的行秩 \(\le\) \(R\) 的行秩,所以 \(A\) 的行秩 \(\le\) 列秩,反过来同理证明。
因此可以直接定义一个矩阵的秩 \(\text{rank} (A)\)。
如果一个 \(n\times m\) 的矩阵秩为 \(r\),那么它可以表示为 \(n\times r\) 的矩阵乘 \(r\times m\) 的矩阵。
已知矩阵 \(A\) 和列向量 \(b\),解
容易发现这和线性方程组等价。
一般采用高斯消元法进行求解,就是利用初等变换把矩阵改为行阶梯矩阵,这里不展开。
矩阵的秩就是消元后对角线非 \(0\) 数个数。
注意到
所以可以用高斯消元求出矩阵的逆,条件是满秩。
行列式
对于一个 \(n\times n\) 矩阵 \(A\),其行列式定义为:
\(S_n\) 是所有排列的集合,\(N(p)\) 是 \(p\) 的逆序对数量。
行列式咋求可以这里学习。
根据排列 \(p\) 与它的逆排列逆序对奇偶性不变,可以得到:
对于方阵 \(A\),\(I=\{i_1,i_2,...,i_k\}⊆R,J=\{j_1,j_2,...,j_k\}⊆C\),定义 \(A[I,J]\) 表示 \(A\) 保留 \(I\) 中行和 \(J\) 中列的交集后得到的矩阵。
-
\(|A[I,J]|\) 称为子式,\(I=J\) 这个称为主子式。
-
\(|A[R-I,C-J]|\) 称为余子式。
-
\(k=1\) 时,定义 \((-1)^{i_1+j_1}|A[R-I,C-J]|\) 为代数余子式。
对于第 \(i\) 行考虑行列式中选那个点,可以得到
这叫做拉普拉斯展开,也可以扩展到选多列。
对于多项式 \(f(x),g(x)\):
定义其西尔维斯特矩阵为:
定义两个多项式的结式 \(\text{Res}(f,g)\) 为其行列式。
等价于如果 \(f\) 的根是 \(x_1,x_2,...,x_n\),\(g\) 的根为 \(y_1,y_2,...,y_m\)。
考虑咋解:
这几点是显然的。
然后开始操作,令 \(f=g\times s+r\),此处 \(\deg f\ge \deg g\)。
因此先把 \(a_n^mb_m^n\) 加入到答案,然后进行一个多项式取模,然后递归求 \(\text{Res}(r,g)\) 即可。
得到这个做法后,发现和上面那个行列式的暴力求解过程式一样的,复杂度 \(O(nm)\)。