Ví dụ, các thư viện ma trận thưa thớt C ++ mà tôi đã sử dụng - Eigen và SuiteSparse, chúng dường như không có bất kỳ chức năng SVD nào cho ma trận thưa thớt. Vì vậy, chỉ tò mò, là SVD khó khăn hơn so với QR / LU cho ma trận thưa thớt?
Ví dụ, các thư viện ma trận thưa thớt C ++ mà tôi đã sử dụng - Eigen và SuiteSparse, chúng dường như không có bất kỳ chức năng SVD nào cho ma trận thưa thớt. Vì vậy, chỉ tò mò, là SVD khó khăn hơn so với QR / LU cho ma trận thưa thớt?
Câu trả lời:
Các yếu tố LU của một ma trận thưa thớt ít nhất là hơi thưa thớt. Các ma trận trong QR cũng có thể phần nào giữ gìn thưa thớt, và thường được sử dụng khi các ma trận là rất dài và gầy. SVD của một ma trận thưa thớt hầu như sẽ luôn có các yếu tố U và V dày đặc , do đó, nó phá hủy mọi lý do để thực hiện các tính toán xử lý ma trận một cách thưa thớt.