实对称矩阵一定可以对角化

实对称矩阵一定可以对角化UTF8gbsn 实对称矩阵一定可以对角化 最近看共轭梯度下降的时候看到有人的推导里面用到了这个命题 虽然以前学过 但是学得很渣 所以没有自己想过这个命题怎么样成立的 现在将这些证明过程梳理一下 实对称矩阵含有 n 个实根首先我们来证明一个命题 实对称矩阵含有 n 个实根 注意 n 个实根并不一定都是不同的 可能含有重根 比如 r 1 2 0 r 1 2 0 r 1 2 0 就含有两个重根 r 1r 1r 1 在计算根数目的时候这个方程的解算两个 首先 任意的矩阵 A mathbf A A

UTF8gbsn

实对称矩阵一定可以对角化.
最近看共轭梯度下降的时候看到有人的推导里面用到了这个命题. 虽然以前学过,
但是学得很渣, 所以没有自己想过这个命题怎么样成立的.
现在将这些证明过程梳理一下.


实对称矩阵含有n个实根

首先我们来证明一个命题, 实对称矩阵含有n个实根,
注意,n个实根并不一定都是不同的, 可能含有重根.
比如 ( r − 1 ) 2 = 0 (r-1)^2=0 (r1)2=0就含有两个重根 r = 1 r=1 r=1.在计算根数目的时候这个方程的解算两个.

  • 首先, 任意的矩阵 A \mathbf{A} A,它的特征多项式
    ∣ A − λ I ∣ = 0 |\mathbf{A}-\lambda\mathbf{I}|=0 AλI=0
    是一个 n n n次多项式(这是很显然的).
    由于 n n n次多项式必定有 n n n个根(在复数域上). 这个命题暂不证明,
    直接使用. 我写过另外一篇文章简要的证明了一下这个定理.



  • 有了上一步的结论,
    我们现在只需要证明每一个根 λ i \lambda_i λi是实根就可以了.
    这个证明过程很简单. 假设 λ i \lambda_i λi是任意根之一,
    并且 α i \mathbf{\alpha}_i αi(当然也是在复数域),
    那么根据特征值和特征向量的定义.我们可以得
    A α i = λ i α i \mathbf{A}\mathbf{\alpha}_i=\lambda_i\mathbf{\alpha}_i Aαi=λiαi 取共轭得
    A α ‾ i = λ ‾ i α ‾ i \mathbf{A}\mathbf{\overline{\alpha}}_i=\overline{\lambda}_i\mathbf{\overline{\alpha}}_i Aαi=λiαi
    再进行转置得, 注意 A T = A A^T=A AT=A, 对称矩阵.
    α ‾ i T A = λ ‾ i α ‾ i T \mathbf{\overline{\alpha}}_i^T\mathbf{A}=\overline{\lambda}_i\mathbf{\overline{\alpha}}_i^T αiTA=λiαiT
    右边乘 α i \mathbf{\alpha}_i αi
    α ‾ i T A α i = λ ‾ i α ‾ i T α i \mathbf{\overline{\alpha}}_i^T\mathbf{A}\mathbf{\alpha}_i=\overline{\lambda}_i\mathbf{\overline{\alpha}}_i^T\mathbf{\alpha}_i αiTAαi=λiαiTαi









    再看 A α i = λ i α i \mathbf{A}\mathbf{\alpha}_i=\lambda_i\mathbf{\alpha}_i Aαi=λiαi,
    对它左边乘 α ‾ i T \overline{\mathbf{\alpha}}_i^{T} αiT可得
    α ‾ i T A α i = λ i α ‾ i T α i \mathbf{\overline{\alpha}}_i^T\mathbf{A}\mathbf{\alpha}_i=\lambda_i\mathbf{\overline{\alpha}}_i^T\mathbf{\alpha}_i αiTAαi=λiαiTαi

  • 上面两个式子相减得
    0 = ( λ ‾ i − λ i ) α ‾ i T α i 0=(\mathbf{\overline{\lambda}_i-\lambda_i})\mathbf{\overline{\alpha}}_i^T\mathbf{\alpha}_i 0=(λiλi)αiTαi
    因为, α ‾ i T α i \mathbf{\overline{\alpha}}_i^T\mathbf{\alpha}_i αiTαi是非0向量.所以我们可得 λ ‾ i − λ i = 0 \overline{\lambda}_i-\lambda_i=0 λiλi=0.
    也就是说 λ i \lambda_i λi是实数.
    又因为 λ i \lambda_i λi是任意的特征值,所以 A \mathbf{A} A,
    的所有特征值都是实数.




实对称矩阵属于不同特征值的特征向量正交

接下来我们再来证明一个命题,实对称矩阵属于不同特征值的特征向量正交.我们先假设两个不同的特征值位 λ i , λ j \lambda_i,\lambda_j λi,λj,
他们对应的特征向量为 α i , α j \mathbf{\alpha}_i, \mathbf{\alpha}_j αi,αj. 假如,
我们定义 ( α i , α j ) (\mathbf{\alpha}_i, \mathbf{\alpha}_j) (αi,αj)表示点积.
那么我们可以按照下面的推导.


λ i ( α i , α j ) = ( λ i α i , α j ) = ( A α i , α j ) = α j T A α i = α i T A α j \lambda_i(\mathbf{\alpha}_i, \mathbf{\alpha}_j)=(\lambda_i\mathbf{\alpha}_i, \mathbf{\alpha}_j)=(\mathbf{A\alpha}_i, \mathbf{\alpha}_j)=\mathbf{\alpha_j^TA\alpha_i}=\mathbf{\alpha_i^TA\alpha_j} λi(αi,αj)=(λiαi,αj)=(Aαi,αj)=αjTAαi=αiTAαj
λ j ( α i , α j ) = ( α i , λ j α j ) = ( α i , A α j ) = α i T A α j \lambda_j(\mathbf{\alpha}_i, \mathbf{\alpha}_j)=(\mathbf{\alpha}_i, \lambda_j\mathbf{\alpha}_j)=(\mathbf{\alpha}_i, \mathbf{A\alpha}_j)=\mathbf{\alpha_i^TA\alpha_j} λj(αi,αj)=(αi,λjαj)=(αi,Aαj)=αiTAαj

下相减得 ( λ i − λ j ) ( α i , α j ) = 0 (\lambda_i-\lambda_j)(\mathbf{\alpha}_i, \mathbf{\alpha}_j)=0 (λiλj)(αi,αj)=0,
又因为 λ i ≠ λ j ⇒ α i T ⋅ α j = 0 \lambda_i\neq \lambda_j \Rightarrow \mathbf{\alpha}_i^T\cdot \mathbf{\alpha}_j=0 λi=λjαiTαj=0,
也就是正交成立.

实对称矩阵可对角化

这里我们使用归纳法来证明.

  • 首先假设 n = 1 n=1 n=1. A = a 11 \mathbf{A}=a_{11} A=a11. 这个不证自明.
  • 假设 n = k − 1 n=k-1 n=k1, 命题撤成立.
  • 现在 n = k n=k n=k, 我们假设其中一个特征值位 λ 1 \lambda_1 λ1,
    那么我可以利用第一个特征值对应的特征向量构造一组 R n R^n Rn的正交基.
    T = ( η 1 , η 2 , ⋯   , η n ) T=(\eta_1, \eta_2,\cdots, \eta_n) T=(η1,η2,,ηn). 那么我们可以得
    T − 1 A T = ( T − 1 λ 1 η 1 , T − 1 A η 2 , ⋯   , T − 1 A η n ) T^{-1}AT=(T^{-1}\lambda_1\eta_1, T^{-1}A\eta_2, \cdots, T^{-1}A\eta_n) T1AT=(T1λ1η1,T1Aη2,,T1Aηn)
    又因为 T − 1 T = I T^{-1}T=I T1T=I, 那么,
    我们可以得 T − 1 η 1 = ε 1 T^{-1}\eta_1=\mathbf{\varepsilon}_1 T1η1=ε1. 那么可得
    T − 1 A T = ( λ 1 α 0 B ) T^{-1}AT=\left( \begin{array}{cc} \lambda_1 & \mathbf{\alpha} \\ \mathbf{0} & \mathbf{B} \end{array} \right) T1AT=(λ10αB)





    由于 A A A, 是一个实对称矩阵,
    那么 T − 1 A T T^{-1}AT T1AT也是一个实对称矩阵.进而 α = 0 \mathbf{\alpha}=\mathbf{0} α=0.
    由此可见 B B B也是一个 ( k − 1 ) × ( k − 1 ) (k-1)\times (k-1) (k1)×(k1)的实对称矩阵. 按照假设,
    它是可以对角化的.现在假设.
    T 2 − 1 B T 2 = d i a g { λ 2 , λ 3 , ⋯   , λ n } T_2^{-1}BT_{2}=diag\{\lambda_2, \lambda_3, \cdots, \lambda_n\} T21BT2=diag{
    λ2,λ3,,λn}

    并设 T f = T ( 1 0 0 T 2 ) T_f=T\left( \begin{array}{cc} 1 & 0 \\ 0 & T_2 \end{array} \right) Tf=T(100T2) 那么 T f − 1 A T f = ( 1 0 0 T 2 ) − 1 T − 1 A T ( 1 0 0 T 2 ) = ( 1 0 0 T 2 − 1 ) ( λ 1 0 0 B ) ( 1 0 0 T 2 ) T^{-1}_fAT_{f}=\left( \begin{array}{cc} 1 & 0 \\ 0 & T_2 \end{array} \right)^{-1}T^{-1}AT\left( \begin{array}{cc} 1 & 0 \\ 0 & T_2 \end{array} \right)=\left( \begin{array}{cc} 1 & 0 \\ 0 & T_2^{-1} \end{array} \right)\left( \begin{array}{cc} \lambda_1 & 0 \\ 0 & B \end{array} \right)\left( \begin{array}{cc} 1 & 0 \\ 0 & T_2 \end{array} \right) Tf1ATf=(100T2)1T1AT(100T2)=(100T21)(λ100B)(100T2) = ( λ 1 0 0 T 2 − 1 B T 2 ) = d i a g { λ 1 , λ 2 , ⋯   , λ n } =\left( \begin{array}{cc} \lambda_1& 0 \\ 0 & T_2^{-1}BT_{2} \end{array} \right)=diag\{\lambda_1,\lambda_2, \cdots, \lambda_n\} =(λ100T21BT2)=diag{
    λ1,λ2,,λn}





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215284.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:15
下一篇 2026年3月18日 下午2:15


相关推荐

  • 动态规划优缺点_动态规划是解决

    动态规划优缺点_动态规划是解决C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。商人阿龙来到 C 国旅游。当他得知“同一种商品在不同城市的价格可能会不同”这一信息之后,便决定在旅游的同时,利用商品在

    2022年8月9日
    9
  • Linux下重启tomcat

    linux重启tomcat命令1,进入到tomcat的bin目录下使用ls命令,查看自己的目录文件cd/opt/tomcat_test/bin/(cd后面接自己的环境目录)2、启动tomcat运行bin目录下的启动命令脚本shstartup.sh或者./startup.sh这样tomcat就启用了3.查看tomcat进程是否启动使用psaux|greptomca…

    2022年4月6日
    110
  • 关于PCBLayout的一些具体细节的认识(能力有限,请大家多多指点)

    关于PCBLayout的一些具体细节的认识(能力有限,请大家多多指点)进行 PCB 的绘制不能随心所欲 想到哪儿画到哪 应该有顺序的一步一步进行下去 这样才能尽可能的减少错误 满足线路要求 我也曾到网上搜索过 PCB 的绘制流程 但大部分都讲的很粗略 对细节上的步骤没有进行描述 尽管本人的技术水平非常有限 但是我还是想把自己平时绘制 PCB 的一些细节步骤写下来 可能每个人的习惯都不一样 但主体上是不会相差太多的 大致步骤 原理图电路是经过确认没有错误的 封装及参数都已

    2026年3月18日
    3
  • mybatis 批量插入「建议收藏」

    开发项目中,总是与数据打交道,有的时候将数据放入到一个集合中,然后在遍历集合一条一条的插入,感觉效率超不好,最近又碰到这个问题,插入50条数据用了将近1s,完全满足不了系统的需求.效率必须加快,然后网上查询资料,历经千万bug,终于搞定,这里指提供mybatis中的配置,至于dao层的调用mybatis就自己上网查询下资料吧1根据网上搜了一下资料,在sql-mapper.xml文件中写了如下配

    2022年4月9日
    36
  • SpringBoot实现阿里云短信服务

    SpringBoot实现阿里云短信服务SpringBoot实现阿里云短信服务

    2025年8月5日
    8
  • OpenClaw接入飞书指南[源码]

    OpenClaw接入飞书指南[源码]

    2026年3月13日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号