2011-05-02 109 views
10

我已经搜索了很多这个,但我找不到任何有关两种方法'eig'和'eigs'如何不同的答案。特征值和特征向量之间有什么区别?'eig'和'eigs'有什么区别?

+1

这可能是不适合这个网站,因为它主要是一个大约两个数值算法的差,以确定本征值/矢量问题。 – 2011-05-02 09:38:54

+0

注意截至r2017b:'eigs'的输出顺序与'eig'不同。参见[这里](https://nl.mathworks.com/help/matlab/release-notes.html?rntext=eigs&startrelease=R2015a&endrelease=R2017b&groupby=release&sortby=descending&searchHighlight=eigs) – 2017-12-06 13:10:11

回答

18

他们使用不同的算法,针对不同的问题和不同的目标。

eig是好,速度快,一般采用特征值/向量解算器。当你的矩阵具有符合记忆的实际尺寸时,以及当你需要所有的特征值/矢量时,适合使用。稀疏矩阵在eig中完全不起作用。

Eigs是一个求解器是比较合适的,因为当你只需要特征值/向量的有限的子集。这里矩阵通常以稀疏格式存储,因为作为一个完整的矩阵,它将占用太多的内存来存储。看来eigs基于ARPACK

如果你真正所要求的实际算法的细节,这是一个问题,显然是不合适的这个网站。坐下来一份“矩阵计算”的副本,或者更好,请阅读文档中列出的eigs的参考对。