Làm thế nào để chuyển đổi một Eigen::Matrix<double,Dynamic,Dynamic>
thành Eigen::SparseMatrix<double>
? Tôi đang tìm kiếm một cách tốt hơn thay vì lặp qua ma trận dày đặcEigen chuyển đổi ma trận dày đặc thành thưa thớt một
Trả lời
bạn có thể sử dụng phương pháp sparseView() cho rằng:
sparse = dense.sparseView();
và thậm chí xác định một sự khoan dung:
sparse = dense.sparseView(epsilon,reference);
Bạn có kiểm soát việc tạo ma trận dày đặc không?
Nếu bạn không có thì không có cách nào để thực hiện việc này mà không cần đọc từng phần tử ma trận để xem nó có trống không.
Nếu bạn tự tạo ma trận dày đặc, bạn có thể tạo cấu trúc dữ liệu để giúp chuyển đổi cấu trúc thành thưa thớt khi cần. Bạn có thể ví dụ lưu trữ với mỗi hàng ma trận số lượng các phần tử không null trong hàng đó. Sau đó, bạn có thể bỏ qua các hàng có 0 phần tử không null và bạn có thể ngừng chuyển đổi bất kỳ hàng nào khi bạn đã thấy nhiều phần tử không null như số đếm cho bạn biết.
Dữ liệu bổ sung nào bạn lưu trữ sẽ phụ thuộc vào loại ma trận thưa thớt mà bạn mong đợi. Một mẫu ma trận thưa thớt phổ biến là các submatric dày đặc nổi trong ma trận thưa thớt. Bạn có thể nontate những khu vực dày đặc khi bạn tạo ra các ma trận dày đặc. Ví dụ. không lưu trữ một phần tử đếm cho mỗi hàng, mà đúng hơn là giữ một danh sách các vùng hình chữ nhật không rỗng tại một số giá trị x, y nhất định.
- 1. R: chuyển đổi ma trận thưa thớt
- 2. tối thiểu của ma trận thưa thớt?
- 3. Thư viện Fortran 90/95 cho ma trận thưa thớt?
- 4. Tạo ma trận đường chéo thưa từ hàng của ma trận thưa thớt
- 5. Clustering - Vector thưa thớt và Vector dày đặc
- 6. Hoạt động ma trận thưa thớt trên CUDA
- 7. Sử dụng pytables, hiệu quả hơn: ma trận scipy.sparse hoặc dày đặc dày đặc?
- 8. Cách chuyển numpy.matrix hoặc mảng thành ma trận thưa thớt scipy
- 9. Hầu hết gói ma trận thưa thớt trưởng thành cho R?
- 10. Đảo ngược ma trận thưa thớt lớn với scipy
- 11. csv vào ma trận thưa thớt trong python
- 12. Thư viện ma trận thưa thớt cho Ruby
- 13. Scarse thưa thớt ... mảng?
- 14. cách hiệu quả để tạo ra một ma trận thưa thớt chéo
- 15. ma trận xoay trong Eigen
- 16. Làm thế nào để Matlab transpose một ma trận thưa thớt?
- 17. Hiệu quả tích lũy một tập hợp các ma trận scipy thưa thớt
- 18. dễ dàng lấy mẫu của vectơ từ một ma trận thưa thớt, và tạo ra một ma trận mới từ mẫu (python)
- 19. Sự khác biệt giữa lưu lượng quang học thưa thớt và dày đặc?
- 20. Cách hiệu quả để chuẩn hóa một Ma trận thưa thớt Scipy
- 21. k-có nghĩa là phân cụm trong R trên ma trận rất lớn, thưa thớt?
- 22. Hình chữ nhật tối đa tổng trong một ma trận thưa thớt
- 23. Chuyển đổi vectơ thành ma trận logic?
- 24. Mảng con trỏ đến ma trận Eigen
- 25. Thêm giá trị vào ma trận thưa thớt Scipy với chỉ mục và giá trị
- 26. Cách tốt nhất để lưu trữ ma trận thưa thớt trong .NET
- 27. Sử dụng ma trận thưa thớt/học trực tuyến tại Naive Bayes (Python, scikit)
- 28. Làm thế nào để nhân một ma trận scipy.sparse một cách yếu tố bằng một mảng dày đặc 1d được phát sóng?
- 29. Chuyển đổi ma trận số thành một data.table (hoặc data.frame)
- 30. Chuyển đổi ma trận MATLAB thành một véc tơ
Hãy để tôi hiểu điều này. Bạn muốn chuyển đổi một ma trận dày đặc thành một ma trận thưa thớt mà không kiểm tra, các mục nào là số không và cần được loại bỏ và các mục nhập nào bạn muốn giữ lại? Làm thế nào để bạn nghĩ rằng điều này có thể làm việc? Bạn chắc chắn nên làm việc với câu hỏi đó - nó rất không rõ ràng. – angainor
Không kiểm tra các phần tử theo cách thủ công. Tôi đang tìm một phương thức hoặc một hàm hoặc một thư viện để làm điều này. Nhưng từ những gì tôi đọc ở đây tôi nghĩ rằng điều đó là không thể – tyranitar