Có gói nào để thực hiện tính toán đại số tuyến tính thưa thớt, có thể dựa trên các thư viện C nhanh và hiệu quả không? Tôi đã tìm kiếm trên Hackage nhưng tôi không tìm thấy bất cứ điều gì liên quan: hmatrix, sử dụng GSL, BLAS và LAPACK, là tuyệt vời, nhưng dường như không bao gồm các thuật toán đặc biệt để giải các hệ thống tuyến tính và các giá trị eigen/vectơ với ma trận thưa thớt . Những gì tôi muốn tìm, nó là một cái gì đó tương tự như mô-đun sparse.linalg trong scipy. Cảm ơn!Bất kỳ gói đại số tuyến tính thưa thớt nào trong Haskell?
Trả lời
Theo như tôi biết, chưa có gói nào như vậy.
Có một bài báo R. L. Winwright và M. E. Sexton. Một nghiên cứu về biểu diễn ma trận thưa thớt để giải các hệ thống tuyến tính bằng một ngôn ngữ chức năng. J. Lập trình chức năng, 2 (1): 61-72, tháng 1 năm 1992., trong đó chúng so sánh cây 4 chiều, cây nhị phân và mã hóa biểu diễn ma trận thưa thớt độ dài chạy trong Miranda. Quad-tree là superiour trên phương thức CG, và mã hóa độ dài chạy tốt với SOR.
Đã có triển khai FEM trong Haskell vào năm 1993, Some issues in a functional implementation of a finite element algorithm. Họ cũng sử dụng quad-tree. Hiệu suất đạt được không phải là sao, nhưng đã lâu lắm rồi ... Tôi mong rằng hôm nay Haskell có thể hoạt động tốt hơn. Ngoài ra còn có các thư viện mảng mới để sử dụng, có thể cho các biểu diễn tốt hơn về các ma trận thưa thớt. Hôm nay, chúng tôi có IntMap
, Vector
và thậm chí Repa
.
Một thư viện các bộ giải quyết thưa thớt trong Haskell (hoặc các liên kết tới bộ giải mã C/Fortran) vẫn được viết.
scipy.sparse dường như trang trại rất nhiều nâng hạng nặng lên superLU, cần phải thẳng thắn để ràng buộc: http://crd.lbl.gov/~xiaoye/SuperLU/, nhưng vẫn cần mã để tạo ra các biểu diễn ma trận thưa thớt để bắt đầu. – sclv
Có. Ngoài ra còn có thư viện UMFPACK của các giải pháp trực tiếp http://www.cise.ufl.edu/research/sparse/umfpack/. Nó shouln't được quá khó khăn để giao tiếp với một trong hai người trong số họ. Và cũng có những giải pháp lặp lại thường đòi hỏi ít bộ nhớ hơn để chạy. Chúng tôi có thể chọn giao tiếp với các thư viện hiện có hoặc triển khai chúng từ đầu. Tôi không chắc chắn cái nào có thể quay nhanh hơn. Một lần nữa, có TAUCS http://www.tau.ac.il/~stoledo/taucs/ và LASPACK http://www.mgnet.org/mgnet/Codes/laspack/ (chỉ tuần tự) và PETSc http: // www.mcs.anl.gov/petsc/petsc-2/ (rất lớn). – sastanin
SciPy.Sparse sử dụng triển khai Fortran của các phương pháp lặp lại từ http://www.netlib.org/templates/ – sastanin
- 1. Mảng thưa thớt trong Haskell?
- 2. Thư viện đại số tuyến tính hữu hạn cho Haskell
- 3. Scarse thưa thớt ... mảng?
- 4. Đại số tuyến tính nào để sử dụng cho OpenGL trong Haskell?
- 5. Mongodb chỉ số thưa thớt độc đáo
- 6. Hầu hết gói ma trận thưa thớt trưởng thành cho R?
- 7. Sản phẩm thưa thớt trong SQL
- 8. Thanh toán thưa thớt trong Git 1.7.0?
- 9. Hỗ trợ mảng thưa thớt trong HDF5
- 10. R: chuyển đổi ma trận thưa thớt
- 11. Javascript lặp qua mảng thưa thớt
- 12. Thực hiện các mảng cực thưa thớt
- 13. Giải pháp đại số tuyến tính của Boost cho y = Axe
- 14. Kiểm tra thưa thớt và svn: externals
- 15. Trình bày các tập số nguyên thưa thớt?
- 16. Làm cách nào để tính phương sai của cột của ma trận thưa thớt trong Scipy?
- 17. Kết hợp hình ảnh thưa thớt trong iOS
- 18. tối thiểu của ma trận thưa thớt?
- 19. octrees thưa thớt voxel là gì?
- 20. Sử dụng ma trận thưa thớt/học trực tuyến tại Naive Bayes (Python, scikit)
- 21. chỉ mục thưa thớt và giá trị null trong mongo
- 22. điều hành quá tải [] cho một vector thưa thớt
- 23. Thư viện đại số tuyến tính cho Scala?
- 24. Bất kỳ cuộc thi hoặc vấn đề trực tuyến nào của Haskell?
- 25. Thư viện Fortran 90/95 cho ma trận thưa thớt?
- 26. triển khai thưa thớt của tính toán khoảng cách trong python/scikit-học
- 27. Java thực hiện phân tách giá trị số ít cho các ma trận thưa thớt lớn
- 28. Sử dụng tập tin thưa thớt trong python
- 29. csv vào ma trận thưa thớt trong python
- 30. Giải mã thưa thớt đối tượng json để php mảng
ai đó trong thư trả lời đã chỉ ra điều này, trông ổn và tôi không biết tại sao trả lời của họ bị xóa https://github.com/laughedelic/sparse-lin-alg – sclv