线性代数入门
线性代数入门
常识
向量
定义
定义如下运算:
,也就是每一维相乘,称为数乘。
线性组合与张成空间
定义向量集
线性相关
对于向量集
基
定义:若向量集
的任意真子集不是 的基- 对于任意
,存在唯一的 ,满足 是 以 为权的线性组合 - 对于任意线性有关集
,存在其真子集 满足
一个线性空间可能有多组基。
-
线性空间的维数定义为
-
矩阵的秩:将
矩阵可以看作 个维数为 行向量堆叠形成的向量组,这个向量组的基的大小定义为矩阵的秩性质:矩阵的行秩等于列秩,以下我们记秩为
。满秩指的是
等于 -
方阵:定义为行数与列数相同的矩阵。
-
记号
表示矩阵的列向量组, 表示行向量组。 -
转置:定义
矩阵 转置后的矩阵 为 矩阵,其中 ,且记 -
定义
,其中 是矩阵,而 是向量(例如 )。 -
补空间:定义
维线性空间 的补空间 ,满足 为全部向量的集合,且 -
正交补空间:定义
维线性空间全集为 ,对于线性空间 ,定义其正交补空间性质:
-
矩阵常识
单位矩阵:仅对角线上有值且值为
的矩阵, 阶单位矩阵记作对角矩阵:仅对角线上有值的矩阵
上三角矩阵:仅对角线及其上方有值的矩阵
分块矩阵:将矩阵使用若干水平竖直线划分为若干部分
以下未加说明,默认
矩阵求逆
矩阵
求法:将矩阵
特殊矩阵的逆矩阵:
- 对于对角矩阵
, 也是对角矩阵,且
高斯消元
注意事项:
-
情况下,使用bitset
优化 -
情况下,使用费马小定理 -
合数情况下,辗转相除。
注意辗转相除法高斯消元是
的(指 矩阵) 这是因为每次操作后两个主要数字至少有一个减少一半,因此总的会执行
次行做差
核心在于减少主元个数优化复杂度
线性基
注意线性基可以做一般情况,不一定是异或。
随机化检验方法
基于 Schwartz–Zippel引理:
Schwartz–Zippel引理
对于数域
注意随机的性质告诉我们,随机赋权后做简单的加减运算同样可以得到随机意义下的同次多项式。
eg:BZOJ 2396
行列式
以下不严谨地,可能用矩阵符号代指行列式。
注意 行列式 既指式子,也指最终值,注意行列式是方阵。
个人认为,行列式类似于全排列的线性组合
- 定义
为 阶排列集合 - 定义
为排列 的逆序对个数。(逆序对数奇偶性等价于 置换环个数的奇偶性)
定义行列式的值为:
积和式
定义积和式:
性质
满秩- 行列式交换两行/列,值变为相反数
- 行列式做加减消元值不变
- 若
为 阶可逆矩阵,
行列式的多种求法
一、定义式
根据定义式来。
二、高斯消元法
通过加减消元(注意就是数乘一行消去另一行,一定注意并不是这一行进行了乘法)
得到一个上三角矩阵,将其对角线元素乘起来就是答案。
行列式的矩阵若不满秩必然为零,如果不为零一定满秩
三、余子式&Laplace展开
先介绍余子式的概念:
定义
一般称余子式都是指划去一行一列的。
设矩阵
注意余子式的值也是这个余子式对应行列式的值。
一些性质:
-
行列式的值为任意行/列的代数余子式与其元素乘积之和
-
行列式某一行(列)的代数余子式与其另一行(列)元素乘积之和等于零
四、Cauchy-Binet 公式
对于
指的是,枚举所有的
例如:
五、分块矩阵法
简单介绍下分块矩阵,即为将矩阵按照若干水平竖直直线进行“分块”,在分块矩阵中,我们用
下面列出分块矩阵的运算,注意两个分块矩阵运算,必然需要分块方式相同。
分块矩阵的运算核心在于,将每个块看作一般矩阵的元素
-
-
-
-
-
若
是可逆方阵,那么:
-
-
设
为 阶方阵, 为 阶方阵 -
Matrix Determinant Lemma
设
分别为 矩阵,则有:证明考虑:
组合意义应用
-
匹配问题:积和式
将一个左右部大小都为
的二分图拿出来,则一个完美匹配的方案可以描述为一个 阶排列,在邻接矩阵计算积和式不为零说明存在完美匹配。当然,积和式难以计算,但我们可以通过随机赋权计算行列式,行列式不为零是积和式不为零的充分条件,具体可以看作是
个主元的函数,参考Schwartz–Zippel引理。 -
利用 laplace 展开的递归结构
-
binet-cauchy 公式与行列式满秩是非零的充要条件的运用(LOJ3409)
其中 是选出 个向量满秩的方案数,根据binet-cauchy公式,相当于是从 个 维向量里选出 个组成行列式与其转置的行列式的积(相当于平方),如果不满秩,那么是零,否则任意非零数的平方模 意义下同余 。
伴随矩阵
定义
伴随矩阵与矩阵的逆有密切联系,但伴随矩阵是一定存在的
根据定义,可以得到:
有如下性质:
,显然每个代数余子式不满秩, 是全零矩阵 ,那么
对于第三种情况伴随矩阵的求法:
设
列向量同样可以找到一组
根据代数余子式的定义以及
也即,我们只需要求出一个
LGV 引理
仅适用于 DAG
定义
- 计数时边权全是
- 边权可以是生成函数
定义
设
下面的
不相交路径指点不相交。
若有路径
常用于 分层图,网格图
注意到逆序对在分层图还有一个意义:线段相交次数。
eg:NOI2021 路径交点,ABC216H
矩阵 的实际意义
[PA2021]Fiolki 2,[SNCPC2024] 最大流。
矩阵树定理
定义对角矩阵
有如下关系:
- 无向图生成树个数为
删去任一 行 列的行列式值 - 有向图以点
为根的内向树个数为 删去第 行第 列的行列式 - 有向图以点
为根的外向树个数为 删去第 行第 列的行列式
无向图情况证明:事实上相当于删去第
考虑这样的容斥思路:钦定环的个数,然后以
考虑设这个指定边都指向
,方案数为 ,方案数为
接着考虑凑配容斥系数,注意我们钦定的图上的环就是
注意到逆序对数的奇偶性与
关联矩阵
定义有向图
如果是无向图,任意定向。
-
列和为零,因此我们只需要
行就知道另一行,不妨设任意删除一行后的矩阵是 -
, 为弱连通图连通块个数 -
令
为 的 阶子式, 是 中这 列代表的边构成一颗生成树的充要条件(显然)。 -
同上,
考虑
如果不是一棵树,那么会有线性相关,则直接为零。如果
是一棵树,考虑按照拓扑序给节点重新标号,这样就变成三角矩阵了,只需要看对角线 -
对于无向图
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!