[問題] 科學計算函式庫GSL中eigen問題請教

看板C_and_CPP作者 (prof)時間8年前發表 (2017/07/22 08:35), 8年前編輯推噓5(509)
留言14則, 8人參與, 最新討論串1/1
開發平台(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
Real Nonsymmetric Matrices ?
07/22 16:50, 1F

07/22 18:05, , 2F
很不幸的我的矩陣是complex...
07/22 18:05, 2F
※ 編輯: profyang (114.37.178.25), 07/22/2017 18:22:25

07/22 18:48, , 3F
直接用 python 吧,計算模組就是仿 matlab 的.
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
解 eigen value 當然要用 EIGEN 啊(誤
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
用python吧 一堆用gpu最佳化的函式庫都有人幫你包好
07/23 08:55, 6F

07/23 12:45, , 7F
推個python C語言是拿來寫別的語言的編譯器用的(誤
07/23 12:45, 7F

07/26 19:12, , 8F
C++封裝blas和lpack的函式庫Armadillo也可試試,很好上手
07/26 19:12, 8F

07/26 19:12, , 9F

07/26 21:51, , 10F
先用 Python 或 MATLAB 試模型會比較簡單
07/26 21:51, 10F

07/26 21:52, , 11F
忘記原 po 先前就是用 MATLAB,歹勢,請忽略小弟留言
07/26 21:52, 11F

07/26 23:37, , 12F
intel那個被告翻了 現在不敢再這樣搞了
07/26 23:37, 12F

07/26 23:37, , 13F
而且主要影響是TBL比較多 而非MKL
07/26 23:37, 13F

07/26 23:38, , 14F
抱歉 是TBB XD 不是TBL
07/26 23:38, 14F
文章代碼(AID): #1PSmvjwZ (C_and_CPP)