简体   繁体   English

C ++中的Octave EIG类,算法

[英]Octave EIG class in C++, algorithm

I'm using EIG class of Octave in my C++ code. 我在C ++代码中使用Octave的EIG类。 Actually, it works good. 实际上,它运作良好。 The only minor issue which I have is that it determines algorithm automatically based on the argument list of EIG constructor. 我唯一的小问题是它根据EIG构造函数的参数列表自动确定算法。 I was wondering if there is a way to determine algorithm for the EIG class. 我想知道是否有一种方法可以确定EIG类的算法。 I noticed that there is an optional argument called info , I looked into C++ source code (on the following link) to see if it relates to algorithm but I couldn't figure it out. 我注意到有一个名为info的可选参数,我查看了C ++源代码(在下面的链接中)以查看它是否与算法有关,但我无法弄清楚。

http://octave.sourceforge.net/doxygen/html/d6/d42/EIG_8cc_source.html http://octave.sourceforge.net/doxygen/html/d6/d42/EIG_8cc_source.html

I'm using Octave 3.6.1 with Visual Studio 2008. 我在Visual Studio 2008中使用Octave 3.6.1。

I researched on topic. 我研究了话题。 Apparently Octave has no option to determine the algorithm of eig command. 显然,Octave无法确定eig命令的算法。 But MATLAB has two options of 'chol' algorithm and 'qz' algorithm for badly-conditioned matrices. 但是对于条件不佳的矩阵,MATLAB提供了'chol'算法和'qz'算法两个选项。

If you want to calculate the Eigen values & vectors of ill-conditioned matrices in C++, you can implement DGGEV or DGGEVX routines of LAPACK. 如果要在C ++中计算病态矩阵的特征值和向量,则可以实现LAPACK的DGGEV或DGGEVX例程。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM