làma trận thưa thớt xác định đối xứng dương tính (SPD) n × n . G là một ma trận đường chéo thưa thớt. n lớn ( n > 10000) và số lượng khác không trong G thường là 100 ~ 1000.
đã được factorized theo hình thức Cholesky như L D L T .
Làm cách nào để cập nhật và D hiệu quả khi A trở thành A + G ?
G chỉ có yếu tố tích cực? Nếu vậy, đây là một giới hạn trên tầm thường: xem cập nhật đường chéo là tổng của các cập nhật xếp hạng một. Có tồn tại các phương thức O (n ^ 2) để tính hệ số LDL ^ t của bản cập nhật cấp một (tìm kiếm google cung cấp các ví dụ). Sau đó, cập nhật đường chéo của bạn sẽ chạy trong O (rn ^ 2) trong đó r là số phần tử đường chéo khác không của G. Với tính chất cụ thể của các cập nhật này, có các phím tắt để lưu một số tính toán, nhưng không rõ liệu có thể giảm thứ tự dưới O (rn ^ 2).
Tôi đồng ý - Tôi không tin có bất kỳ cách nào để thực hiện cập nhật đường chéo cho hệ số nhân Cholesky nhanh hơn là chỉ lặp lại hệ số hóa, nhưng có thể thực hiện cập nhật một lần trong và bạn chỉ phải thực hiện một lần cho mỗi lần nonzero trên đường chéo của G .
—
Brian Borchers
Đối với và n n z ( G ) trong hàng trăm, nó sẽ được khó khăn để đánh bại refactoring Một . Nếu kích thước của A trở nên lớn hơn nhiều và G rất thưa thớt, nó có thể trả hết. Trong mọi trường hợp, các cập nhật và xấp xỉ có thể được bao phủ theo chiều sâu bởi các đường chéo cộng với các hệ tuyến tính đối xứng cố định có thể được giải quyết trong thời gian bậc hai sau khi tính toán trước không? .
—
Jed Brown
Jed, tôi nghĩ bạn nên quảng bá bình luận của mình để trả lời ở đây.
—
Michael Grant