精华内容
下载资源
问答
  • hermit复矩阵求特征值

    2011-03-07 10:01:23
    该程序求解了hermit矩阵特征值和特征向量
  • Hermite矩阵求特征值和特征向量的问题转化为求解实对称阵的特征值和特征向量
  • 复数矩阵特征值分解,使用了GSL科学计算函数库,使得特征值分解时间大大减少。
  • 在数列、微分方程、矩阵三个不同的领域中都见到了“特征值”这个名字,难道仅仅是因为他们都刻画了问题的特征吗?当时我想,一定不是的。或许这些特征值是同一个特征值。因为本人水平较低,这个...

    aae52afd56b4b75fd0a60b0b09507a6d.png

    一、缘起

    初中临近毕业,准备高中自招,误打误撞买了本高考自招指南。第一次见到了线性递推数列的特征根解法。后来学习物理竞赛,学解微分方程,在线性常系数常微分方程的解法中了解到了特征根解法。学线代的时候又接触到了矩阵的特征值。在数列、微分方程、矩阵三个不同的领域中都见到了“特征值”这个名字,难道仅仅是因为他们都刻画了问题的特征吗?当时我想,一定不是的。或许这些特征值是同一个特征值。

    因为本人水平较低,这个问题断断续续地想了好几年,逐渐从各个角度撺出了一些头绪。本文对这些想法做一个介绍和总结,试图一窥这些特征值之间的关系。下文中很多内容是常见的数学基础知识,在各种教材中都可以见到,在此一并做一个回顾,故本文只需一点点微积分和线代基础即可阅读;另一些想法和关联是我自己凭空捏造出来的,完全有可能是瞎掰,望读者不吝指正。或许还有一些显而易见、呼之欲出的关联,因本人知识水平有限,无法注意到,望读者提点。

    我会先介绍预备知识引入,如果你已经会了的话请放心跳过。然后会探究数列、矩阵和微分方程中的特征值的关系。


    二、预备

    1、数列的特征值解法(来自高考学)

    相信高中学过数列的朋友们都听说过数列的特征根解法,下面我们以二阶齐次线性递推数列的特征根解法为例,做一个简单的介绍。高阶的版本同理。

    数列的特征根解法
    假设我们有一个二阶线性递推数列
    我们将其中的
    替换为
    得到一个方程
    我们将这个方程称为该递推式的
    特征方程
    记该方程有两个根为

    则数列的通项为
    ,其中
    由初项确定。

    ,则数列的通项为

    聪明的你或许已经注意到了我放着简单的x不用,偏要用TeX代码好长的lambda,打得我累死了。以及特征根可以为复数,想一想,复数时会怎样?

    来自高考学的证明

    下面我们来做个简单的证明,这一证明常见于各种高考学教材,大家会注意到这一方法基本完全没有intuition指导,乍看起来莫名其妙,非常具有技巧性,让人好奇是怎么拍脑袋想出来的。

    有韦达定理可知

    ,代入递推式得到

    接下来神来之笔地移项,得到

    可见莫名其妙得到了一个等比数列,解之,得

    然后凑一凑,

    再累加,这时由于要求右侧等比数列的和,需要对公比是否等于1分类,

    ,则

    ,应用等比数列求和公式可得

    希望你还没有因为枯燥的技巧性证明离开。

    2、矩阵的特征值(来自线性代数)

    先推荐3b1b的系列视频,学线代杀人越货必备。

    【官方双语/合集】线性代数的本质 - 系列合集_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.com
    689e01b48e4e948f3fd839a39ddead31.png

    下面来简单介绍一下特征值。下列论述中若有不理解请直接到3b1b的视频里找对应章节。

    首先,矩阵描述了线性变换,一种理解是对基的变换,即将向量在一组基下的分量表示,变换到另一组基下的分量表示;另一种理解是对向量的变换,即将一个向量变换为另一个向量。

    我们先取后一种理解

    矩阵的特征值与特征向量

    那么对一个线性变换

    ,可能存在一些向量
    ,在这个变换下
    方向不变。用数学的语言,即
    。我们把这种向量称为
    特征向量,对应的常数
    称为对应的
    特征值

    为什么特征值值得我们研究?

    依我看,是因为它把矩阵的乘法变成了常数的乘法,在许多场合可以大大简化计算。

    最基本的求矩阵特征值的方法便是从定义

    出发,我们做移项,得

    其中

    代表单位矩阵。为了得到非平凡解(
    ),必须要求前面的矩阵的行列式为零:

    该方程称为矩阵

    特征方程
    举个例子

    我们举一个例子

    (为什么我们要举这个例子?),

    特征方程就是

    展开得到

    上式的两个根即为该矩阵的两个特征值。再代入定义式便可得到对应的特征向量。

    另外多提一件事: 线性方程组的叠加原理:线性齐次方程的解的叠加还是解。

    比如方程

    有两个解
    那么他们的线性叠加
    也是解。

    3、微分方程的特征值解法(来自微积分)

    学物理的同学可能经常会遇到线性微分方程,比如单摆的运动方程

    猜解

    解得时候老师经常会用“猜解”这种说辞糊弄人,我们拿二阶的方程做个例子。高阶同理。

    (以后我们在函数上打点即表示对时间

    的导数,两个点就是二阶导,以此类推。同时我们有时将求导这件事写成一个算符
    的形式,比如
    。想一下,为什么要写成这种难看的形式?)

    ,代入方程,由于我们知道
    有没有联想到什么?),约去指数部分,可得

    上式称为该微分方程的特征方程。解出来两个根

    如果

    那么方程的通解为
    。(老师说这叫叠加原理)

    如果

    那么方程的通解为
    。(
    有没有联想到什么?

    以上这种“不证自明”的猜解方法又透露出了我们在数列板块中熟悉的莫名其妙。只是这次我打算把证明留到后面。在那里,我们将要引入傅里叶变换及拉普拉斯变换

    相信到目前为止,你或许已经从不同板块中的相似式子里看出了一些端倪。年轻的我当时就是在这种好奇地驱使下开始思考其间的关系。以下我们将要开始对其中的关联做一些探究。

    如果你想要休息一下,现在是个好时候。


    三、关系

    1、从数列到微分方程

    注意:以下内容是我在某个夜晚灵机一动捏造出来的,有可能是错的。

    让我们先来观察对比一下数列递推方程和微分方程(高阶同理):

    特征方程均为

    你有没有突然觉得,数列每递推一项,就好像多求了一阶导数?

    基于这个重要的观察,我们或许可以构造一个函数出来,

    让这个函数每多求一次导,就可以生产出数列的一项。

    函数有自变量,因此我们还要找一个自变量把数列的项给套出来。

    我想到了我们最熟悉的多项式函数,并且想不妨就用

    把数列套出来,于是我们构造:

    (是不是和泰勒展开很像?)

    这样,

    我们便可以从函数中套出数列了。

    (事后证明,这与组合数学中的母函数思想类似,不过我不会组合数学,母函数这个名字还是从OI同学那听来的,便不多说了。)

    接着我们把这个函数代入数列递推式,得到

    为了让它更接近微分方程,我们不妨给这个函数多做点约束。原先递推方程只要求函数在

    处满足,我们不妨让它在
    处处均要满足,来试一试。于是我们得到

    这时,如果我们把函数

    看作一个整体,记作
    ,则
    ,而且

    至此,我们成功把数列递推方程转化为了微分方程!!

    接下来我们尝试用解微分方程的方法解出这个数列,并在其中体会二者的一致性。

    我们取信息量最大(求导次数最少)的方程,即n=0,

    用二-3中已经推导的结论,我们得到

    于是

    或者

    注意到这里推导的时候有两件事:

    1. 为了保持一致性,额外的系数被吸收进了
      两个常数里;
    2. 第二种情况中,所有求导出含
      的项都会因为
      而消失,故略去不写,而反复应用乘积的求导法则,便会产生

    由此,我们发现了数列特征根与微分方程特征根的一致性。

    我们发现,竟然之前因为等比数列求和公比等于1的奇葩分类也能通过微分方程复现。

    再次重申,上述过程是我拍脑袋想出来的,不保证正确性。

    评论区dalao提示这和Z变换与拉普拉斯变换的关系一致。

    2、从微分方程到矩阵

    这一步的联系是我在学习量子力学的时候学到的,让我们一步一步地来。

    首先,想要用线性代数的工具研究函数,我们就必须证明:

    函数是向量。

    我在初学时对这句话感到非常惊艳。

    我们先来回顾一下向量与线性空间的定义。

    以下抄百度百科:

    设V是一个非空集合,P是一个域,若:
    1. ( 加法的定义)在V中定义了一种运算,称为加法,即对V中任意两个元素α与β都按某一法则对应于V内惟一确定的一个元素α+β,称为α与β的和。
    2. ( 数乘的定义)在P与V的元素间定义了一种运算,称为纯量乘法(亦称数量乘法),即对V中任意元素α和P中任意元素k,都按某一法则对应V内惟一确定的一个元素kα,称为k与α的积。
    3.( 线性)加法与纯量乘法满足以下条件:
    1) α+β=β+α,对任意α,β∈V.
    2) α+(β+γ)=(α+β)+γ,对任意α,β,γ∈V.
    3) 存在一个元素0∈V,对一切α∈V有α+0=α,元素0称为V的零元.
    4) 对任一α∈V,都存在β∈V使α+β=0,β称为α的负元素,记为-α.
    5) 对P中单位元1,有1α=α(α∈V).
    6) 对任意k,l∈P,α∈V有(kl)α=k(lα).
    7) 对任意k,l∈P,α∈V有(k+l)α=kα+lα.
    8) 对任意k∈P,α,β∈V有k(α+β)=kα+kβ.
    则称V为域P上的一个 线性空间,或向量空间。V中元素称为 向量

    接下来,如果我们定义函数之间的加法为自变量取值对应函数值直接相加,

    比如

    那么
    ,显然后者也是函数。

    如此可以证明,函数空间也是一个线性空间,而每个函数就是一个向量

    接下来,我们便可以将平时在线代中发展出的工具应用到函数中。

    比如,我们可以定义内积

    函数的内积
    理论上,只要给线性空间配备上任何一个满足一系列性质的映射(由两个向量映到一个数),得到的空间就被称作 内积空间,如果再加上完备性的条件,则称作 希尔伯特空间,这个映射被称为 内积。 我们这里采用一种量子力学当中的希尔伯特空间。
    (以下内容半抄Shankar Principles of Quantum Mechanics)

    接下来我们引入一组量子力学中的记号,狄拉克记号:

    我们把一个向量记作
    ,称为ket(braket的右半部分),把两个向量
    的内积记作
    ,其中
    被称为bra(左半部分)。

    既然我们已经发现函数也是向量,我们不妨将函数
    记作

    为了量子力学的需要,我们定义 函数间的内积为(接下来会解释为什么这样定义):
    ,其中
    表示
    的复共轭。

    需要注意这样定义的内积与顺序有关,有

    在线性代数中我们知道,一个向量本身,跟我们所选取的、用来描述他的基底无关。但我们描述它的时候,一般需要选取一组基底,用在各个基底上的分量来表述他

    下面我们来考察如何把函数这个向量写成分量形式

    函数的向量化

    回忆我们定义函数加法的时候,是要求每个自变量对应的函数值直接相加的。而向量相加,也是各个基底对应的分量直接相加的。从这一点出发,我们希望每个自变量的取值都对应一个基底,而这个对应的函数值则作为这个基底上的分量

    于是我们把整个定义域分割成

    个小段,每一段上定义一个基底

    ,其中
    位于第
    项。然后很自然地,我们的函数在这些基上的分量形式就可以定义为

    ,而且有

    当分隔数

    时,我们定义的
    向量便与原来的函数完全一致了。

    而这个时候,我们所定义的

    就会变成在
    处为
    ,其余处处为
    ,这样的函数我们称作
    函数:

    至此有两个重要的启示:

    1. 函数是无穷维的向量。
    2. 所谓的
      ,其实是函数向量
      在基底
      上的分量/投影:

    (回忆在线性代数中我们可以通过把向量与基底做内积的方法得到对应的分量)

    上述是直观的解释,我们还需要证明一下

    这组基的正交性、完备性,我就不证了。

    现在,函数的内积被定义为上面那个鬼样子的原因就一目了然了。

    我们知道普通向量的内积是对应分量直接相乘然后相加,而这里函数内积

    确实也是对应分量直接相乘然后相加。

    接下来我们试着把函数的求导运算也放入线性代数的框架下研究。

    导数算符的特征值和特征向量

    我们知道,在线性代数中,任何一个线性算符,都能用矩阵的形式表达

    而求导运算显然也是线性的,那导数算符是否也有矩阵形式呢?是否也有特征值和特征向量呢?

    第一个问题与本文关系不大,大家可以翻Shankar。(其实我这里本来打了一大段,但是敲公式太累了,通通删了。)

    我们来看第二个问题,要求矩阵的特征值和特征向量,就是解方程

    我们把它改写成微分方程

    的话,解就显而易见了。

    没错,导数算符的特征向量就对应指数函数

    在这之后我们把这个函数对应的函数向量记作

    ,那么
    ,而它所对应的特征值就是

    (这里

    似乎可以取遍所有数,即无穷组特征值及特征向量,与线性空间的无穷维性质恰好对应。)

    回忆我们一开始介绍矩阵的特征值时,我们发现,特征值的一大作用,就是把复杂的矩阵运算变成简单的数乘。但是这一性质只有对特征向量满足。

    不过任何一个向量都可以被特征向量线性表出。所以,我们可以先把普通的向量换到特征向量基上表出,然后再进行矩阵运算,此时所有运算都变为简单的数乘了

    用相同的思路,我们也可以把函数向量从原来的

    基下,变换到
    基下。这种变换被称为傅里叶/拉普拉斯变换。
    傅里叶/拉普拉斯变换

    我们来尝试一下把函数变到

    基下:

    特别的如果取纯虚数

    ,我们就会得到

    怎么样,是不是和我们以前学的傅里叶变换一模一样?

    这里我没有考虑归一化的问题,如果做归一化,便会出现

    的系数。

    同理,如果我们想要从

    基下变换到
    基上,便会得到傅里叶逆变换。
    这里有一些细节问题(经评论区dalao指出)
    1、为什么
    只能取纯虚数?

    原因在于导数算符
    并非是一个厄米算符(
    ),但是
    是一个厄米算符(一般量子力学中将其称为动量算符),而厄米算符的特征值是实数,所以除掉一个
    之后,
    就变成了纯虚数了。

    而且复指数函数基(指数部分为纯虚数)是正交完备的,但是指数函数族并不是。
    这一步厄米的证明需要把
    算符的矩阵形式写出来(与
    函数的导数
    有关),again,大家可以翻Shankar。

    2、如何扩展到拉普拉斯变换
    傅里叶变换需要函数满足绝对可积的条件,但是有的时候不能满足这个条件。拉普拉斯变换
    的虚部与傅里叶变换一致,而实部提出来之后相当于对
    附加了一个指数衰减,于是使大部分函数都能满足绝对可积的条件,从而扩展了适用范围。

    至此,我们惊奇地发现,

    所谓傅里叶变换和拉普拉斯变换,其实就是同一个函数向量,在不同基下的分量形式的变换。

    而我们选择指数函数基,就是因为它是导数算符的特征向量。

    有了这个基础,我们终于可以着手解微分方程了。

    微分方程的特征根解法

    还是原来的微分方程(注意我们现在自变量是

    ,函数是

    我们把它改写成与基底无关的向量形式:

    因为导数算符在

    基下会变为数乘,所以我们变换到
    基下

    (此步即大家熟知的傅里叶/拉普拉斯变换解常微分方程):

    此处我们用了

    基的完备性,即

    利用特征向量的性质,即得

    我们要非平凡解

    ,所以有方程

    得到两个根

    我们发现
    这些所谓特征根实际上就是解出来的特征值。

    接着我们用向量

    把函数向量线性表出,即

    而我们要求的便是函数向量在

    下的分量形式

    (如果有重根怎么办?)

    至此,我们成功的用线性代数的方法解出了微分方程。

    我们发现,所谓微分方程的特征根其实就是微分算子的特征值。

    由此,微分方程中的特征根与矩阵特征值也是一致的。

    而傅里叶/拉普拉斯变换,其实就是基的变换。

    3、从矩阵到数列

    本文的重头戏其实已经结束了,最后这部分比较简单。

    我们观察一下数列的递推式

    想一下怎么才能把他变成矩阵形式。

    这时候我想到了在理论力学中的哈密顿方程。

    我们知道,理论力学中的拉格朗日方程是一个二阶方程:

    经过一系列变换,则可以写成两个一阶方程

    由此可以把
    作为一组坐标,作出相图。其中又有

    一般的,微分方程理论证明, 一个二阶常微分方程可以写成两个一阶常微分方程。

    受此启发,我开始思考能不能用

    作为整体来改写递推式:

    我们做的事情实际上就是把一个二阶递推式写成了两个一阶递推式。

    (高次同理,全部拆成一阶即可。)

    然后我们希望不断累乘这个矩阵,即

    这里又出现了一个问题,就是如何方便的计算矩阵的幂

    矩阵的幂很难算,而常数的幂很容易,于是我们又想起了矩阵的特征值。

    我们先把矩阵的特征值求出来

    两根记为

    对应的特征向量分别记为

    接下来我们用特征向量将

    线性表出:

    (有重根怎么办?)

    然后再乘矩阵便有:

    吸收系数后得

    至此,我们用矩阵方法推导出了数列通项。

    我们发现,数列的特征值再一次被证明与矩阵的特征值是一致的。

    经评论区dalao提示,本段采用的方法与友矩阵(companion)的思想一致。

    四、结语

    以上,我们分别研究了

    1. 如何从数列到微分方程
    2. 如何从微分方程到矩阵
    3. 如何从矩阵到数列

    到此刻为止,我们成功地将数列、微分方程与矩阵的特征值之间两两关联

    我们惊喜地发现,确实,三者的特征值是一致的,的确是同一个特征值。

    Mathematics, rightly viewed, possesses not only truth, but supreme beauty. ——Bertrand Russell

    Update

    大家可能已经注意到,经过评论区dalao提点,

    每个版块下我都注明了与我的想法对应的现存数学工具。

    很不幸,看来我还是想的太多,而书读得太少。

    展开全文
  • 浮点厄米特矩阵特征值分解的FPGA实现.pdf
  • 如果一个方阵 相似于对角矩阵,也就是说存在一个可逆矩阵 使得 是对角矩阵,则就被称为可以相似对角化的。下面,我们就通过矩阵的相似对角化:来简单从数学角度解释下面几个问题:为什么要进行矩阵的相似对角化?...
    相似对角化是线性代数中最重要的知识点之一。如果一个方阵
    相似于对角矩阵,也就是说存在一个可逆矩阵
    使得
    是对角矩阵,则
    就被称为可以相似对角化的。

    下面,我们就通过矩阵

    的相似对角化:

    来简单从数学角度解释下面几个问题:

    • 为什么要进行矩阵的相似对角化?
    • 什么样的矩阵可以相似对角化?
    • 如何进行矩阵的相似对角化?
    • 矩阵的相似对角化的几何理解。

    在这之前你必须了解之前的推送内容:

    • 如何理解线性变换
    • 线性变换的矩阵
    • 如何理解等价关系?
    • 如何理解相似矩阵
    • 如何理解特征值与特征向量

    1 为什么要进行矩阵的相似对角化

    1.1 相似对角化使得同一个线性变换表达方式变的简单

    一个矩阵可以看作是一个线性变换在某组基下的矩阵(线性变换的矩阵 ),如果矩阵中非零元素过多,那么线性变换的表现形式就相对复杂。用本文开头的

    矩阵举例:

    f2d1d33451286e100e0615838ce90abd.png

    而如果能选取不同基,使线性变换的矩阵变成对角矩阵。那么,线性变换的形式就会变得相对简单。注意:相似矩阵是同一个线性变换在不同基下的表现(详情点击如何理解相似矩阵)。用本文开头的

    的对角矩阵举例:

    516fa79838ac495610e8c95e8ec6ca35.png

    是不是能感觉到在选择了对角矩阵之后,线性变换的表现形式变得更加简单了。用 (如何理解相似矩阵)推送中的语言来说的话,对角矩阵一定是观看演出时的“最佳视角”。

    1.2 一些特殊矩阵的对角化可以解决不同的实际问题。

    例如实对称矩阵的相似对角化,可以解决一些二次型的图像问题(后期会详细介绍,敬请期待)。在物理学、图像处理方面都有应用。让我们继续用开头的矩阵,看看实对称矩阵的相似对角化是如何帮助我们了解这个二次型的图像吧。

    一般情况下,是不容易确定一个带有交叉项的二次方程的图像的,例如

    的图像(注意这里的矩阵就是文章开头的矩阵哦)。但通过相似对角化(实际为坐标轴旋转)可以消去二次型中的交叉项,并得到新的坐标系(

    坐标系)。从而利用新的坐标系中对角矩阵所对应的二次型得到原方程的图像(更多详情,敬请期待):

    d41e35f24a5fa0859e7976910e4b9668.gif

    1.3 相似对角化是可对角化矩阵的方幂运算的工具

    计算一个对角矩阵的任意次方幂是简单的,只需要将对角元素做方幂运算即可。然而对于一般矩阵进行方幂运算并不是一件容易的事情。相似对角化给了一个可对角化矩阵算方幂的办法:

    从而,可以轻松得到:

    1.4 期待你的更多相似对角化的应用

    .....

    2、什么样的矩阵可以对角化

    并不是所有矩阵都可以对角化。一个

    阶矩阵
    可以对角化当且仅当
    个线性无关的特征向量。因此,最大可能多的找出这个矩阵的线性无关的特征向量,是能否使这个矩阵相似对角化的主要途径。来看看下面几个例子:

    2.1 可以对角化的例子

    继续用文章开头的矩阵为例,(其它更多例子可点击如何理解特征值与特征向量了解)。 下面两个矩阵所对应的线性变换都可以轻松找到两个线性无关的特征向量,因此是可以相似对角化的。

    d0081230b4adee9ec87d555a4bea6e25.gif

    4baa518595f4dfebbb30d04fc1754132.gif

    2.2 不能对角化的例子

    下面的线性变换中,仅仅有一个线性无关特征向量,从而不能相似对角化(更多详情,点击如何理解特征值与特征向量了解)。

    15025f7423e3ba1f821a41cf336621f7.png

    2.3 对角化还需要注意线性空间的基域的选择。

    考虑下面的线性变换:平面上的逆时针旋转90度的变换:

    87ed9a1bc0414a2a1be87905e61a0e73.png

    从图中可以看出这个旋转变换没有实特征向量,然而这个矩阵是可以对角化的。因为,它存在两个线性无关的复特征向量。因此,把这个矩阵看作复数域上的二维线性空间的变换,他是可以相似对角化的:

    3、如何进行矩阵的相似对角化

    如果一个

    矩阵
    可以对角化,这
    个线性无关的特征向量便构成了一个相似变换矩阵
    ,特征值按照相应的位置排列,即构成了相似对角矩阵

    需要注意的是,相似变换矩阵

    并不是唯一的,因为对应一个特征值的特征向量的选择有无数多个。而在实对称矩阵情况下,相似变换矩阵往往会选择为正交矩阵,因为正交矩阵有更好的性质(更多详情,敬请期待)。

    4 矩阵的相似对角化的几何理解

    如何理解相似矩阵中,我们已经讨论过相似矩阵是同一个线性变换在不同基下的矩阵。而对角矩阵则是所有这些相似等价类中,最简单的代表(更多内容,点击如何理解等价关系?)

    下面我们用前面两个可对角化的矩阵所对应的线性变换为例,一起来从变换的角度看看,相似对角矩阵是如何使线性变换看起来更容易的:

    d0081230b4adee9ec87d555a4bea6e25.gif

    3fce52d7b6e0be75c1ee7e94d112d4a5.png

    4baa518595f4dfebbb30d04fc1754132.gif

    f32f2804c8c1bf3e5364606414fd9e3d.gif

    下面再把对角化前后放到一起来看看:

    f40ca5e16e6796dd7ea31bac66c89735.png

    其实,可以看到对角矩阵对应的线性变换就是将网格线做平行移动即可。 希望这篇文章能帮助你理解相似对角化的意义。

    展开全文
  • EIGEN 复数矩阵求特征值,特征向量

    千次阅读 2020-07-03 15:55:39
    MatrixXcd A(4,4); ComplexEigenSolver<MatrixXcd> es(A); B = es.eigenvalues(); C = es.eigenvectors(); cout << "eigenvalues is \n" << B <... "size of B is \n" ...

    #include <iostream>

    #include <Eigen/Dense>

     

    Eigen::MatrixXcd A(4,4) = Eigen::MatrixXcd::Random(4, 4);

    Eigen::ComplexEigenSolver<Eigen::MatrixXcd> es(A);

    Eigen::MatrixXcd B = es.eigenvalues();
    Eigen::MatrixXcd C = es.eigenvectors();
    cout << "eigenvalues is \n" << B << endl;
    cout << "size of B is \n" << B.size() << endl;
    cout << "rows of B is \n" << B.rows() << endl;
    cout << "cols of B is \n" << B.cols() << endl;
    cout << "eigenvectors is \n" << C << endl;
    cout << "size of C is \n" << C.size() << endl;
    cout << "rows of C is \n" << C.rows() << endl;
    cout << "cols of C is \n" << C.cols() << endl;

    展开全文
  • 用python求矩阵特征值的方法?

    千次阅读 2020-12-11 05:33:36
    在但是scipy和numpy方法返回的是正的和负的复特征值,因为它们是复杂的和负的,所以它们是不正确的。编辑我知道特征值必须是实的,因为矩阵代表一个物理系统,在这个系统中复特征值没有意义有没有人知道在python中,...

    我目前正在尝试寻找矩阵H的特征值。

    我试过用这两种方法纽比.利纳格.艾格以及西皮.利纳格.艾格,尽管两者显然使用相同的底层方法。在

    问题是我的矩阵H是纯实的,特征值必须是实的,也是正的。在

    但是scipy和numpy方法返回的是正的和负的复特征值,因为它们是复杂的和负的,所以它们是不正确的。

    编辑我知道特征值必须是实的,因为矩阵代表一个物理系统,在这个系统中复特征值没有意义

    有没有人知道在python中,有没有其他方法可以得到矩阵的正确的,纯实数的特征值?在

    感谢您抽出时间!

    编辑3:

    修正后的H矩阵给出了纯实数特征值,所以我的假想问题消失了。现在我只需要弄清楚为什么我的特征值太大了,但那是另一个问题!在

    非常感谢所有回应的人!在

    修正后的H矩阵如下所示。

    注意,我现在的问题特征值太大了。

    我期望值在0-1之间。不是~10^50!在

    修正的H矩阵特征值:[ -1.56079757e-02 -6.70247389e+59 -1.31298702e+56 -3.64404066e+52

    -9.70803701e+48 -1.85917866e+45 -1.65895844e+41 -5.61503911e+39

    -7.19768059e+36 -4.58657021e+32 -4.98763491e+28 -3.08561491e+27

    -3.63383072e+25 -2.58033979e+25 -3.45930959e+23 -2.13272853e+18

    -4.25175990e+21 -1.93387466e+22]

    校正H矩阵:

    ^{pr2}$

    我留下了之前不正确的H矩阵,因此已经存在的答案对任何未来的读者都是有意义的。在

    编辑2:

    这绝对不是老矩阵。在[[ 9.84292024e+03 -8.31470427e+03 1.28883548e+04 -1.42234052e+03

    6.39075781e+03 1.68134522e+03 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    -5.93837816e+16 6.38322749e+16 -6.85843186e+16 5.75338966e+16

    -4.88603241e+16 3.50805052e+16]

    [ -8.31470427e+03 1.16557521e+05 -3.57981876e+05 7.96363898e+05

    -1.49026732e+06 2.53900589e+06 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    8.06918956e+18 -3.72079304e+19 1.23800418e+20 -3.42505937e+20

    8.36989008e+20 -1.86726751e+21]

    [ 1.28883548e+04 -3.57981876e+05 3.15391321e+06 -1.63653726e+07

    6.55556033e+07 -2.25027001e+08 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    -2.29647856e+20 2.23060743e+21 -1.47751020e+22 7.86504336e+22

    -3.61027130e+23 1.48623808e+24]

    [ -1.42234052e+03 7.96363898e+05 -1.63653726e+07 1.68187967e+08

    -1.22007429e+09 7.18684022e+09 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    3.46309077e+21 -5.84715936e+22 6.46859079e+23 -5.59189865e+24

    4.08308120e+25 -2.63166392e+26]

    [ 6.39075781e+03 -1.49026732e+06 6.55556033e+07 -1.22007429e+09

    1.47164022e+10 -1.36810088e+11 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    -3.69586675e+22 9.89735934e+23 -1.67505077e+25 2.15859810e+26

    -2.30442140e+27 2.13906412e+28]

    [ 1.68134522e+03 2.53900589e+06 -2.25027001e+08 7.18684022e+09

    -1.36810088e+11 1.90724566e+12 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    3.17341100e+23 -1.27716724e+25 3.13774985e+26 -5.72503211e+27

    8.49214835e+28 -1.07936569e+30]

    [ -2.62366128e+07 3.12867102e+08 -2.07586348e+09 9.55718390e+09

    -3.58688215e+10 1.18206299e+11 -3.72545099e+19 3.55377485e+20

    -2.19797302e+21 1.06820421e+22 -4.43482421e+22 1.64613799e+23

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00]

    [ 6.21899934e+06 -1.35300269e+09 2.25199661e+10 -2.08147670e+11

    1.41978312e+12 -8.03720030e+12 3.55377485e+20 -6.92933885e+21

    7.86285194e+22 -6.60223225e+23 4.55617308e+24 -2.73627888e+25

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00]

    [ -2.10320449e+07 4.11734924e+09 -1.49402973e+11 2.51974540e+12

    -2.86573004e+13 2.56306446e+14 -2.19797302e+21 7.86285194e+22

    -1.49349605e+24 1.98682041e+25 -2.09455082e+26 1.87262719e+27

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00]

    [ 2.94574146e+06 -1.02367345e+10 7.58502833e+11 -2.20591701e+13

    3.96780330e+14 -5.32688366e+15 1.06820421e+22 -6.60223225e+23

    1.98682041e+25 -3.97295506e+26 6.07807050e+27 -7.69005025e+28

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00]

    [ -1.34143013e+07 2.23461195e+10 -3.24369808e+12 1.56693459e+14

    -4.30207139e+15 8.37537551e+16 -4.43482421e+22 4.55617308e+24

    -2.09455082e+26 6.07807050e+27 -1.30367761e+29 2.25611610e+30

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00]

    [ -1.29818367e+06 -4.45010813e+10 1.22995908e+13 -9.61118583e+14

    3.92675368e+16 -1.08141277e+18 1.64613799e+23 -2.73627888e+25

    1.87262719e+27 -7.69005025e+28 2.25611610e+30 -5.21172115e+31

    0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00

    0.00000000e+00 0.00000000e+00]

    [ -5.93837816e+16 8.06918956e+18 -2.29647856e+20 3.46309077e+21

    -3.69586675e+22 3.17341100e+23 -4.12843622e+30 1.31023908e+32

    -2.32666430e+33 2.96546578e+34 -3.03538906e+35 2.65606764e+36

    -3.91170589e+42 9.60158418e+43 -1.53011091e+45 1.88717441e+46

    -1.94862667e+47 1.76215269e+48]

    [ 6.38322749e+16 -3.72079304e+19 2.23060743e+21 -5.84715936e+22

    9.89735934e+23 -1.27716724e+25 3.81005492e+31 -2.11434722e+33

    5.97475670e+34 -1.14689052e+36 1.70519806e+37 -2.11260012e+38

    9.60158418e+43 -3.55965236e+45 8.25594136e+46 -1.44373334e+48

    2.07304224e+49 -2.56816531e+50]

    [ -6.85843186e+16 1.23800418e+20 -1.47751020e+22 6.46859079e+23

    -1.67505077e+25 3.13774985e+26 -2.44128687e+32 2.26787992e+34

    -9.81982973e+35 2.73945925e+37 -5.71489855e+38 9.68877560e+39

    -1.53011091e+45 8.25594136e+46 -2.68951294e+48 6.44111112e+49

    -1.24291248e+51 2.03914940e+52]

    [ 5.75338966e+16 -3.42505937e+20 7.86504336e+22 -5.59189865e+24

    2.15859810e+26 -5.72503211e+27 1.26953404e+33 -1.91719765e+35

    1.23852494e+37 -4.89510985e+38 1.39768692e+40 -3.16418412e+41

    1.88717441e+46 -1.44373334e+48 6.44111112e+49 -2.06086355e+51

    5.21505047e+52 -1.10591734e+54]

    [ -4.88603241e+16 8.36989008e+20 -3.61027130e+23 4.08308120e+25

    -2.30442140e+27 8.49214835e+28 -5.72744451e+33 1.37649297e+36

    -1.30066841e+38 7.14559647e+39 -2.74085484e+41 8.13459136e+42

    -1.94862667e+47 2.07304224e+49 -1.24291248e+51 5.21505047e+52

    -1.69908728e+54 4.57315759e+55]

    [ 3.50805052e+16 -1.86726751e+21 1.48623808e+24 -2.63166392e+26

    2.13906412e+28 -1.07936569e+30 2.32655148e+34 -8.75599541e+36

    1.19185355e+39 -8.96773338e+40 4.55433688e+42 -1.74680817e+44

    1.76215269e+48 -2.56816531e+50 2.03914940e+52 -1.10591734e+54

    4.57315759e+55 -1.54023048e+57]]

    展开全文
  • §6.5 对称矩阵,实特征值,正交特征向量Symmetric Matrices, Real Eigenvalues, Orthogonal EigenvectorsMIT公开课《微分方程和线性代数》6.5 对称矩阵、实特征值和正交特征向量​v.youku.com在线性微分方程组中会...
  • eigND.c 实数非对称 N 维矩阵特征值E=eigND(A); 计算 N 维“方”矩阵 A 的特征值。 如果 A 的大小为 [nxnxpxqxrx ...],则 E 是来自 A 的前两个维度的每个 [nxn] 方阵。 E 是大小 [nx 1 xpxqxrx ...] 请注意,E 的...
  • QR分解求矩阵特征值

    2014-10-15 22:22:55
    MATLAB编程采用QR分解求解矩阵特征值包括实矩阵和复矩阵
  • 展开全部关系:如果λ是A的一个特征62616964757a686964616fe4b893e5b19e31333433653962值,那么1/λ是A^(-1)的一个特征值。证明:设λ是A的特征值α是A的属于特征值λ的特征向量则Aα=λα.若A可逆则λ≠0.等式两边...
  • 矩阵特征值和特征向量

    千次阅读 2019-11-04 14:50:42
    6.1 矩阵的特征向量与特征值 犹如世界上每个人都有自己的特点一样,每个矩 阵也有其内在的特性。可逆性、秩、初等变换的结果等属于矩阵的代数性质,而特征值、特征向量偏向于反映矩阵的几何特性。 A是n阶矩阵,x是n...
  • 浅谈矩阵的相似对角化(一)​zhuanlan.zhihu.com在上一篇文章我们证明了任意一个n阶矩阵可以相似对角化的充要条件是这个n阶矩阵有n个线性无关的特征向量,在本篇文章中我们一起讨论实对称矩阵的性质以及二次型的...
  • 矩阵求特征值特征向量Java代码1.代码介绍2.参考文章 1.代码介绍   代码中实现的模块如下: 矩阵转置 点乘 自动索引生成 矩阵复制 获取给定索引矩阵所在行 矩阵行列式 矩阵正交化 矩阵求矩阵QR分解(注:QR分解...
  • 1、特征值分解主要还是调包:from numpy.linalg import eig特征值分解: A = P*B*PT 当然也可以写成 A = QT*B*Q其中B为对角元为A的特征值的对角矩阵,P=QT,首先A得对称正定,然后才能在实数域上分解,>...
  • 1设计目的、内容及要求 1.1设计目的 本课程设计以自动控制理论、现代控制理论、MATLAB 及应用等知识为基础,连续系统对应的离散化的系统,并用计算系数阵按模最大的特征根法判别离散系统的稳定性,目的是使学生在...
  • 对称矩阵特征值和特征向量 这一节,我们首先研究一类重要的矩阵,实对称矩阵,的特征值和特征向量。 性质 我们的主要结论是 实对称矩阵特征值全部是实数。 实对称矩阵可以取到 nnn 个正交的特征实向量。 原因 ...
  • 主要还是调包:from numpy.linalg import eig特征值分解: A = P*B*PT 当然也可以写成 A = PT*B*P其中B为对角元为A的特征值的对角矩阵。首先A得正定,然后才能在实数域上分解,>>> A = np.random.randint(-...
  • 矩阵分析 (七) 矩阵特征值的估计

    千次阅读 2020-01-10 20:54:09
    我的微信公众号名称:AI...  矩阵特征值是矩阵的重要参数之一。从前面的讨论可以看到,把矩阵对角化或者矩阵的约当标准形、判别矩阵的收敛,以及矩阵函数的性质都与特征值有关。当矩阵的阶数高于五次时,没有...
  •  设有实对称矩阵$A$,它的特征值与对应的特征向量分别为$\lambda,x$,另外记$\overline{A},\overline{\lambda},\overline{x}$分别为它们对应的共轭复数(矩阵和向量是对每个元素共轭)。  首先有: \begin{equation}...
  • 矩阵论】特征值的估计(上下界和盖尔圆)

    千次阅读 多人点赞 2020-06-04 22:38:43
    当我们遇到的不是书本上的3阶或4阶矩阵,而是高阶矩阵时(如图像中的256×256),我们再使用特征方程det⁡(λI−A)=0\det(\lambda I -A)=0det(λI−A)=0来求特征值就非常困难。我们难以求解也没有必要逐一计算每一个...
  • 极力回想,也只能以“特征值法、步骤...bla...bla...”应付了事,答非所问,简直了得!这样的答案教科书里写得清清楚楚,网上Google/百度一大堆,人家问的是意义,如何理解其意义?直扣灵魂,我真的曾经理解过它...
  • 利用四元数矩阵的表示及友向量的概念结合复数域上的 Hermitian阵的性质证明了四元数 自共轭矩阵的特征值的变分特征,并利用变分特征研究了四元数矩阵特征值的性质 。得到了四元数矩阵的 Wey1定理、单调性定理、柯西...
  • 本系列主要按照《Introduction to random matrices theory and practice》进行,后续不再一一声明。每次使用新资料,都会在第...4.随机矩阵矩阵,它的元素是随机变量。用处很大,任何用矩阵表示的数据,都可以用随机.
  • 作者:桂。 时间:2017-10-2607:11:02 ...主要记录特征值分解的硬件实现思路。 一、实数矩阵转化 在FPGA运算中,对实数运算通常优于对复数运算。假设C为复数矩阵:C= A+iB;且 C = CH 从而A = AT;B = -BT;若...
  • 如何理解矩阵特征值

    万次阅读 2016-05-19 12:31:15
    李浩 ,FPA蓝色 / EE。...特征值在很多领域应该都有自己的用途,它的物理意义到了本科高年级或者研究生阶段涉及到具体问题的时候就容易理解了,刚学线性代数的话,确实抽象。 ——————————————————
  • 特征值与特征向量的几何意义矩阵的乘法是什么,别只告诉我只是“前一个矩阵的行乘以后一个矩阵的列”,还会一点的可能还会说“前一个矩阵的列数等于后一个矩阵的行数才能相乘”,然而,这里却会和你说——那都是表象...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,483
精华内容 2,193
关键字:

复矩阵怎么求特征值

友情链接: 新建文件夹.zip