线性代数 - 矩阵对角化

矩阵对角化

今天听 \(\texttt{m}\color{red}\texttt{yee}\) 嘴的,赶紧来补个学习笔记。

我们有点时候需要计算一个较小矩阵的 \(n\) 次幂,但直接求幂非常不方便,这是会考虑矩阵对角化,将 \(M\) 改写为 \(\mathcal{PDP^{-1}}\),这样 \(M^n\) 次就可以写为 \((\mathcal{PDP^{-1}})=\mathcal{PD^nP^{-1}}\),转化为快速计算 \(\mathcal{D^n}\)

求解方法

我们定义一个矩阵 \(\mathcal{A}\) 的特征向量为 \(\alpha\),相应特征值为 \(\gamma\),他们满足:

\[\mathcal{A}\alpha=\gamma\alpha \]

其中 \(\alpha\) 是定义在 \(K^n\) 次空间内的非零向量,\(\gamma\) 是一个常数,可以将上面的式子写成矩阵的形式:

\[\begin{bmatrix}a_{1,1}&a_{1,2}&\cdots&a_{1,m}\\a_{2,1}&a_{2,2}&\cdots&a_{2,m}\\\vdots&\vdots&\ddots&\vdots\\a_{n,1}&a_{n,2}&\cdots&a_{n,m}\end{bmatrix}\times\begin{bmatrix}b_1\\b_2\\\vdots\\b_n\end{bmatrix}=\begin{bmatrix}\gamma b_1\\\gamma b_2\\\vdots\\\gamma b_n\end{bmatrix} \]

矩阵对这个向量只起到拉扯作用。

对于上面的定义式 \(\mathcal{A}\alpha=\gamma\alpha\),我们在右边乘上一个 \(I\) 单位矩阵对答案不会有任何影响,并可以作一下变形:

\[\mathcal{A}\alpha=\gamma\mathcal{I}\alpha\\ (\mathcal{A}-\gamma\mathcal{I})\alpha=\vec{0}\\ \]

观察上面的式子,可以发现 \(\mathcal{A}-\gamma\mathcal{I}\) 一定不存在矩阵的逆(证明:如果存在,可以在等式左右两端各乘上一个逆,那么得到 \(\alpha=\vec{0}\),但由于 \(\alpha\not=\vec{0}\),矛盾,所以不行)。

由于不存在矩阵的逆,所以一定有 \(\text{det}(\mathcal{A}-\gamma\mathcal{I})=0\)!!!

那么根据行列式的定义式:

\[\text{det}(M)=\sum_{\{p\}}(-1)^{\sigma(\{p\})}\prod_{i=1}^na_{i,p_i} \]

我们不妨手动计算行列式,其中不失有对二、三阶矩阵行列式的快速计算方法:

  • 二阶矩阵行列式:主对角线元素之积减去另外两个元素的乘积。
  • 三阶矩阵行列为:主对角线三乘三减去副对角线三乘三,\(a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{13}a_{22}a_{31}-a_{12}a_{21}a_{33}-a_{11}a_{23}a_{32}\)

为了防止忘记减去 \(\gamma\),我们将 \(\mathcal{A}-\gamma\mathcal{I}\) 写成矩阵形式,这就是我们需要求解的矩阵:

\[\begin{bmatrix}a_{1,1}-\gamma&a_{1,2}&\cdots&a_{1,m}\\a_{2,1}&a_{2,2}-\gamma&\cdots&a_{2,m}\\\vdots&\vdots&\ddots&\vdots\\a_{n,1}&a_{n,2}&\cdots&a_{n,m}-\gamma\end{bmatrix} \]

那么写出行列式表达式,我们得到了关于 \(\gamma\) 的一个方程,对它求解我们就得到了 \(\le n\)\(\gamma\) 值。

对于每一个 \(\gamma\),代回上面 \((\mathcal{A}-\gamma\mathcal{I})\alpha=\vec{0}\) 的式子,我们就可以计算出 \(n\)\(\alpha\) 的表达式,我们的要求是这 \(n\)\(\alpha\) 线性无关!!

结果已经出现,假设对角化后结果为 \(\mathcal{A}=\mathcal{PDP^{-1}}\),那么:

\[\mathcal{P}=\begin{bmatrix}\alpha_1&\alpha_2&\cdots&\alpha_n\end{bmatrix}\\\mathcal{D}=\begin{bmatrix}\gamma_1&0&\cdots&0\\0&\gamma_2&\cdots&0\\\vdots&\vdots&\ddots&\vdots\\0&0&\cdots&\gamma_n\end{bmatrix} \]

\(\mathcal{P^{-1}}\) 就是 \(\mathcal{P}\) 的逆,可以手动计算!!由于 \(\gamma\)\(\alpha\) 时可能会有多个解,只要相应 \(\gamma\) 对应相应 \(\alpha\) 即可。

注意其中每一个 \(\alpha\) 都是列向量,所以 \(\mathcal{P}\) 是一个 \(n\times n\) 的方阵。

这样就可以快速求出 \(\mathcal{A}\) 的表达式啦!!

例题

hdu 6956 Pass!

\(n\) 个小朋友在玩球!!最开始球在 \(1\) 号小朋友手上,每次游戏小朋友都会将球等概率传给除了自己的任何一个小朋友。

设经过 \(t\) 次传球后将球传回 \(1\) 号小朋友的方案数对 998244353 取模的值为 \(x\)

现在给定 \(x\),求最小的 \(t\),满足方案数取模后为 \(x\),如果无解输出 -1

\(1\le T\le 100,2\le n\le 10^6,0\le x<998244353\)

先考虑一个正向暴力的做法:

\[dp_{i,j}=\dfrac{\sum_{k=1}^{n}[j\not=k]dp_{i-1,k}}{n-1}\\ \]

\(f_i\) 表示在第 \(i\) 次传球后球在 \(1\) 的概率,\(g_i\) 表示不在 \(1\) 的概率,一定有 \(f_i+g_i=1\)

\[g_{i}=(n-2)\times g_{i-1}+(n-1)\times f_{i-1}\\ f_i=g_{i-1}\\ \begin{bmatrix}f_0\\g_0\end{bmatrix}=\begin{bmatrix}1\\0\end{bmatrix}\\ \begin{bmatrix}f_i\\g_i\end{bmatrix}=\begin{bmatrix}0&1\\n-1&n-2\end{bmatrix}\times \begin{bmatrix}f_{i-1}\\g_{i-1}\end{bmatrix}=\begin{bmatrix}0&1\\n-1&n-2\end{bmatrix}^i\times \begin{bmatrix}1\\0\end{bmatrix} \]

根据上面的推导,我们对等式右边的矩阵对角化,可以解出 \(\gamma_1=n-1,\gamma_2=-1\)

\[\alpha_1=\begin{bmatrix}n-1\\1\end{bmatrix}\\ \alpha_2=\begin{bmatrix}1\\-1\end{bmatrix}\\ \]

写出对角化之后的矩阵:

\[\mathcal{P}=\begin{bmatrix}n-1&1\\1&-1\end{bmatrix}\\ \mathcal{D}=\begin{bmatrix}n-1&0\\0&-1\end{bmatrix}\\ \mathcal{P^{-1}}=\begin{bmatrix}gugugu\end{bmatrix} \]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317961.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EF Core 数据库 Provider 一览

当 EF Core 1.x 系列和 2.0 版本之间经过重大的重写时&#xff0c;所有 EF Core 数据库 Provider 都受到重创。从那时起&#xff0c;各种私人和商业开发团队一直在努力填补这个空白。正文当 EF Core 1.x 系列和 2.0 版本之间经过重大的重写时&#xff0c;所有 EF Core 数据库 P…

[3.3训练赛]One-Dimensional(矩阵快速幂),Freda的迷宫(无向图强连通分量+并查集),一道防AK好题

文章目录T1:One-DimensionaltitlesolutioncodeT2:【NOIP模拟赛】Freda的迷宫titlesolutioncodeT3:【NOIP模拟赛】一道防AK好题titlesolutioncode确实没想到自己写文章能隔这么久&#xff0c;鸽王预警 T1:One-Dimensional title 考虑一个含有 N 个细胞的一维细胞自动机。细胞…

牛客网专题 概率dp

文章目录概念&#xff1a;例题引入&#xff1a;解答&#xff1a;Happy Running NC15532题意&#xff1a;题解&#xff1a;代码&#xff1a;poj2096 NC106693 Collecting Bugs题意&#xff1a;题解&#xff1a;代码&#xff1a;NC210477 带富翁题意&#xff1a;题解&#xff1a;…

模板:线性基

文章目录解析实现删除所谓线性基&#xff0c;就是线性的基 &#xff08;逃&#xff09; 解析 何为线性基&#xff1f; 定义几何BBB为集合SSS的线性基,当且仅当: .S任意子集异或和可以得到的结果&#xff0c;用B的子集都也可以得到&#xff0c;且B时所有这样的集合中元素最少的…

CF1242C-Sum Balance【状压dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF1242C 题目大意 给出kkk个集合&#xff0c;现在从每个集合中取出一个数再把这些数放进每个集合里各一个&#xff0c;求能否使得所有集合的和相等&#xff0c;求方案。 保证所有集合中的出现过的数字都互不相同。 1≤k≤15…

连续段计数问题小记

给定一个长度为 \(n\) 的一个排列&#xff0c;如果区间 \([l,r]\) 之间的数是连续的&#xff0c;那么我们称这个区间时一个连续段。 比如 \([1,3,2,5,4]\) 中的连续段有&#xff1a;\([1,1],[1,3],[1,5],[2,2],[2,3],[2,5],[3,3],[4,4],[4,5],[5,5]\)。 这些连续段有一个共同的…

.NET Core 3.0 特性初探:C# 8、WPF、Windows Forms、EF Core

.NET Core 的下一个主要版本最近进入了预览阶段&#xff0c;.NET Core 3.0 将支持使用 Windows Presentation Foundation &#xff08;WPF&#xff09;、Windows Forms&#xff08;WinForms&#xff09;、Entity Framework &#xff08;EF&#xff09;、Blazor、 C# 8 和.NET S…

任意长度循环卷积单位根反演 学习笔记

今天听 \(\texttt{m}\color{red}{\texttt{yee}}\) 嘴的&#xff0c;赶紧来补个学习笔记。 PS&#xff1a;FFT 本质是长度为 \(2^k\) 的循环卷积。 单位根反演 反演本质&#xff1a; \[\frac1n\sum_{i0}^{n-1}\omega_{n}^{ai}[n|a] \]证明&#xff1a; 如果 \(n|i\)&#xff0c;…

YBTOJ洛谷P4074:糖果公园(树上莫队)

文章目录解析update:代码所谓树上莫队&#xff0c;就是在树上的莫队 &#xff08;逃&#xff09; 传送门 解析 似乎就是树上的这道题 考虑如何转化为序列问题呢? 考虑dfs序 但是又一个问题。。。 似乎这条链的dfs序不连续啊 树剖一下就好啦 考虑更阳间的方法 求出这棵树的欧…

ARC115D-Odd Degree【dp,欧拉回路】

正题 题目链接:https://atcoder.jp/contests/arc115/tasks/arc115_d 题目大意 给出nnn个点mmm条边的一张无向图&#xff0c;对于每个k∈[1,n]k\in[1,n]k∈[1,n] 求恰好有kkk个奇数入度点的生成子图数量。 1≤n,m≤50001\leq n,m\leq 50001≤n,m≤5000 解题思路 考虑有kkk个奇…

【用梨泰院class中的财阀世家带你洞悉替罪羊树】Scapegoat Tree原理,模板,例题

我想写在前面&#xff0c;本文财阀世家全是虚构&#xff0c;没有诋毁之意&#xff0c;如有雷同&#xff0c;纯属巧合 红色预警&#xff01;&#xff01;&#xff01;红色预警 文章目录Scapegoat Tree概念模板变量声明Bad函数判断是否需要重构理解模板rebuild重构理解模板inser…

领域驱动设计,让程序员心中有码(五)

1 从搬砖谈领域对象有一个古老的故事&#xff0c;大概是这样的。作者问三个建筑工地上的工人他们在干什么&#xff1f;有一个没精打采的说&#xff0c;我在挖洞&#xff01;而另一一个人却说&#xff0c;我在盖一座房子。还有一个人说&#xff0c;我在建立一座巨大的城市。…

spoj Favorite Dice(概率dp+期望)

题意&#xff1a; 摇一个n面的骰子&#xff0c;问每一面都被摇到的次数期望是多少。 题解&#xff1a; 概率dp往往都是倒着推 我们设dp[x]表示已经摇到了x个面&#xff0c;还要摇的概率次数 那么dp[n] 0(即一次还没摇) dp[0]就是答案 对于dp[i],我们考虑当前已经摇到i个面&…

AT3968-[AGC025E] Walking on a Tree【构造】

正题 题目链接:https://www.luogu.com.cn/problem/AT3968 题目大意 给出nnn个点的一棵树&#xff0c;然后给出mmm条路径。每条边的权值是它是否又被正向经过是否又被反向经过&#xff0c;给每条路径定向使得所有边的权值和最大。输出方案。 1≤n,m≤20001\leq n,m\leq 20001≤…

CF512D Fox And Travelling(DP 计数)

CF512D Fox And Travelling 给定一张 \(n\) 个点 \(m\) 条边的无向图&#xff0c;每次选择一个叶子结点并将它和连接它的边删除。 对于每个 \(k\in[0,n]\)&#xff0c;问有序选择 \(k\) 个点的方案数。 \(n\le 100\)。 显然如果有环&#xff0c;那么所有环上的点都无法被选择&a…

.NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRF/CSRF)攻击处理...

通过 ASP.NET Core&#xff0c;开发者可轻松配置和管理其应用的安全性。 ASP.NET Core 中包含管理身份验证、授权、数据保护、SSL 强制、应用机密、请求防伪保护及 CORS 管理等等安全方面的处理。 通过这些安全功能&#xff0c;可以生成安全可靠的 ASP.NET Core 应用。而我们这…

模板:左偏树

文章目录解析可以解决的问题定义&#xff1a;左偏树的基本性质基本结论操作合并访问与删除堆顶元素插入元素批量插入删除已知元素所谓左偏树&#xff0c;就是往左偏的树 下面介绍一下它的一个兄弟&#xff1a; 《右偏树》 &#xff08;逃&#xff09; 解析 所谓左偏树&#…

迎开学水题狂欢赛(舞踏会[dp+三叉树],HH去散步[矩阵快速幂],排序[模拟],铁路旅行[线段树])

快速简单记录老师口胡&#xff08;可能就我自己看得懂了吧…&#xff09; 文章目录T1&#xff1a;舞踏会titlesolutioncodeT2&#xff1a;HH去散步titlesolutioncodeT3&#xff1a;排序titlesolutioncodeT4&#xff1a;铁路旅行titlesolutioncodeT1&#xff1a;舞踏会 title …

P2619 [国家集训队]Tree I(K 度限制生成树 二分)

P2619 [国家集训队]Tree I 一张 \(n\) 个点 \(m\) 条边的带权无向联通图&#xff0c;每条边是黑色或白色。求一棵最小权的恰好有 \(need\) 条白色边的生成树&#xff0c;题目保证有解。 \(n\le 5\times 10^4,m\le 10^5,val\in[1,100]\)。 \(\color{yellow}{\bigstar\texttt{Tri…

CSP2021提高组复赛解析

前言 终于出成绩了我可以写博客辣&#xff0c;官方数据还没出就先放洛谷的题目链接了。 正题 T1-廊桥分配 https://www.luogu.com.cn/problem/P7913 题目大意 有m1m_1m1​种一类飞机&#xff0c;m2m_2m2​种二类飞机&#xff0c;每个飞机有一个占用时间的区间。要给两类飞机…