| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> luogu P7776 【模板】特征多项式 -> 正文阅读 |
|
[人工智能]luogu P7776 【模板】特征多项式 |
https://www.luogu.com.cn/problem/P7776 众所周知,对于一个 n × n n\times n n×n的矩阵 A A A,它的特征多项式为 p ( x ) = D E T ( x I ? A ) p(x)=DET(x I-A) p(x)=DET(xI?A) 有一条重要的性质 D E T ( x I ? A ) = D E T ( x I ? Q A Q ? 1 ) DET(xI-A)=DET(xI-Q A Q^{-1}) DET(xI?A)=DET(xI?QAQ?1) 证明: 所以原矩阵和相似矩阵的特征多项式相同 因为一般的矩阵不一定都能相似对角化,但是都可以变成上海森堡矩阵(次对角线下全部是0) 我们考虑类高斯消元 高斯消元的过程相当于是把 A A A变成 P A PA PA 每一次操作可以看成左乘了一个矩阵
P
P
P 考虑这个矩阵 P P P长啥样,假设要把第 i i i行乘 k k k加到第 j j j行,那么就是一个单位矩阵,然后第 j j j行,第 i i i列是 k k k 不难得到它的逆矩阵是第 j j j行第 i i i列为 ? k -k ?k 对应为矩阵上就相当于是把第 j j j列乘 ? k -k ?k加到第 i i i列上 注意交换两行的时候也要交换两列 然后就可以消成上海森堡矩阵了 然后考虑怎么求行列式 行列式等于它任意一行(列)的各元素与其对应的代数式余子式乘积之和 就是把某一行(列)的
a
[
i
]
[
j
]
?
C
[
i
]
[
j
]
a[i][j]*C[i][j]
a[i][j]?C[i][j]求个和
p
0
(
x
)
=
1
p_0(x)=1
p0?(x)=1 我们按照最后一列展开,可以写为 D E T = ( x ? a [ i ] [ i ] ) C [ i ] [ i ] + a [ i ? 1 ] [ i ] C [ i ? 1 ] [ i ] + . . . DET=(x-a[i][i])C[i][i]+a[i-1][i]C[i-1][i]+... DET=(x?a[i][i])C[i][i]+a[i?1][i]C[i?1][i]+... 第一项显然是 C [ i ] [ i ] = p i ? 1 ( x ) C[i][i]=p_{i-1}(x) C[i][i]=pi?1?(x) 考虑第二项,画出来之后发现最后一行只有一个
a
[
i
]
[
i
?
1
]
a[i][i-1]
a[i][i?1]按照它在展开为
a
[
i
]
[
i
?
1
]
C
[
i
?
2
]
[
i
?
2
]
a[i][i-1]C[i-2][i-2]
a[i][i?1]C[i?2][i?2] 同理可得 code:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/9 15:36:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |