[問題] 科學計算函式庫GSL中eigen問題請教
開發平台(Platform): (Ex: Win10, Linux, ...)
Win7
編譯器(Ex: GCC, clang, VC++...)+目標環境(跟開發平台不同的話需列出)
MinGW
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
GNU Scientific Library(GSL)
問題(Question):
主要是最近Matlab用膩了,想換換比較有深度(?)的,就回來用用C++
雖然以前C++學得很爛,但基本的迴圈之類的不太可能忘
而我主要會需要用到程式的地方其實就如標題所說:科學計算,所以也夠用了
只要有個科學計算的函式庫應該可以很快上手?
所以看到有GSL這種東西當然就很高興地想給他下載
但是看到他的Documentation就卡住了
https://www.gnu.org/software/gsl/doc/html/index.html
我有一個一定要用到的功能就是解eigen value & eigen vector
但是doc上面:
Eigensystems
Real Symmetric Matrices
Complex Hermitian Matrices
Real Nonsymmetric Matrices
Real Generalized Symmetric-Definite Eigensystems
Complex Generalized Hermitian-Definite Eigensystems
Real Generalized Nonsymmetric Eigensystems
Sorting Eigenvalues and Eigenvectors
Examples
References and Further Reading
似乎是說他提供解Eigensystems只有上面幾種特殊矩陣
但我的矩陣不會是以上幾種有這麼好性質的特殊矩陣
查了wiki似乎也是說對於任意矩陣求eigen沒有什麼好的加速演算法
等於只能硬是去解他的eigen polynomial的root (det(A-xI)=0的根)
但是我找了半天好像也沒找到GSL有可以自動幫我列出eigen polynomial的係數的...
也就是我得自己寫個程式把任意矩陣的eigen polynomial的係數算出來嗎...?
不知道有沒有大大有遇過類似情形的?還是是我哪裡搞錯了請指證!謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.178.25
※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1500712557.A.EA3.html
推
07/22 16:50, , 1F
07/22 16:50, 1F
→
07/22 18:05, , 2F
07/22 18:05, 2F
※ 編輯: profyang (114.37.178.25), 07/22/2017 18:22:25
→
07/22 18:48, , 3F
07/22 18:48, 3F
是阿,我現在正在考慮python和C++混用
因為有時也需要檔案IO,這部分python應該不夠快,Matlab就更慢了,應該還是C++最快
另外我自己找到了,GSL果然沒有我要的任意complex matrix的eigen問題
http://lists.nongnu.org/archive/html/help-gsl/2014-02/msg00008.html
居然要我去用LAPACK...但LAPCK又只有線代的部分...要你何用啊!!= =
※ 編輯: profyang (114.37.178.25), 07/22/2017 19:02:03
推
07/22 19:45, , 4F
07/22 19:45, 4F
→
07/22 19:50, , 5F
07/22 19:50, 5F
感謝這位大大 這個不錯
查了一下居然說是速度可以跟intel的Math Kernel Library(MKL)比的
雖說現在MKL開放免費下載
不過前面忘了講我是不太想用MKL就是了
一來以後用的電腦的CPU未必一定是intel
二來...恩...intel有劣跡...阿不是 據說之前MKL會對非intel核心"最劣化"
我怕我沒有他的compiler(compiler要錢...)的話它也給我搞個最劣化...
※ 編輯: profyang (114.37.178.25), 07/22/2017 22:09:26
推
07/23 08:55, , 6F
07/23 08:55, 6F
→
07/23 12:45, , 7F
07/23 12:45, 7F
推
07/26 19:12, , 8F
07/26 19:12, 8F
→
07/26 19:12, , 9F
07/26 19:12, 9F
推
07/26 21:51, , 10F
07/26 21:51, 10F
→
07/26 21:52, , 11F
07/26 21:52, 11F
→
07/26 23:37, , 12F
07/26 23:37, 12F
→
07/26 23:37, , 13F
07/26 23:37, 13F
→
07/26 23:38, , 14F
07/26 23:38, 14F