一个特征值灵敏度的例子

5月29 - 30日,我打算参加一个会议,由尼克•海厄姆大学的曼彻斯特。会议的标题

庆祝纪念詹姆斯·h·威尔金森的诞生

我给一个谈论威尔金森最喜欢的话题之一,如何与敏感特征值矩阵的扰动产生有缺陷的多个特征值矩阵。我发现这个例子从我原来的Fortran MATLAB用户指南,新墨西哥大学的技术报告,1981年,四年MathWorks之前。这篇博客的文本复制的指南。我已经插入评论,今天的MATLAB尺度不同的特征向量。

内容

特征值灵敏度的例子

在这个例子中,我们构造一个矩阵的特征值适度敏感扰动,然后分析灵敏度。我们首先声明

B = [3 0 7;0 2 0;0 0 1]
7 B = 3 0 0 2 0 0 0 1)

很明显,B的特征值是1、2和3。此外,由于B是不对称的,这些特征值扰动稍微敏感。(B值(1、3)选择= 7矩阵的元素下面是少于1000。)

现在我们生成一个相似变换伪装特征值,使他们更加敏感。

L = [1 0 0;2 1 0;3 4 1)M = L \ L '
L = 1 0 0 2 1 0 3 4 1 M = 1 2 3 2 3 10 11 18 -48

矩阵M行列式等于1,适度的严重制约。相似变换是

一个= M * B / M
一个= -64.0000 82.0000 21.0000 144.0000 -178.0000 -46.0000 -771.0000 962.0000 248.0000

因为依据(M) = 1,将精确的整数的元素如果没有舍入。所以,

=轮(A)
21 = -64 82 144 -178 -46 -771 962 248

这就是我们的测试矩阵。我们现在可以忘记它是如何生成和分析其特征值。

[X, D] = eig (A)
X = 0.0891 0.0735 -0.1089 -0.1782 -0.1923 0.1634 0.9800 0.9786 -0.9805 1.0000 D = 3.0000 0 0 0 0 0 0 2.0000
%{今天特征向量扩展单位长度。%经典MATLAB没有规模特征向量。它被%% X =%% - - - - - -。08913。490341。8091% .1782 -9.1284 - -62.7136% - - - - - -。980年046。4473376。2818%}

因为类似于B,它的特征值也1、2和3。他们碰巧EISPACK子程序计算在另一个订单。X的列,特征向量,是到目前为止从正交是我们的第一个迹象表明特征值很敏感。看到这敏感性,我们显示更多数据计算的特征值。

格式诊断接头(D)
ans = 3.000000000003868 0.999999999998212 1.999999999997978

我们看到,在这台电脑上,过去五{:4}重要数据被舍入误差。有些肤浅的解释这是提供的

格式电导率(X)
ans = 1.7690 e + 03
%{经典:%% ANS =%% 3.2216 e + 05%}

X给的条件数的一个上界计算特征值的相对误差。然而,这个条件是受扩展的影响。

X = X /诊断接头(X(3:))电导率(X)
X = 0.0909 0.0751 0.1111 -0.1818 -0.1965 -0.1667 1.0000 1.0000 1.0000 ans = 1.7692 e + 03

重新调节特征向量,这样他们最后的组件都等于1有两个后果。X的条件是降低了两个数量级。{今天不行。}(这是最低条件,可以得到这样的对角线缩放)。此外,现在看来这三个特征向量几乎是平行的。

更多详细信息的敏感性的个人特征值包括左特征向量。

Y =发票(X) Y ' * * X
Y = -511.5000 259.5000 252.0000 616.0000 -346.0000 -270.0000 159.5000 -86.5000 -72.0000 ans = 3.0000 - -0.0000 -0.0000 - 0.0000 -0.0000 - 2.0000 1.0000 - 0.0000 0

我们现在在一个位置来计算个人的敏感性特征值。

j = 1:3, c (j) =规范(Y (:, j)) *规范(X (:, j));结束c
c = 833.1092 450.7228 383.7564

这三个数的倒数之间的角度的余弦左和右特征向量。它可以表明,扰动的元素会导致扰动的j特征值是c (j)倍。在这个例子中,第一个特征值最大的灵敏度。

我们现在继续显示,接近一个矩阵的特征值的两倍。要求给出了扰动的方向

E = -1. e-6 * Y (: 1) * X (: 1) '
E = 1.0 E 03 * 0.0465 -0.0930 0.5115 -0.0560 0.1120 -0.6160 -0.0145 0.0290 -0.1595

一些试验和错误,我们不显示,我们支架的两个特征值摄动的合并,然后变得复杂。

eig (A +。4 * E) eig (+ 5 * E)
2.5996 - 2.2504 = 1.1500岁= 2.4067 + 0.1753我2.4067 - 0.1753 1.1866 + 0.0000

现在,角平分线搜索,由特征值的虚部,发现两个特征值几乎相等。

r =。4;s = 5;因此> 1。e-14 t = (r + s) / 2;d = eig (A + t * E);如果图像放大(d (1)) = = 0, r = t;其他的s = t;结束结束格式t
t = 0.450380734135428

最后,我们显示摄动矩阵,它显然是接近于原始,和一双几乎相同的特征值。

+ t * E eig (A + t * E)
ans e = 1.0 + 2 * -0.639999790572959 0.819999581145917 0.210002303697455 1.439999747786789 -1.779999495573578 -0.460002774345322 -7.710000065305207 9.620000130610412 2.479999281642729 ans = 2.415743144226897 2.415738627741217 1.168517777651195

前两个特征向量的A + t * E几乎难以分辨表明摄动矩阵几乎是有缺陷的。

[X, D] = eig (A + t * E)格式电导率(X)
X = 0.094108719644215 -0.094108788388666 -0.070056238584537 -0.174780805492871 0.174780755585658 0.194872753681838 0.980099596427929 -0.980099598727050 -0.978323429806240 2.415738627741217 D = 2.415743144226897 0 0 0 0 0 0 1.168517777651195 ans = 3.9853 e + 08年




发表与MATLAB®R2018b

|

评论

留下你的评论,请点击在这里MathWorks账户登录或创建一个新的。