SAS中文论坛

 找回密码
 立即注册

扫一扫,访问微社区

查看: 874|回复: 1
打印 上一主题 下一主题

求实对称矩阵的特征值和特征向量

[复制链接]

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
楼主
 楼主| 发表于 2008-6-2 23:39:33 | 只看该作者

求实对称矩阵的特征值和特征向量

大家好,我用SAS8.1计算实对称矩阵A=
 161.079031576618  208.250301732992  -64.1043482618227
 208.250301732992   273.792923146327  -84.8950989429858
 -64.1043482618227  -84.8950989429858  26.9151793309588
的全部特征值和特征向量,方法是将上述数据输入数据表然后做多变量分析的主成分分析,SAS先将上述数据进行标准差标准化,然后给出标准化变量的所有特征值和特征向量,如下:
          Correlation Matrix
           VAR1    VAR2    VAR3
     VAR1   1.0000   1.0000   -.9999
     VAR2   1.0000   1.0000   -1.000
     VAR3   -.9999   -1.000   1.0000
      Eigenvalues of the Correlation Matrix
    Eigenvalue  Difference  Proportion  Cumulative
 1  2.99990937  2.99981874    1.0000    1.0000
 2  0.00009063  0.00009063    0.0000    1.0000
 3  0.00000000           0.0000    1.0000
            Eigenvectors
          Prin1     Prin2     Prin3
   VAR1   0.577343   0.791900   -.198921
   VAR2   0.577358   -.223676   0.785256
   VAR3   -.577351   0.568210   0.586348
我根据求实对称矩阵所有特征值和特征向量的雅可比法自己编写了程序,(原理见 <!-- m --><a class="postlink" href="http://www.tyut.edu.cn/kecheng/jisff/dzja/ch4/ch4-2.htm">http://www.tyut.edu.cn/kecheng/jisff/dzja/ch4/ch4-2.htm</a><!-- m -->),得到结果如下:
相关阵:
  1.000000  0.999953 -0.999916
  0.999953  1.000000 -0.999995
 -0.999916 -0.999995  1.000000
特征根:
  2.999909
  0.000091
  0.000000
特征向量:
 -0.577343 -0.791901 -0.198919
 -0.577358  0.223678  0.785256
  0.577351 -0.568209  0.586349
测试特征值和特征向量:
        A - λi             特征向量
  1.000000  0.999953 -0.999916 | -0.198919 -0.791901 -0.577343
  0.999953  0.999909 -0.999995 | 0.785256  0.223678 -0.577358
 -0.999916 -0.999995 -1.999909 | 0.586349 -0.568209  0.577351
根据特征根和特征向量的定义进行特征根和特征向量的测试(A - λi横行的每个数值与特征向量的i列的每个值相乘求和,每个和数理论上应当等于0),结果如下:
 i=1: 1.2565457029913E-10
 i=2: -1.26842518096987E-10
 i=3: 1.70247930336709E-11
可以看出,三个得值也很趋近于0,仅从数值方面考虑应该是没问题的。
在我的程序中,取得旋转角度时我用的是tg2θ=2tgθ/[1-(tgθ)^2],根据上面的原理的(10)式子求出tgθ的两个值,然后解一元二次方程,求出tgθ,只取tgθ&gt;=0时候的θ值,进一步求出Sinθ和Cosθ进行后面的运算。
上面的SAS运算结果和我的结果在特征值方面是相同的,与特征值对应的特征向量的绝对值也是相同的,可就是有部分向量的符号不同,请问大家这是为什么?是我选取旋转角度θ的方法出问题了吗?望大家给指点一下,在此先谢谢各位了!
回复 支持 反对

使用道具 举报

49

主题

76

帖子

1462

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1462
沙发
 楼主| 发表于 2008-6-3 23:42:11 | 只看该作者

Re: 求实对称矩阵的特征值和特征向量

在人大经济论坛上也看到过了,没人回,发这来啦!

首先,我不明白作者为什么如此重视求得的特征向量与SAS算出的差一个负号!这对于特征向量来说是无关紧要的。
其次,我想问题可能会出在这样几个地方。1.先看你的算法,旋转角度θ的选取可以不局限于小于90度,如果将你求得的θ+180度,即将坐标轴的方向取反,那么算出的特征向量会与之前的差一个负号。2.如果SAS是用公式( λi-A)*X=0来计算特征向量X的话,也会差异一个负号的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|SAS中文论坛  

GMT+8, 2026-2-4 20:02 , Processed in 0.088306 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表