2012-02-06 66 views
0

我有一個密集的Ax = b類型方程組來解決我的C++程序,並且我希望在boost中使用UBLAS實現解決方案。在其他一些問題中,我發現人們使用擴展LAPACK,但不幸的是,它似乎不是我的標準增強安裝的一部分(至少在Debian中),我不允許添加更多的依賴關係。解決(密集)線性系統Ax = b使用boost

有人可以粘貼不使用LAPACK或任何其他庫的解決方案嗎?

+1

如果你不是被迫使用uBlas,那麼看一下http://eigen.tuxfamily.org/index.php?title=Main_Page – Anonymous 2012-03-30 09:06:32

回答

3

不幸的是,你正在解決一個線性系統,要麼需要LAPACK,要麼編寫自己的代碼。如果你不想LAPACK,你唯一的選擇是編寫自己的求解器。這樣的求解器當然可以使用uBLAS。

如果您需要執行此操作的代碼,您可以查看numerical recipes的示例。但是,解決密集的線性系統是一個非常豐富的主題,所以它可能超出瞭解決它的所有方面的範圍。

+0

我其次。從頭開始編寫一個能正常工作的求解器是件費時的事情。堅持使用LAPACK是最好的選擇,或者使用包裝LAPACK的C++庫(例如[Armadillo](http://arma.sourceforge.net))。 – mtall 2012-12-18 09:48:24