作者Gwaewluin (神无月 孝臣)
看板MATLAB
标题关於使用sparse matrix来计算特徵值与向量的问题
时间Sat May 6 21:31:31 2006
去年有看到几篇由於想要进行计算的矩阵太大
很容易就出现ony of memory的讯息
後来是建议改使用sparse来储存矩阵以解决记忆体问题
结果在计算特徵向量的时候又出问题了
sparse matrix不支援eig()这个指令的运算
最後好像是大家都拿这个问题没辄了
不过刚刚在翻书找资料的时候
赫然发现有着另一个指令可以解决特徵值与特徵向量运算的问题
更应该说这个指令是专门设计给sparse matrix来用的
叫做eigs()
和eig()很像,後面只是多了一个s而已(应该是代表sparse matrix)
连参数的设定都完全一样
使用这个指令就可以正常的对sparse matrix进行特徵问题的计算
希望可以是之前有着sparse matrix无法进行特徵问题计算烦恼的版友们的小小参考
题外话
当时我也有试过sparse matrix来进行特徵问题的计算
当时印象中sparse matrix是可以直接用eig()来算特徵值的
但是不能拿来算特徵向量
那时候我用的是7.1版
现在我用的是7.2版 R2006a
可是刚刚进行测试却发现eig()连sparse matrix的特徵值都不给我算了
一定要使用eigs()才可以进行运算
不过不管是我记错还是7.2版把指令改掉了
总之有sparse matrix要进行特徵问题的计算只要使用eigs()就可以了
--
Deserves death! I daresay he does. Many that live deserve death. And some die
that deserve life. Can you give that to them? Then be not too eager to deal out
death in the name of justice, fearing for your own safty. Even the wise cannot
see all ends.
Gandalf to Frodo
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.131.231.222