Tôi giải quyết cho một thưa thớt tích cực nhất định ma trận khổng lồ Một sử dụng gradient liên hợp phương pháp (CG). Có thể tính toán định thức của A bằng cách sử dụng thông tin được tạo ra trong quá trình giải?
Tôi giải quyết cho một thưa thớt tích cực nhất định ma trận khổng lồ Một sử dụng gradient liên hợp phương pháp (CG). Có thể tính toán định thức của A bằng cách sử dụng thông tin được tạo ra trong quá trình giải?
Câu trả lời:
Việc tính toán yếu tố quyết định của một ma trận thưa thớt thường tốn kém như một giải pháp trực tiếp, và tôi nghi ngờ rằng CG sẽ giúp ích rất nhiều cho việc tính toán nó. Có thể chạy CG cho các lần lặp (trong đó A là n × n ) để tạo thông tin cho toàn bộ phổ của A , và sau đó tính toán định thức là sản phẩm của các giá trị riêng, nhưng điều này sẽ chậm và số lượng không ổn định.
Sẽ là một ý tưởng tốt hơn để tính toán hệ số Cholesky trực tiếp thưa thớt của ma trận của bạn, giả sử , trong đó L là tam giác thấp hơn. Sau đó det ( A ) = det ( L ) det ( L H ) = | phát hiện ( L ) | 2 , trong đó det ( L ) đơn giản là sản phẩm của các mục chéo của ma trận tam giác dưới L do các giá trị riêng của ma trận tam giác nằm dọc theo đường chéo của nó.
Trong trường hợp của một ma trận không ít Nói chung, một phân tích lu xoay nên được sử dụng, nói , nơi P là một ma trận hoán vị, do đó det ( A ) = det ( P - 1 ) ⋅ det ( L ) ⋅ det ( U ) . Vì P là ma trận hoán vị, nên det ( P ) = ± 1 và, bằng cách xây dựng, L
Không hiểu (một lần nữa) lý do tại sao và làm thế nào các yếu tố quyết định là xấu, hãy giả sử rằng toán tử của bạn không dễ dàng thực hiện hoặc đơn giản là không có sẵn như một ma trận và bạn thực sự cần phải ước tính định thức của nó.
Bạn có thể có thể thiết kế ngược lại cách ước tính của yếu tố quyết định này xuất hiện trong việc triển khai tiêu chuẩn CG bằng cách tuân thủ chặt chẽ Mục 6.7.3 của cuốn sách.