Diberikan matriks simetris pasti positif, apa algoritma tercepat untuk menghitung matriks terbalik dan determinannya? Untuk masalah yang saya tertarik, dimensi matriks adalah 30 atau kurang.
- Akurasi dan kecepatan tinggi sangat diperlukan. (jutaan matriks dilakukan)
- Penentu diperlukan. Dalam setiap perhitungan, hanya satu elemen dari matriks iverse yang diperlukan. Terima kasih!
algorithms
matrix
Pesanan
sumber
sumber
Jawaban:
Sebagai catatan WolfgangBangerth, kecuali jika Anda memiliki sejumlah besar matriks ini (jutaan, miliaran), kinerja inversi matriks biasanya tidak menjadi masalah.
Jika kecepatan adalah masalah, Anda harus menjawab pertanyaan-pertanyaan berikut:
Dengan asumsi adalah oleh , dekomposisi Cholesky dapat dihitung di sekitar jepit, yaitu sekitar setengah biaya dekomposisi LU. Namun, algoritma seperti itu tidak akan dianggap "cepat". Sebuah acak dekomposisi LUSEBUAH n n n3/ 3 mungkin algoritma yang lebih cepat layak dipertimbangkan jika (1) Anda benar-benar harus memfaktorkan sejumlah besar matriks, (2) faktorisasi adalah benar-benar langkah pembatas dalam aplikasi Anda, dan (3) setiap kesalahan yang terjadi dalam menggunakan algoritma acak adalah dapat diterima. Matriks Anda mungkin terlalu kecil untuk algoritma jarang menjadi berharga, sehingga satu-satunya peluang untuk algoritma yang lebih cepat akan memerlukan struktur matriks tambahan (mis., Berpita), atau mengeksploitasi struktur masalah (mis., Mungkin Anda dapat dengan cerdik menata ulang algoritma Anda sehingga Anda tidak perlu lagi menghitung invers matriks atau determinannya). Algoritma determinan yang efisien kira-kira merupakan biaya penyelesaian sistem linear, hingga dalam faktor konstan, sehingga argumen yang sama yang digunakan untuk sistem linear juga berlaku untuk menghitung determinan.
sumber