c++ - LAPACK 中的 DGGEV 或 DSYGV Eigen 求解器执行哪种算法? MATLAB使用的是 'QZ'算法吗?

标签 c++ matlab linear-algebra lapack eigenvalue

LAPACK 中的 DGGEV 或 DSYGV Eigen 求解器实现了哪种算法?是 MATLAB 使用的 'QZ' 算法吗?

http://www.netlib.org/lapack/explore-html/d9/d52/dggev_8f_source.html

http://www.netlib.org/lapack/explore-html/d5/d2e/dsygv_8f.html

有谁知道我在哪里可以找到QZ 算法(广义 Schur 分解)的实现来计算 C++ 中的特征值和 vector ?


编辑:

我实现了一些 LAPACK 例程并在这个链接中提到了一些观察结果:

https://scicomp.stackexchange.com/questions/16220/eigenvectors-matlab-vs-lapack-dggev-or-dggevx

最佳答案

MATLAB 曾经在其文档中包含 eig 函数使用的 LAPACK 例程列表,但出于某种原因决定将其删除。

这是来自 archived docs of R2009a 的表格截图:

eig_algorithms

我不能保证从那以后事情没有改变。


编辑:

qz function 的文档页面有一个类似的 LAPACK 例程表:

qz_algorithm


作为引用,你也可以看看其他科学框架是如何实现这个功能的:

关于c++ - LAPACK 中的 DGGEV 或 DSYGV Eigen 求解器执行哪种算法? MATLAB使用的是 'QZ'算法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26808510/

相关文章:

c++ - 我在哪里可以找到 "C/C++ Users Journal"代码存档?

c - Matlab 脚本已移至 C,但 ode45 的输出不同

machine-learning - 梯度方法的正交正则化惩罚?

python - 找到一个非常大的矩阵的特征值

.net - 我什么时候应该使用像 Math.NET 这样的线性代数库

c++ - 定义流畅的界面会对性能产生影响吗?

c++ - 在 OSX 上使用 CMake 构建 Unity native 包

c++ - 有什么方法可以从任意点开始声子媒体对象中的流吗?

matlab - 在 matlab 中使用 parfor 来实现格子玻尔兹曼代码

math - 在 MATLAB 中绘制贝塞尔函数