-
给定01矩阵求连通域_思考(2)可控性与矩阵的相似对角化
2021-01-15 10:52:22本文为原创,如有错误...因为任何一个n阶微分方程,永远都可以通过将状态扩展为 的列向量,写成n个一阶的微分方程。例如一个挂在弹簧上的质量为m的小球: 。它是一个二阶微分方程,我们可以通过令 将这个二阶微分方...本文为原创,如有错误疏漏,烦请指出。如需转载,请联系笔者,ask.shenyue@http://gmail.com。
一、求系统响应就是求解一阶微分方程
线性系统:
首先问题是,为什么所有的系统都能写成一阶微分方程?因为任何一个n阶微分方程,永远都可以通过将状态扩展为
的列向量,写成n个一阶的微分方程。例如一个挂在弹簧上的质量为m的小球:
。它是一个二阶微分方程,我们可以通过令
将这个二阶微分方程,写成两个一阶微分方程:
,状态量扩展为
的列向量
。
给定线性系统的状态方程
,A为n阶方阵,B为输入矩阵,假设状态
,输入
。看系统的响应,本质上是,给定初始状态
,根据系统的一阶微分方程
,要算出任意时刻t,状态量
等于什么。高等数学中学过求解微分方程,而状态方程
只是一阶微分方程,还是线性的。在高数课程上,这是一类最容易求解的微分方程,解的形式固定:
由于输出
,将x(t)代入到输出方程,我们有
.
二、可控性的本质
可控性(controllability)的定义:
给定一个控制系统(线性或者非线性),给定初始状态
和初始时间
,假设你想要在某个你指定的时间
让状态
等于你想要的
状态可控;如果你不管怎么想方设法地设计u(t),都无法让x(t)在你想要的时刻,如果你可以通过设计u(t)来达到你的目的,那么系统就称作
等于你想要的
状态不可控。,那么系统称作是
我们知道状态x是n维,
,状态可控也就是希望所有n个状态都可控。但是实际问题中,我们可能只想要
可控,其他的状态你不care或者不重要。
探索可控性(controllability)本质与矩阵A的相似对角化的关系(线性系统):
线性状态方程
的解:
由可控性的定义,你想要在时刻
到达你想要的位置
,也就是
令
,有
对A矩阵进行对角化是为了把系统等价转换成相互独立的子系统:
重新回到线性状态方程
,假设存在P阵(由A的n个线性无关的特征向量组成)让A相似对角化
(详细请参考矩阵的特征值、特征向量与相似对角化),那么令
,我们有
。那么我们可以有
n个相互独立的子系统了。,变成了
A矩阵对角化使得可控性分析一目了然:
所以对于第1个子系统,只要
的
(
矩阵的第一行)不全是0,那么就可以求解该方程的输入u使得
等于任意我想要的位置。如果第i个子系统
和第j个方程
中的
是同一个特征值,也就是
,而且恰好
也相等或者
(
是),那么
就必须等于
或者
必须等于
,也就是
A矩阵可相似对角化成不能任意选取,不符合可控性的定义,也就是系统不可控。所以如果
(详细请参考矩阵的特征值、特征向量与相似对角化),可控性的条件就是对角矩阵中相同特征值
对应的不能线性相关。
那么问题来了,对于那些不能相似对角化而只能约当块对角化的A矩阵(详细请参考矩阵的特征值、特征向量与相似对角化),可控性的条件又是什么?
假设A有r个特征值,
维(几何重数)特征空间,
维(几何重数)特征空间,一直到最后的特征值
维(几何重数)特征空间。所有特征空间一共有
维,那么约当对角化后的
有m个约当块,
,
系统相当于m个独立的子系统。其中,
对应
个约当块,也就对应
个(几何重数)独立子系统;
对应
相同特征值个(几何重数)独立子系统,以此类推。所以类似分析,
对应的不同约当块的最后一行都是只有
,例如
或者
,所以对应
我们还可以得到,如果某个特征值的那一行必须线性不相关。
的eigenspace有
维,所以它就对应
个约当块,所以这
个约当块对应的B的那
行(A中的
个同一个特征值的约当块的最后一行)必须线性不相关。如果输入u的维数
,那么这对应的
A矩阵的任何特征值对应的eigenspace维数(几何重数)必须小于等于输入u的维数。行怎么也不可能线性不相关,系统不可控。所以我们说,
-
线性代数(22)——矩阵SVD分解
2019-06-13 20:02:14矩阵SVD分解对称矩阵概念对称矩阵性质正交对角化对称矩阵一定可以被正交对角化如果一个矩阵能够被正交对角化,则它一定是对称矩阵谱定理奇异值概念奇异值几何意义 对称矩阵 借助对称矩阵可以处理任何矩阵,将任何...矩阵SVD分解
对称矩阵
借助对称矩阵可以处理任何矩阵,将任何矩阵都分解成希望的形式。
概念
对称矩阵中所有元素沿主对角线对称,主对角线元素不要求实相同的。用数学语言表述为。对称矩阵也一定是方阵。
对称矩阵性质
- 对称矩阵的特征值一定是实数
- 对称矩阵出现多重特征值时,其几何重数一定等于代数重数。也就意味着对称矩阵一定有个线性无关的特征向量。
- 对称矩阵一定可以被对角化。这实际上与上一条性质等价。
在之前的笔记中,特征值和特征向量的计算过程涉及到几何重数是否等于代数重数、个特征向量是否线性无关等判断。而在面对对称矩阵时,这些运算都可以免去。也就是说,对称矩阵减去了先前特征值计算过程中的各类复杂情况。
正交对角化
对称矩阵一定可以被正交对角化
正交对角化是对称矩阵另一个良好的性质,对称矩阵的所有的不同的特征值对应的特征向量相互垂直。
对上面的性质进行证明,
对于对称矩阵具有多重特征值的情况,因为对称矩阵几何重数等于代数重数,重相同特征值的特征空间也是维,所以在这个空间中找到个正交基是没有问题的。
也就是说对称矩阵一定可以被正交对角化。其中是标准正交矩阵,矩阵也同样具有良好的性质,,所以对称矩阵一定满足,这也称为对矩阵进行了正交对角化。实际上就是在保证了对角化的基础上,同时满足矩阵是一个标准正交矩阵。
如果一个矩阵能够被正交对角化,则它一定是对称矩阵
对该性质进行证明,
谱定理
实际上就是上面的两个互为充要的条件,因为在有些地方矩阵的特征值或奇异值称为谱。
奇异值
之前讨论的特征值、特征向量、相似型、对角化、对称矩阵和正交对角化的内容都是针对方阵而言的。但是在实际工作中,大部分的数据都是非方阵的。若是一个的矩阵,则是一个的方阵,且该方阵是对称矩阵。
对上面的结论进行证明,
由此,所有的对阵矩阵的良好性质都能够应用。即 可以被正交对角化,拥有个实数特征值,且相应的特征向量线性无关。概念
基于上面得证的 的性质,进行下面的一步操作,目前先不考虑这样操作的原因,具体原因会在后面说明,
这就将和的特征值和特征向量之间建立联系,因为 是模的平方,所以 的特征值一定是的,奇异值(singular value),,就是 对应的向量的长度。
一般情况下,计算得到的奇异值按照从大到小的顺序进行排序。
奇异值几何意义
是的列空间的一组正交基,同时满足特征向量对应的特征值。对这一结论进行证明分成两部分,
- 证明之间的正交性
- 证明构成的列空间的正交基
当等于0时,对应的向量就是一个零向量,相应的奇异值也为0。如果矩阵有个不为0的奇异值,则 是矩阵的列空间的一组正交基。的列空间的维度为,即矩阵的秩。是矩阵的列空间的一组标准正交基。
矩阵SVD分解
这是矩阵最重要的分解形式。SVD分解的全称为“Singular Value Decomposition”,即通过矩阵的奇异值进行分解。SVD分解的优势在于,该方法对矩阵没有任何限制,对于任意形状的矩阵都适用。
SVD分解
SVD分解将矩阵分为三部分
矩阵U和V都是标准正交矩阵。唯一不是方阵的 比较特殊,
证明SVD分解成立
结合SVD分解的公式,因为U和V都是标准正交矩阵,依据标准正交矩阵的性质。
SVD分解过程
对于一个的矩阵,进行SVD分解的步骤如下,
- 求解对称矩阵 的特征值和特征向量
- 用所有非零的特征值得到所有非零的奇异值 的,中对角线上的奇异值按照从大到小的顺序进行排列
- 将所有特征向量标准化后得到的矩阵
- 使用这个矩阵所有个不为0的特征值及其对应的个非零特征向量求取矩阵的列向量,其中。如果 ,则使用Gram-Schmidt方法对进行扩充,最终得到维空间的一组正交基。
实现矩阵SVD分解
使用Scipy模块实现SVD分解,
import numpy as np from scipy.linalg import svd if __name__ == "__main__": A = np.array([[1, 2], [3, 4], [5, 6]]) U, s, VT = svd(A) print(U) # 3×3的矩阵 print(s) # 返回一个一维向量,其中每个元素都是矩阵A^(T)A的奇异值 print(VT) # 2×2的矩阵 # 先创建 ∑ 矩阵 Sigma = np.zeros(A.shape) for i in range(len(s)): Sigma[i][i] = s[i] print(U.dot(Sigma).dot(VT)) # 与A矩阵相同
SVD分解的用途
SVD分解使用很广泛,几乎在使用线性代数的地方都脱离不开SVD分解。举例说明,
- 将矩阵看做变换
将和看做是维和维空间的标准正交基。若向量是矩阵所在空间的向量,则向量可以被矩阵中的列向量表示。
对上面最后一行式子进行说明,矩阵的变换被放在这个坐标系下看,与此同时变换结果的值是在之前坐标系中的值的基础上拉伸奇异值倍。 - 将奇异值视为权值
对上式进行整理可以得到,
所以SVD可以对原始数据进行压缩、降维、去噪(奇异值很小的数据可以视为噪音)。上式表示将这个的数据,看做是一个维的数据,其中()。
SVD在图像领域的应用很广泛,利用SVD分解,减少了一定的数据量但是依旧可以很好的表达图像的语义。
-
矩阵分析 第二章 lambda矩阵和Jordan标准型
2018-11-17 21:05:13这一章的知识太杂了,有必要整理一下 什么是矩阵 矩阵元素是的多项式就是矩阵 矩阵的秩 行列式可以是的多项式但是...任何一个矩阵都等价于一个对角型矩阵 对角元素称作是此矩阵的不变因子。 初等变换法...这一章的知识太杂了,有必要整理一下
什么是
矩阵
矩阵元素是
的多项式就是
矩阵
矩阵的秩
行列式可以是
的多项式但是能是零,就可以求
矩阵的逆
首先,求它的行列式,只有行列式为常数且非0;这个矩阵才有逆。
然后求伴随矩阵,再除于这个行列式
矩阵的Smith标准型(不要和Smith正交化搞混)
任何一个
矩阵都等价于一个对角型矩阵
对角元素称作是此
矩阵的不变因子。
初等变换法求
矩阵的Smith标准型
我们知道任何
矩阵都和对角矩阵等价,所以一定可以用初等变换去求这个对角矩阵。
练习:p60--63
smith标准型是唯一的
也就是:一旦两个
矩阵等价,它们的行列式因子相同;不变因子也相同。
另外:
矩阵可逆的充要条件是行列式是非零常数,或者
矩阵和单位矩阵等价。
初等因子
什么是初等因子
由此可知:如果两个
矩阵等价,那么它们的不变因子相等(因为smith矩阵唯一),不变因子相等也就意味着,初等因子相等。
所以:两个
矩阵等价的充要条件又多了一个;初等因子相等且秩相等(因为初等因子是排除了不变因子的常数的)
不变因子与初等因子 相似条件
从不变因子中求初等因子:就是不要 1 ,并将 不变因子 以底数不同而分开;有重复;具体看上面的例子;
从不变因子求smith标准型:初等因子,求 不变因子就是Smith矩阵的对角元素
行列式因子求不变因子:不变因子等于行列式因子之间做除法
矩阵的特征多项式是不变因子的乘积
知道初等因子就可以求Jordan标准型:初等因子的次数决定了对角线的元素个数,初等因子的
决定了元素。
-
蚂蚁金服发布新一代数据可视化引擎G2
2020-12-02 18:53:14任何一个人都可以使用它完成利用图形的力量分析处理数据的过程。 介绍数据 首先我们已经给你们准备好了一份测试数据(R语言中常用的钻石数据),当然你也可以使用你自己的测试数据(载入方法和数据格式... -
奇异值分解的简单理解(SVD)
2020-09-17 21:41:09即任何矩阵A都可通过奇异值分解分解为以下形式: A=UEV’ 其中U和V都是单位正交阵,U为左奇异矩阵,V为右奇异矩阵,E仅在对角线方向上有值,称为奇异值。 奇异值 奇异值可以被看作成一个矩阵的代表 -
图像处理基础(第2版).[美]Maria Petrou(带详细书签).pdf
2019-01-05 02:38:432.0.11 可以对角化任何矩阵吗? 40 2.1 奇异值分解 40 2.1.1 如何能对角化一幅图像? 40 B2.1 可将任何图像都展开成矢量的外积吗? 43 2.1.2 如何计算图像对角化所需的矩阵U,V和Λ.? 44 B2.2 如果矩阵ggT 的... -
译文_High-Speed Tracking with Kernelized Correlation Filters.rar
2019-08-22 10:37:22通过证明所得到的数据矩阵是循环的,我们可以用离散傅立叶变换对其进行对角化,从而将存储和计算都减少了几个数量级。有趣的是,对于线性回归,我们的公式相当于一些最快的竞争跟踪者使用的相关滤波器。然而,对于核... -
同学的打包代码
2012-06-22 13:48:2613、(选做)题目:微型学生养成系统(每个学生都可以选,以完成程度、个性化设计为主要考核目标) 在这个课程设计中,你需要设计并实现如下场景:在那山的那边,湖的那边,有一所学校,学校里有一幢宿舍楼,宿舍楼有... -
excel的使用
2012-11-25 17:06:01从简单的三角函数到复杂的对数、指数函数,都可以用EXCEL画出曲线。如果用得到,你还可以利用EXCEL来完成行列式、矩阵的各种计算,进行简单的积分运算,利用迭代求函数值(如x^2=x^7+4,可用迭代方法求x值),等等,... -
WebGL编程指南 中文pdf扫描版+全套配套代码(完整版)
2019-04-28 16:45:03WebGL技术使得创建新一代3D网页游戏、用户界面、数据可视化方案成为可能,这些程序能够运行任何支持标准浏览器的PC、智能手机、平板电脑、家用游戏机或其他设备上。《WebGL编程指南》将会帮助你快速入门学习可交互的... -
WebGL编程指南(中文版)+源码示例
2018-04-18 14:26:02WebGL技术使得创建新一代3D网页游戏、用户界面、数据可视化方案成为可能,这些程序能够运行任何支持标准浏览器的PC、智能手机、平板电脑、家用游戏机或其他设备上。《WebGL编程指南》将会帮助你快速入门学习可交互的... -
图像处理(第二版)章毓晋
2018-10-08 14:26:38第1章导论..................................................................................................2.0.10 什么是矩阵对角化?.......................................................................... -
面试题3:二维数组中的查找:对于在一个每一行从左到右依次递增,每一列从上到下依次递增的二维数组查找一个元素,可以选择从数组左上角开始查找array[i][j],如果目标元素大于array[i][j],i+=1,如果元素小于array...
-
QT 绘图函数
2012-12-21 17:16:03因此,绘图路径(Painter paths)是最基本的绘制元素,任何图形和图形的组合都可以同路径(path)表示。 一个路径能够确定一个轮廓,由这个轮廓确定的区域可以由刷子来填充。在图8.5(c)中我们没有设置刷子,因此只... -
Excel VBA实用技巧大全 附书源码
2010-10-08 18:59:2404147设置单元格区域的除对角框线以外的全部边框 04148删除单元格区域的全部边框 04149设置单元格的颜色和背景 04150设置单元格的格式 04151设置单元格的对齐方式 04152缩小单元格内容以全部显示 04153设定、删除... -
LINGO软件的学习
2009-08-08 22:36:50一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们。 2.3.1 定义原始集 为了定义一个原始集,必须详细声明: •集的名字 •可选,集的成员 •可选,集成员的属性 定义一... -
LSHBOX:局部敏感算法(LSH)的C++工具箱,提供了好几种普遍的LSH算法,也可以支持Python和MATLAB。 PGM-index:能够快速查找、前导、范围搜索和更新数以亿计项数组的数据结构,其跟传统索引相比,使用梯度的顺序而...
-
语言程序设计课后习题答案
2012-12-27 17:02:37由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。... -
精通Android 3--详细书签版
2013-02-08 11:19:58此外,本书对服务和传感器的相关章节做了大幅改进,还对介绍opengl 的章节做了修订,涵盖了opengl es 2.0。 《精通android 3》囊括了android 开发人员所需的一切知识,既可为android 开发人员夯实基础,又能提高... -
易语言程序免安装版下载
2011-04-07 09:28:50只要代码或模块中未用到“不支持静态编译”的支持库、COM/OCX等,都可以静态编译。以前编译好的模块(.ec)甚至不需要重新编译即可直接支持静态编译。 支持库开发框架调整是扩展性调整,比较好的做到了向前向后兼容...
-
牛牛量化策略交易
-
fritzing.0.9.3b.32.pc.zip
-
【布道者】Linux极速入门
-
C++复试宝典.pdf
-
opencv.zip
-
java: 抽象类与接口和c++中接口和虚函数的区别,java可以多继承吗?
-
修电脑必备原理之 计算机组成原理(n)—— 指令系统
-
线性回归模拟(二维输入,一维输出,一层隐藏层)
-
几个顶会的2020 accepted papers list查询
-
基于Flink+Hudi构建企业亿级云上实时数据湖教程(PC、移动、小
-
19年实务真题下午.pdf
-
深究字符编码的奥秘,与乱码说再见
-
%6a%61%76%61%77%65%62%e4%b8%89%e5%a4%a7%e7%bb%84%e4%bb%b6%e4%b9%8b%73%65%72%76%6c%65%74
-
UVA1363 LA3521 POJ2800 ZOJ2646 Joseph‘s Problem【约瑟夫环+数学】
-
PAT 甲级 1082 Read Number in Chinese
-
java与c++区别
-
PPT大神之路高清教程
-
迷你 Vue 原理.png
-
Ubuntu Linux报错:PAM failed: Error in service module
-
Androidesk-release-androidesk.zip