我需要一個庫來解決Ax = b系統,其中A是一個非對稱稀疏矩陣,每行8個入口(它可能相當大)。我認爲一個實現雙漸變漸變的庫應該沒問題,但是我找不到一個可以工作的庫(我試過iml ++,但是在iml ++/sparselib ++包中缺少一些頭文件)。有小費嗎?稀疏矩陣超定線性方程組c/C++庫
3
A
回答
3
有治療超定系統的標準方法。例如Wikipedia這樣說:
一組線性聯立方程式可以用矩陣形式寫成Ax = y。如果有更多的方程而不是變量,系統稱爲超定,並且(通常)沒有解決方案。系統可以改爲(A T A)x = A T y。新系統具有與變量一樣多的方程(矩陣A T A是一個方陣),並且可以用通常的方法解決。該解是原始超定系統的最小二乘解,最小化歐幾里德範數|| Ax-y ||,這是衡量原始系統中雙方之間差異的度量。
因此,您可以使用任何標準方形矩陣稀疏求解器。
我個人使用Tim Davis的CSparse的直接求解器。蒂姆已經寫了一些優秀的直接稀疏求解器。事實上,他的UMFPACK是另一個很好的選擇,例如,MATLAB使用它。請注意,這兩個求解器都提供C接口。如果你正在尋找一些本地C++接口,那麼我沒有什麼可以提供的。
我有一些迭代求解器的經驗。但是,我發現對於我所看到的問題,迭代方法對於大型矩陣變得不穩定。直接求解器使我獲得了更多的成功。當然,根據你問題產生的矩陣類型,你可以有相反的經驗是完全合理的。
0
0
對David Heffernan的回答:不要忘記一件重要的事情:必須檢查/證明矩陣A具有線性獨立的列,否則可能發生(A^TA)單數(然後它不起作用,課程)。
相關問題
- 1. 確定稀疏矩陣的稀疏性(Lil矩陣)
- 2. 稀疏三元組稀疏矩陣matlab
- 3. 稀疏矩陣的多線程程序
- 4. 稀疏矩陣
- 5. OpenACC - 稀疏矩陣庫
- 6. 組合矩陣和稀疏矩陣
- 7. 求解線性迴歸方程爲稀疏矩陣
- 8. 稀疏矩陣和矩陣
- 9. 以稀疏矩陣
- 10. 50Kx50K稀疏矩陣
- 11. 稀疏矩陣上的唯一性
- 12. R矩陣包:Demean稀疏矩陣
- 13. python稀疏矩陣的矩陣功率
- 14. 稀疏矩陣 - 矩陣乘法
- 15. 稀疏矩陣子集密集矩陣
- 16. 98%稀疏矩陣的矩陣完成
- 17. 需要一個稀疏矩陣庫
- 18. 用於Ruby的稀疏矩陣庫
- 19. UMFPACK和BOOST的uBLAS庫稀疏矩陣
- 20. 轉換SciPy的稀疏矩陣元組
- 21. matlab中的稀疏矩陣數組
- 22. 連續稀疏矩陣Eigen
- 23. 反相稀疏矩陣
- 24. 稀疏矩陣內存
- 25. 切片稀疏(scipy)矩陣
- 26. scipy稀疏矩陣分裂
- 27. 點產品稀疏矩陣
- 28. java稀疏矩陣問題
- 29. 稀疏矩陣命令
- 30. 朱莉婭稀疏矩陣
你看過http://www.boost.org/doc/libs/1_47_0/libs/numeric/ublas/doc/index.htm嗎? – andand
是的,但我認爲ublas只是一個模板庫,我看不到任何迭代方法來解決稀疏系統,我錯了嗎? – tuccio
有一個稀疏矩陣類。我沒有詳細查看是否有解決方案,但你可能想看看http://www.boost.org/doc/libs/1_47_0/libs/numeric/ublas/doc /matrix_sparse.htm來查看是否有內容可以使用。 – andand