当前位置:  开发笔记 > 人工智能 > 正文

寻找对应于最小特征值的特征向量

如何解决《寻找对应于最小特征值的特征向量》经验,为你挑选了1个好方法。

我想找到矩阵U的最小幅度的特征值的相应特征向量.最简单的方法是什么?

目前我正在使用该算法

[evecs, D] = eigs(U);
evals = diag(D);
smallesteig = inf;
for k = 1:length(evals)
    if (evals(k) < smallesteig)
        smallesteig = evals(k);
        vec = evecs(:, k);
    end
end

有更有效的方法吗?



1> 小智..:

这有一个非常简单的简写:[V,D] = eigs(U,1,'SM').

如果您查看eigs文档,它会指出:

EIGS(A,K,SIGMA) and EIGS(A,B,K,SIGMA) return K eigenvalues. If SIGMA is:
   'LM' or 'SM' - Largest or Smallest Magnitude
For real symmetric problems, SIGMA may also be:
   'LA' or 'SA' - Largest or Smallest Algebraic
   'BE' - Both Ends, one more from high end if K is odd
For nonsymmetric or complex problems, SIGMA may also be:
   'LR' or 'SR' - Largest or Smallest Real part
   'LI' or 'SI' - Largest or Smallest Imaginary part

因此,当按照S mallest M agnitude 排序时,[V,D] = eigs(U,1,'SM')返回U 的第一特征值的特征向量和值.

推荐阅读
mylvfamily
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有