- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
Eigen库的Selfadjointeigensolver()方法的compute方法计算所有特征值的特征向量。我想让它只计算一个特定特征值的特征向量,例如最小的或最小的第 5 个。这可能吗?
最佳答案
如果您的矩阵是真实的并且您已经在使用 Eigen,最简单的方法是使用 Spectra ,这是一个仅需要 Eigen 的 header 库。它是旧 Arpack 的重新设计,它使用 Arnoldi 幂迭代迭代收敛到极值特征值/特征向量对。您可以一次请求“几个”特征对。
如果您的矩阵很复杂,您有两个选择。要么你去Arpack++直接可以处理复杂的矩阵,但使用起来更乏味,或者您可以通过将矩阵分为实部和虚部来坚持使用 Spectra,如 explained here ,但这会带来很大的性能损失。本质上,如果您有一个复杂的N*N
矩阵A=B+iC
和 vector x=u+iv
,您可以将特征值方程转为Ax=kx
转化为(B+iC)(u+iv)=k(u+iv)
,可以写成2N*2N
> 问题。
如果您的矩阵确实很大,您可能需要考虑 Slepc .
关于c++ - 使用 C++ 特征库中的 eigenvectors() 仅计算一个特征向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57142561/
我的目的是找到矩阵的特征向量。在 Matlab 中,有一个 [V,D] = eig(M) 可以使用: [V,D] = eig(M) 来获取矩阵的特征向量。或者,我使用网站 WolframAlpha 仔
Eigen库的Selfadjointeigensolver()方法的compute方法计算所有特征值的特征向量。我想让它只计算一个特定特征值的特征向量,例如最小的或最小的第 5 个。这可能吗? 最佳答
我是编程新手,尤其是 Fortran。我正在使用 Fortran 的 LAPACK(线性代数包)软件包来查找大型对称实矩阵的特征值和特征向量。具体来说,我从每个特征向量计算出一个标量,并且我想根据其关
我正在使用 C++ 编写代码,该代码使用 Eigen 库计算矩阵的特征向量。我只需要第一列和特征向量的实数值。有没有办法将这些值复制到 std::vector数据类型?有人可以帮我解决这个问题吗? 我
我正在降低 Spark DataFrame 的维度与 PCA带有 pyspark 的模型(使用 spark ml 库)如下: pca = PCA(k=3, inputCol="features", o
我想在给定时间内以可承受的最佳精度获得稀疏对称矩阵的特征向量。 目前我将以下内容与 scipy.sparse.eigsh 一起使用: evals, evecs = eigsh(MyMatrix, 2,
我是一名优秀的程序员,十分优秀!