线性代数 学习笔记

前置可以看看 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\),解

\[Ax=b \]

容易发现这和线性方程组等价。

一般采用高斯消元法进行求解,就是利用初等变换把矩阵改为行阶梯矩阵,这里不展开。

矩阵的秩就是消元后对角线非 \(0\) 数个数。

注意到

\[Ax=b\to x=A^{-1}b \]

所以可以用高斯消元求出矩阵的逆,条件是满秩。

行列式

对于一个 \(n\times n\) 矩阵 \(A\),其行列式定义为:

\[|A|=\text{det}(A)=\sum_{p\in S_n} (-1)^{N(p)}\prod_{i=1}^n A_{i,p_i} \]

\(S_n\) 是所有排列的集合,\(N(p)\)\(p\) 的逆序对数量。

行列式咋求可以这里学习。

根据排列 \(p\) 与它的逆排列逆序对奇偶性不变,可以得到:

\[\det(A)=\det(A^T) \]


对于方阵 \(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\) 行考虑行列式中选那个点,可以得到

\[|A|=\sum_{j=1}^n (-1)^{i+j}|A[R-\{i\},C-\{j\}]| A_{i,j} \]

这叫做拉普拉斯展开,也可以扩展到选多列。


对于多项式 \(f(x),g(x)\)

\[f(x)=\sum_{i=0}^n a_ix^i\\ g(x)=\sum_{i=0}^m b_ix^i \]

定义其西尔维斯特矩阵为:

定义两个多项式的结式 \(\text{Res}(f,g)\) 为其行列式。

等价于如果 \(f\) 的根是 \(x_1,x_2,...,x_n\)\(g\) 的根为 \(y_1,y_2,...,y_m\)

\[\text{Res}(f,g)=a_n^mb_m^n\prod_{i=1}^n \prod_{j=1}^m (x_i-y_j) \]

考虑咋解:

\[\text{Res}(f,g)=a_n^mb_m^n\prod_{i=1}^m f(y_i)=a_n^mb_m^n\prod_{i=1}^m g(x_i)\\ \text{Res}(g,f)=(-1)^{n+m}\text{Res}(f,g)\\ f(x_i)=0 \]

这几点是显然的。

然后开始操作,令 \(f=g\times s+r\),此处 \(\deg f\ge \deg g\)

\[\prod_{i=1}^mf(y_i)=\prod_{i=1}^mr(y_i) \]

因此先把 \(a_n^mb_m^n\) 加入到答案,然后进行一个多项式取模,然后递归求 \(\text{Res}(r,g)\) 即可。

得到这个做法后,发现和上面那个行列式的暴力求解过程式一样的,复杂度 \(O(nm)\)

posted @ 2023-12-29 19:22  houzhiyuan  阅读(91)  评论(0编辑  收藏  举报