网课-线性代数学习笔记
线性
一个函数
是线性的,当且仅当:
其中
, 为某种可运算的元素。
向量
纵向的列表。
-
维数:向量的长度。
-
线性函数:
其中
不一定是数字。 -
线性变换:定义在向量上的线性函数,返回值为向量。
矩阵
一、描述线性变换的方法。
二、若干列向量组成的序列。
-
矩阵乘法:
,其中 为矩阵。令 ,即定义了矩阵乘法。 -
单位矩阵:其他位置为 0,主对角线为 1。
-
矩阵快速幂优化技巧:假如是对同一个矩阵多次查询幂,直接乘复杂度为
。预处理矩阵的 次幂,每次用询问的向量去乘,复杂度可优化为 。
矩阵乘法的用处:
-
运用矩阵快速幂实现对同一递推式的加速递推。
-
套用数据结构实现任意区间查询矩阵乘法。
-
套用数据结构动态维护矩阵乘法。
例题:
-
例一
这道题难在设计状态(或者说向量)。实际向量应存入分子和分母,矩阵表达的就是一个通分的过程。
-
矩阵设计方面,很巧,把能塞的都塞进去;卡常部分,使用手动展开矩阵,只存需要的部分。(但好像这道题用单纯的线段树就可以了。。。)
-
这道题体现的是利用矩阵实现双向维护单向信息。因为在套用数据结构后,我们还可以“由右向左”求矩阵积。
-
例四:区间加斐波那契数列,区间查询和
通过矩阵乘法可以转化为区间加同一个数的等比数列,然后就可以用乘法分配律将懒标记转化为一个矩阵加法问题。
-
修改矩阵运算:将
改为 ,此时单位矩阵主对角线为 ,其余位置为 。
线性基
线性基是在“异或空间”中定义的。如果从高斯消元来理解,它至少是一个上三角矩阵,当然有时也可以把它消成简化梯形矩阵。它主要被用于解决一个集合中任意个数的数异或的最值问题。
-
T441671 0x35-高斯消元与线性空间 - XOR:异或空间中第
小数这个题要把线性基消成更严格的形式——对于每个
,它的最高位只有它一个数为 1。消完以后按照 的二进制表示选取即可。 -
时间戳线性基:尽量保留晚插入的向量而继续递归插入早插入的。这样在去除时间戳
的向量后,可以得到一个 时间戳的线性基。(例:P3292 [SCOI2016] 幸运数字)
【我感觉线性基可以再来点例题。。。】
高斯消元
给定矩阵
和向量 ,求向量 满足 。
高斯消元的本质是三个初等行变换:交换某两行、某个行乘上
为了减小精度误差,可以在找消元行时挑系数最大的一行。
-
P4783 【模板】矩阵求逆:有两种理解方式。一种是通过列
个同余方程理解;一种是通过 ,然后把 用高斯消元消成 ,并顺便将 上进行的操作在 上也进行一次。 -
P3265 [JLOI2015] 装备购买:由于高斯消元的策略是“尽量选前面的行”,可贪心地将小的排在前面。
线性空间
-
线性组合:若某个向量能被某组向量表出,称其为这组向量的线性组合。
-
线性空间:一个关于线性组合封闭的集合即为线性空间(向量空间、空间)。
-
维列向量空间:全体 维向量构成的空间。 -
线性无关:称一组向量线性无关,当且仅当其中任何一个向量都不能被其他向量表出。
-
基:对于一组线性无关的向量张成的空间,这组向量称为其的基。
-
维数:该线性空间基的个数。
-
线性变换的新理解:通过一个线性变换,我们会把当前线性空间映射成另一个线性空间(当然也可能不变)。新的线性空间维数不可能大于原先的线性空间。
一句比较拧的话:“对于任意
维的线性空间,都一定存在一个线性变换,把它映射到 维列向量空间。” 看上去就是一句废话。但
维的线性空间其实可能是若干 维的向量的集合。如 所张成的空间,你可以把它想象成三维空间中一个倾斜的二维平面。 而
维列向量空间则是货真价实的 维向量张成的。如 轴和 轴张成的平面,它在三维中是没有倾斜角的。 所以这一步映射实际是对空间进行了转变的,并不是无意义的。
(下面两个概念是我前面偷懒没写的概念)
-
转置矩阵:将矩阵的行、列交换后的矩阵。记作
。 -
可逆变换:存在逆的变换(矩阵)。没有全零行的矩阵都满足,初等行变换显然满足。
-
秩:秩是一个矩阵中所有列向量张成的空间的维数。
可以证明初等行变换不改变线性无关的行的数量;并且由于初等行变换为可逆变换,高斯消元后的秩不大于也不小于原来的秩。因此:转置矩阵的秩等于原矩阵的秩。
-
降秩 & 满秩:对于一个矩阵,若所有列向量线性无关则为满秩矩阵,反之则为降秩矩阵。
-
维数公式:设
是从空间 到空间 的线性变换,记 表示 的核, 表示 的像,则有 。(如果一个矩阵为降秩矩阵,则通过它的映射可能会使得空间维数减小。)
此题的关键在于构造矩阵。
可以发现,若构造矩阵
另外还需要发现一个性质:
行列式
是一个矩阵的属性,用于描述它将空间(单位面积、体积)放大了几倍。
注解 2:这等于在原本空间的基上加上一个向量。如下图,最终面积等于所加向量围成的面积 + 原面积。
注解 3:那将是一个降秩矩阵,故而显然。
- 将一行数乘后加到另一行上行列式不变。
注解 1:设
注解 2:通过线性展开,我们可以将原矩阵的
注解 4:将经受操作的
其实根据前面可以发现,我们完全可以使用高斯消元求出行列式,那个“排列”不过是定义罢了。具体地说,交换两行行列式取反,加减两行行列式不变,对某行进行数乘则行列式乘上该数,详见 P7112 【模板】行列式求值
还有一条性质:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)