Pertanyaan Anda agak seperti menanyakan obeng mana yang akan dipilih tergantung pada drive (slot, Phillips, Torx, ...): Selain ada terlalu banyak , pilihan juga tergantung pada apakah Anda ingin hanya mengencangkan satu sekrup atau merakit sebuah seluruh set rak perpustakaan. Namun demikian, dalam jawaban parsial untuk pertanyaan Anda, berikut adalah beberapa masalah yang harus Anda ingat ketika memilih metode untuk menyelesaikan sistem linear . Saya juga akan membatasi diri saya pada matriks yang dapat dibalik; kasus-kasus sistem yang kelebihan atau tidak ditentukan adalah masalah yang berbeda dan harus benar-benar menjadi pertanyaan yang terpisah.A x = b
Seperti yang Anda catat dengan benar, opsi 1 dan 2 benar: Menghitung dan menerapkan matriks terbalik adalah ide yang sangat buruk, karena jauh lebih mahal dan sering kurang stabil secara numerik daripada menerapkan salah satu algoritma lainnya. Itu membuat Anda memiliki pilihan antara metode langsung dan berulang. Hal pertama yang perlu dipertimbangkan bukanlah matriks , tetapi apa yang Anda harapkan dari solusi numerik ˜ x :SEBUAHx~
- Seberapa akurat seharusnya? Apakah harus menyelesaikan sistem hingga presisi mesin, atau apakah Anda puas dengan ˜ x memuaskan (katakanlah) ‖ ˜ x - x ∗ ‖ < 10 - 3 , di mana x ∗ adalah solusi yang tepat?x~x~∥ x~- x∗∥ < 10- 3x∗
- Seberapa cepat Anda membutuhkannya? Satu-satunya metrik yang relevan di sini adalah waktu jam di komputer Anda - metode yang menskala dengan sempurna pada sekelompok besar mungkin bukan pilihan terbaik jika Anda tidak memilikinya, tetapi Anda memiliki salah satu kartu Tesla baru yang mengkilap.
Karena tidak ada makan siang gratis, Anda biasanya harus memutuskan pertukaran antara keduanya. Setelah itu, Anda mulai melihat matriks (dan perangkat keras Anda) untuk memutuskan metode yang baik (atau lebih tepatnya, metode yang Anda bisa temukan implementasi yang baik). (Perhatikan bagaimana saya menghindari menulis "terbaik" di sini ...) Properti paling relevan di sini adalahSEBUAH
- The Struktur : Is simetris? Apakah padat atau jarang? Terikat?SEBUAH
- Nilai eigen : Apakah semuanya positif (yaitu, apakah pasti positif)? Apakah mereka terkelompok? Apakah beberapa dari mereka memiliki ukuran yang sangat kecil atau sangat besar?SEBUAH
Dengan pemikiran ini, Anda kemudian harus menjelajah literatur (besar) dan mengevaluasi berbagai metode yang Anda temukan untuk masalah spesifik Anda. Berikut adalah beberapa pernyataan umum:
1000O ( n2)O ( n3)SEBUAH
Ini juga berlaku untuk matriks sparse (besar) jika Anda tidak mengalami masalah memori: Matriks jarang pada umumnya tidak memiliki dekomposisi LU yang jarang, dan jika faktor-faktor tidak sesuai dengan memori (cepat), metode ini menjadi tidak dapat digunakan.
SEBUAH
SEBUAHSEBUAH
Jika Anda berulang kali harus menyelesaikan sistem linear dengan matriks yang sama dan sisi kanan yang berbeda, metode langsung masih bisa lebih cepat daripada metode berulang karena Anda hanya perlu menghitung dekomposisi sekali. (Ini mengasumsikan solusi berurutan; jika Anda memiliki semua sisi kanan pada saat yang sama, Anda dapat menggunakan metode blok Krylov.)
Tentu saja, ini hanyalah pedoman yang sangat kasar: Untuk setiap pernyataan di atas, kemungkinan ada matriks yang sebaliknya benar ...
Karena Anda meminta referensi dalam komentar, berikut adalah beberapa buku teks dan makalah ulasan untuk Anda mulai. (Tidak satu pun dari ini - maupun set - yang komprehensif; pertanyaan ini terlalu luas, dan terlalu tergantung pada masalah khusus Anda.)