Untuk masalah yang saya tertarik, dimensi matriks adalah 30 atau kurang.
Sebagai catatan WolfgangBangerth, kecuali jika Anda memiliki sejumlah besar matriks ini (jutaan, miliaran), kinerja inversi matriks biasanya tidak menjadi masalah.
Diberikan matriks simetris pasti positif, apa algoritma tercepat untuk menghitung matriks terbalik dan determinannya?
Jika kecepatan adalah masalah, Anda harus menjawab pertanyaan-pertanyaan berikut:
- Apakah Anda benar-benar membutuhkan keseluruhan terbalik? (Banyak aplikasi tidak perlu membentuk invers eksplisit.)
- Apakah Anda benar-benar membutuhkan determinan? (Faktor-faktor penentu tidak umum, tetapi tentu saja tidak pernah terdengar dalam ilmu komputasi.)
- Apakah Anda perlu keakuratan tinggi? (Algoritma akurasi rendah cenderung lebih cepat.)
- Apakah perkiraan probabilistik sudah mencukupi? (Algoritma probabilitas cenderung lebih cepat.)
A = L LTdet ( A ) = ∏ni = 1l2i idet ( A- 1) = ∏ni = 1l- 2i i
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 LUSEBUAHnnn3/ 3mungkin 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.