谱分解(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. ...
随机推荐
- java多线程8:阻塞队列与Fork/Join框架
队列(Queue),是一种数据结构.除了优先级队列和LIFO队列外,队列都是以FIFO(先进先出)的方式对各个元素进行排序的. BlockingQueue 而阻塞队列BlockingQueue除了继承 ...
- 使用 Amazon S3 触发器创建缩略图
使用 Amazon S3 触发器创建缩略图 环境 centos (注意,必须是Linux环境) node12.x 安装教程 curl -sL https://rpm.nodesource.com/se ...
- Python第三周 数据类型:集合set、文件的读写、追加操作。
集合 知识点:集合是无序的 格式:{1,2,3,"str_test"} set_1 = set(list1)#将列表转换为集合 集合关系测试: 集合的逻辑判断.取交集.并集.差集. ...
- 使用JSONArray.fromObject转化list时,如果有集合属性,很容易出错,此刻把集合属性过滤掉便可
使用JSONArray.fromObject转化list时,如果有集合属性,很容易出错,此刻把集合属性过滤掉便可
- 【C语言】Socket发送HTTP-TCP请求,数据有字符串插入
问题描述: 场景:编写Socket接口,向LOKI发送POST请求查询数据 BUG发现位置:通过cJSON读取时间戳,发现被截断. 现象:通过read()去读取返回的数据,数据行中被插入字符:如下 c ...
- -bash: /etc/ld.so.preload: Operation not permitted处理
执行 chattr -i /etc/ld.so.preload 执行 chattr -a /etc/ld.so.preload
- 『与善仁』Appium基础 — 28、webview的操作方式
目录 1.先了解什么是Hybrid(混合) 2.识别Webview 3.context上下文 4.Webview和原生页面之前的切换 5.综合练习 我们之前说过的所有操作,都是对原生页面的操作. 在手 ...
- 【LeetCode】1171. Remove Zero Sum Consecutive Nodes from Linked List 解题报告 (C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客:http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 preSum + 字典 日期 题目地址:https:/ ...
- Fibonacci String(hdu 1708)
Fibonacci String Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 1067 - Combinations
1067 - Combinations PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB Giv ...