Tính toán xác định trong khi giải


11

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?Ax=bAA


Tại sao bạn muốn tính toán xác định? Một kết quả như vậy chắc chắn sẽ là một dòng chảy hoặc một dòng chảy cho một ma trận lớn. Tôi sẽ từ thiện hơn nếu bạn yêu cầu tính số điều kiện, nhưng đừng lãng phí thời gian của bạn vào yếu tố quyết định!

Có thể bạn đã biết điều đó, nhưng các giá trị Ritz trong quá trình gradient liên hợp hội tụ đến các giá trị riêng của ma trận và bạn có thể rút ra các ước tính đơn giản cho định thức từ điều này.
shuhalo

Câu trả lời:


10

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 đó An × 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.nAn×nA

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ó.A=LLHL

det(A)=det(L)det(LH)=|det(L)|2,
det(L)L

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 ) . P là ma trận hoán vị, nên det ( P ) = ± 1 và, bằng cách xây dựng, LPA=LUP

det(A)=det(P1)det(L)det(U).
Pdet(P)=±1Lthông thường sẽ có một đường chéo của tất cả những cái, ngụ ý rằng . Do đó, bạn có thể tính det ( A )± det ( U ) và một lần nữa nhận ra rằng định thức của ma trận tam giác chỉ đơn giản là sản phẩm của các mục chéo của nó. Do đó, chi phí tính toán của yếu tố quyết định thực chất chỉ là chi phí của một yếu tố.det(L)=1det(A)±det(U)

A106x106

@ManuelSchmidt Ma trận thưa thớt có kích thước đó do sự phân biệt loại phần tử hữu hạn thường có thể dễ dàng được thực hiện bằng (ví dụ) các phương thức nhiều mặt. Tôi đồng ý rằng nên sử dụng hệ số Cholesky nếu ma trận của bạn là HPD (và việc khái quát hóa đối số trên của tôi là rõ ràng).
Jack Poulson

Cảm ơn bạn đã trả lời nhanh chóng và trả lời. Thật không may, ma trận không có cấu trúc điểm (điều này sẽ cho phép một yếu tố dễ dàng).
Manuel Schmidt

2
Tôi tò mò về lý do tại sao bạn cần tính toán xác định của ma trận. Là giá trị riêng cao nhất và thấp nhất không đủ?
Jack Poulson

Nó là một phần của hàm phân phối xác suất phức tạp và không chỉ là hằng số chuẩn hóa. Tôi biết các bản phân phối có thể là nhân tố (và đó là những gì chúng tôi đang làm vào lúc này) tuy nhiên chúng tôi có hàng tấn dữ liệu để mô hình hóa và mỗi yếu tố trở nên rất lớn.
Manuel Schmidt

6

ABdimAdimBdimB=

BABABdetAdetBAB

detA=j=1dimAλi(A)j=1dimAλi(B)j=dimA+1dimBλi(B)
BAdimB=detAdetB

Nó chỉ ra rằng có một số thuật toán thực sự đẹp và thực tế của chúng tôi liên quan đến việc tính toán các yếu tố quyết định khá lớn. Kiểm tra www-m3.ma.tum.de/foswiki/pub/M3/ ALLgemeines / Tiết
Matt Knepley

2

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ó.

AA

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.


2

det(A)=i=1nαk1,
αk=rkTrkpkTApkrk0k=1,,nRrkPpk
pk=rk+i=1k1γiri.
det(P)=(1)ndet(R)rkpkA
k=1nαk=k=1nrkTrkpkTApk=det(RTR)det(PTAP)=det(RTR)det(A)det(PTP)=(det(A))1.
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.