矩阵基础
矩阵
定义
设
称为
用大写字母来表示矩阵,如
记
矩阵加法
就是对应位置相加,若
矩阵乘法:
现有大小为
可以简记为 : A横乘B竖。
卡常技巧: 一般来说,矩阵乘法的元素要求对某个数取模,我们可以用 long long(或者 int128)把一行之和求出来再取模,以减少取模次数。
矩阵乘法的性质
-
结合律:
直接把两边用矩乘定义展开
因为乘法运算对加法有分配律,所以
可以提前并交换,于是两边都变成 的形式。 -
分配律:
,另一个同理。 -
没有分配律!可以举例验证
-
有乘法单位元
即单位矩阵(虽然这玩意本质上是个方阵)。用
表示大小为 的单位矩阵。构造:对角线为 1,其它地方是 0。证明还是直接用定义展开
性质:对于
-
有消去律
,当且仅当 且 (存在 A 的逆)
广义矩阵
普通矩阵乘法是“对应位置相乘再加起来”,记作
例如:定义乘法
矩阵快速幂:
这是一个矩乘的应用,并且相当常用。
和普通快速幂求解方式一样
模板题
(注:这个算法的成立基于矩乘的结合律)
矩阵快速幂优化dp
把dp方程看成向量(或是1 * n的矩阵),尝试把转移方程当成矩阵。
例如:匪不垃圾式:
数据结构矩阵加速dp
这个也被称为动态dp
我们可以把一个dp的转移看成乘上一个矩阵。
用矩阵快速幂是建立在每一个转移矩阵是一样的,但dp方程的转移往往与输入有关。于是就有了这玩意。
dp的一般形式:
于是我们可以用数据结构来优化。(具体来讲,在ds的每个节点下存一个矩阵,修改操作就是把原来的矩阵删了加上新的矩阵)
总结一下:该算法用于处理对转移方程有微小修改操作的dp
如果这些转移矩阵不会变,那这个做法就是脱裤子放屁。
邻接矩阵的乘法
对一个有向图
如果只考虑可达性,此时矩阵中只有
矩阵的逆
设
可以证明,如果有
性质
- 若
可逆,则 - 若
都是 阶可逆矩阵,则 可逆,且 。一般地, 是 阶可逆矩阵,则 可逆,且 - 若
是 阶可逆矩阵,则 可逆,且 。 阶方阵 可逆
求法
在方阵后面强行拼上一个对角矩阵,然后用初等变换将前面的矩阵消成对角矩阵(就是用的高斯消元),后面的矩阵就是矩阵的逆。
举个栗子:
矩阵/线性变换
现在想知道:
用
在普通的空间(用
方法如下:
- 用两个基直接拼成一个矩阵(就是把中间两个碍事的中括号去掉)。在上面的例子中,该矩阵为:
。(注意,这里将对应 的基放在左边,对应 的基放在右边) - 用这个矩阵乘上这个向量,就是:
。注意矩阵没有交换律,所以顺序不能改。
就行了。
如果要从普通的线性空间中的向量变到特定的空间中,就乘上该空间的两个基拼成的矩阵的逆。就行了。(可以用高斯消元来求矩阵的逆)
由上面的示例可以看出,矩阵可以被当成一种线性变换,其几何意义就是更换线性基后表示某个向量。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具