谱分解(SD)
前提:矩阵A必须可相似对角化!
充分条件:
- $A$ 是实对称矩阵
- $A$ 有 $n$ 个互异特征值
- $A^{\wedge} 2=A $
- $\mathrm{A}^{\wedge} 2=\mathrm{E} $
- $ r(A)=1 且 \operatorname{tr}(A) !=0$
谱分解(Spectral Decomposition ),又称特征分解,或相似标准形分解,是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法,需要注意只有对可对角化矩阵才可以施以特征分解。它体现了线性变换的旋转和缩放的功效。
设 $A$ 为 $n$ 阶实对称阵,则必有正交阵 $P$ ,使 $A=P \Lambda P^{T} $ 其中 $ \Lambda $ 是以 $ A $ 的 $n$ 个特征值为对角元的对角阵, $P$ 是由 $A$ 的 $ n$ 个特征向量得到 的正交矩阵。
实对称矩阵谱分解的步骤
设 $\boldsymbol{A} \in \boldsymbol{R}^{n \times n}$, $ \boldsymbol{A}^{\prime}=\boldsymbol{A} $
(i) 求出 $A$ 的所有不同的特征值: $\lambda_{1}, \lambda_{2}, \cdots, \lambda_{r} \in R $,其重数 $n_{1}, n_{2}, \cdots, n_{r} $ 必满足 $\sum_{i=1}^{r} n_{i}=n $;
(ii) 对每个 $ \lambda_{i} $ ,解齐次线性方程组
$\left.\left(\lambda_{i}\right) E-A\right) X=0$
求出它的一个基础解系: $\alpha_{i 1}, \alpha_{i 2}, \cdots, \alpha_{i n} $
把它们按 Schmidt 正交化过程化成 标准正交组
$\boldsymbol{\eta}_{i 1}, \boldsymbol{\eta}_{i 2}, \cdots, \boldsymbol{\eta}_{i n}$
(iii) 因为 $\lambda_{1}, \lambda_{2}, \cdots, \lambda_{r} $ 互不相同,所以
将 $\boldsymbol{\eta}_{11}, \boldsymbol{\eta}_{12}, \cdots, \boldsymbol{\eta}_{1 n_{1}}, \cdots, \boldsymbol{\eta}_{r 1}, \boldsymbol{\eta}_{r 2}, \cdots, \boldsymbol{\eta}_{r \boldsymbol{n}_{r}}$ 的分量依次作 矩阵 $P$的第 $1,2, \cdots, n$ 列, 则 $P$ 是正交矩阵, 且有 $\boldsymbol{A}=\boldsymbol{P} \boldsymbol{\Lambda} \boldsymbol{P}^{\boldsymbol{T}}$ .
例题
已知 $A=\left[\begin{array}{ccc}0 & -1 & 1 \\-1 & 0 & 1 \\1 & 1 & 0\end{array}\right]$ 求一个正交矩阵 $P$ , 使 $\boldsymbol{A}=\boldsymbol{P} \boldsymbol{\Lambda} \boldsymbol{P}^{\boldsymbol{T}}$ 为对角阵.
第1步: 求特征值.
$\begin{array}{c}|\lambda E-A|=\left|\begin{array}{ccc}\lambda & 1 & -1 \\1 & \lambda & -1 \\-1 & -1 & \lambda\end{array}\right| \underline{r_{1}-r_{2}}\left|\begin{array}{cccc}\lambda-1 & 1-\lambda & 0 \\1 & \lambda & -1 \\-1 & -1 & \lambda\end{array}\right| \\=(\lambda-1)\left|\begin{array}{ccc}1 & -1 & 0 \\1 & \lambda & -1 \\-1 & -1 & \lambda\end{array}\right|=(\lambda-1)\left|\begin{array}{ccc}1 & 0 & 0 \\1 & \lambda+1 & -1 \\-1 & -2 & \lambda\end{array}\right|=(\lambda+2)(\lambda-1)^{2} \\\lambda_{1}=-2, \lambda_{2}=\lambda_{3}=1\end{array}$
第2步: 求线性无关的特征向量.
对 $\lambda_{1}=-2$ , 解方程组 $(A+2 E) x=0$
$A+2 E=\left[\begin{array}{ccc}2 & -1 & 1 \\-1 & 2 & 1 \\1 & 1 & 2\end{array}\right] \rightarrow\left[\begin{array}{lll}1 & 0 & 1 \\0 & 1 & 1 \\0 & 0 & 0\end{array}\right]$
求得基础解系(即最大无关特征向量)
$\alpha_{1}=\left[\begin{array}{c}-1 \\-1 \\1\end{array}\right]$
对 $\lambda_{2}=\lambda_{3}=1$ , 解方程组 $(A-E) x=0 $
$A-E=\left[\begin{array}{ccc}-1 & -1 & 1 \\-1 & -1 & 1 \\1 & 1 & -1\end{array}\right] \stackrel{r}{\rightarrow}\left[\begin{array}{ccc}1 & 1 & -1 \\0 & 0 & 0 \\0 & 0 & 0\end{array}\right]$
求得基础解系(即最大无关特征向量)
$\begin{array}{l}\alpha_{2}=\left[\begin{array}{c}-1 \\1 \\0\end{array}\right], \alpha_{3}=\left[\begin{array}{c}1 \\0 \\1\end{array}\right] , \alpha_{1}=\left[\begin{array}{c}-1 \\-1 \\1\end{array}\right] \\{\left[\alpha_{1}, \alpha_{2}\right]=?\left[\alpha_{1}, \alpha_{3}\right]=? \quad\left[\alpha_{2}, \alpha_{3}\right]=0 ?}\end{array}$
第3步: 检验重特征值对应的特征向量是否正交, 如果不正交,
用施密特过程正交化; 再把正交的特征向量单位化.
$\begin{array}{l}\boldsymbol{\alpha}_{\mathbf{2}}=\left[\begin{array}{c}-\mathbf{1} \\\mathbf{1} \\\mathbf{0}\end{array}\right], \boldsymbol{\alpha}_{\mathbf{3}}=\left[\begin{array}{l}\mathbf{1} \\\mathbf{0} \\\mathbf{1}\end{array}\right] \\\boldsymbol{\beta}_{\mathbf{2}}=\boldsymbol{\alpha}_{\mathbf{2}} \\\boldsymbol{\beta}_{3}=\alpha_{3}-\frac{\left[\beta_{2}, \alpha_{3}\right]}{\left[\beta_{2}, \beta_{2}\right]} \boldsymbol{\beta}_{2}=\left[\begin{array}{l}1 \\0 \\1\end{array}\right]+\frac{1}{2}\left[\begin{array}{c}-1 \\1 \\0\end{array}\right]=\frac{1}{2}\left[\begin{array}{l}1 \\1 \\2\end{array}\right]\end{array}$
单位化:
$\xi_{1}=\frac{\alpha_{1}}{\left\|\alpha_{1}\right\|}=\frac{1}{\sqrt{3}}\left[\begin{array}{c}-1 \\-1 \\1\end{array}\right] \quad \xi_{2}=\frac{\beta_{2}}{\left\|\beta_{2}\right\|}=\frac{1}{\sqrt{2}}\left[\begin{array}{c}-1 \\1 \\0\end{array}\right] \quad \xi_{3}=\frac{\beta_{3}}{\left\|\beta_{3}\right\|}=\frac{1}{\sqrt{6}}\left[\begin{array}{l}1 \\1 \\2\end{array}\right]$
第4步: 把求得的规范正交特征向量拼成正交矩阵.
令 $ P=\left[\xi_{1}, \xi_{2}, \xi_{3}\right]=\left[\begin{array}{ccc}\frac{-1}{\sqrt{3}} & \frac{-1}{\sqrt{2}} & \frac{1}{\sqrt{6}} \\ \frac{-1}{\sqrt{3}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{6}} \\ \frac{1}{\sqrt{3}} & 0 & \frac{2}{\sqrt{6}}\end{array}\right] $
则 $A=P\left[\begin{array}{ccc}-2 & & \\ & 1 & \\ & & 1\end{array}\right] P^{T}$
谱分解(SD)的更多相关文章
- android计算每个目录剩余空间丶总空间以及SD卡剩余空间
ublic class MemorySpaceCheck { /** * 计算剩余空间 * @param path * @return */ public static String getAvail ...
- Android将应用调试log信息保存在SD卡
转载:http://blog.csdn.net/way_ping_li/article/details/8487866 把自己应用的调试信息写入到SD卡中. package com.sdmc.hote ...
- SD卡的监听
摘要:在一般应用中,如果需要对占用空间比较大的文件操作,需要监听SD卡的状态,Android中对SD卡的监听状态操作步骤如下: 一.创建一个类继承于BroadcastReceiver public c ...
- Android SD卡存储
原创文章,转载请注明出处:http://www.cnblogs.com/baipengzhan/p/Android_SDcard_store.html 一 概念 SD卡存储空间比较大,当需要存取较大的 ...
- 关于手机的内置SD卡与外置SD卡
对于安卓2.3的系统来说,Environment.getExternalStorageDirectory()获取的目录是内置SD卡还是外置SD卡是无法保证的, 和手机厂商的修改有关,只能通过Envir ...
- 基于DDD + SD.Framework实现的统一身份认证系统
项目地址 http://git.oschina.net/lishilei0523/ShSoft.UAC 项目说明 本项目开发的目的有三: 1.作为一个使用SD.Framework框架开发的项目样板 2 ...
- 读取SD卡文件夹下的MP3文件和播放MP3文件
首先获取SD卡path路径下的所有的MP3文件,并将文件名和文件大小存入List数组(此代码定义在FileUtils类中): /** * 读取目录中的Mp3文件的名字和大小 */ public Lis ...
- Android从网络某个地址下载文件、写入SD卡
首先创建一个HttpDownloader类,获取下载文件的网络地址,将文件下载下来以String流的方式返回: public String download(String urlStr){ //url ...
- android setDestinationInExternalPublicDir 下载到SD卡根目录
一:setDestinationInExternalPublicDir(“Trinea”, “MeiLiShuo.apk”);表示设置下载地址为sd卡的Trinea文件夹,文件名为MeiLiShuo. ...
随机推荐
- 如何在 GitHub 上高效阅读源码?
原文链接: 如何在 GitHub 上高效阅读源码? 之前听说过一个故事,一个领导为了提高团队战斗力,把团队成员集中起来,搞封闭开发,重点还是在没有网的条件下. 结果就是一个月过去了,产出基本为零. 我 ...
- Nginxre quest_time 和upstream_response_time
nginx优化之request_time 和upstream_response_time差别 https://www.cnblogs.com/dongruiha/p/7007801.html http ...
- mvn 把本地jar包打包到本地仓库中
命令如下: mvn install:install-file -Dfile=apache-ant-zip-2.3.jar -DgroupId=com.ckfinder -DartifactId=apa ...
- MySQL 定时器
mysql定时器是系统给提供了event,而oracle里面的定时器是系统给提供的job.废话少说,下面创建表:create table mytable (id int auto_increment ...
- netcore XmlDocument 使用Load和Save方法
string path ="C://xxx/file" XmlDocument xmlDoc = new XmlDocument(); #if NET462 xmlDoc.Load ...
- 使用.NET 6开发TodoList应用(5.1)——实现Repository模式
需求 经常写CRUD程序的小伙伴们可能都经历过定义很多Repository接口,分别做对应的实现,依赖注入并使用的场景.有的时候会发现,很多分散的XXXXRepository的逻辑都是基本一致的,于是 ...
- PC chrome开启自带的dark mode
地址 复制下面的地址到chrome地址栏打开,再设置为 Enable 就可以开启了. chrome://flags/#enable-force-dark
- c++设计模式概述之代理
代码写的不规范,目的是缩短文章篇幅,实际中请不要这样做. 1.模式的结构 代理模式的主要角色如下: A.抽象主题(Subject)类:通过接口或抽象类声明真实主题和代理对象实现的业务方法. B.真实主 ...
- 【LeetCode】167. Two Sum II - Input array is sorted 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 日期 题目地址:ht ...
- 【LeetCode】367. Valid Perfect Square 解题报告(Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 方法一:完全平方式性质 方法二:暴力求解 方法三:二 ...