Aljabar linier numerik dikembangkan oleh para pelopor komputer seperti John von Neumann, Alan Turing, James H. Wilkinson, Alston Scott Householder, George Forsythe, dan Heinz Rutishauser, dalam rangka untuk menerapkan komputer paling awal untuk masalah dalam matematika berkelanjutan, seperti masalah balistik dan solusi untuk sistem persamaan diferensial parsial.[2] Upaya serius pertama untuk meminimalkan kesalahan komputer dalam penerapan algoritme pada data nyata adalah karya John von Neumann dan Herman Goldstine pada tahun 1947.[3] Bidang ini telah berkembang karena teknologi semakin memungkinkan para peneliti untuk memecahkan masalah kompleks pada matriks presisi tinggi yang sangat besar, dan beberapa algoritme numerik menjadi terkenal karena teknologi seperti komputasi paralel telah menjadikannya pendekatan praktis untuk masalah ilmiah.[2]
Biarkan masalah adalah fungsi , di mana X adalah ruang vektor data bernorma dan Y adalah ruang vektor bernorma solusi. Untuk beberapa titik data , masalah dikatakan tidak terkondisi jika gangguan kecil di x menghasilkan perubahan besar dalam nilai f(x) . Kita dapat mengukur ini dengan mendefinisikan jumlah kondisi yang mewakili seberapa baik masalah dikondisikan, didefinisikan sebagai
Ketidakstabilan adalah kecenderungan algoritma komputer, yang bergantung pada aritmatika floating-point, untuk menghasilkan hasil yang berbeda secara dramatis dari solusi matematika yang tepat untuk suatu masalah. Ketika matriks berisi data nyata dengan banyak digit signifikan, banyak algoritma untuk memecahkan masalah seperti sistem persamaan linier atau pengoptimalan kuadrat terkecil dapat menghasilkan hasil yang sangat tidak akurat. Membuat algoritme yang stabil untuk masalah kondisi buruk merupakan perhatian utama dalam aljabar linear numerik. Salah satu contohnya adalah stabilitas triangularisasi perumah tangga membuatnya sangat merampok, sedangkan ketidakstabilan metode persamaan normal untuk menyelesaikan masalah kuadrat terkecil adalah alasan untuk mendukung metode dekomposisi matriks seperti menggunakan dekomposisi nilai singular. Beberapa matriks tetapi memiliki modifikasi langsung yang membuatnya stabil; salah satu contohnya adalah Gram–Schmidt yang tidak stabil, yang dapat dengan mudah diubah untuk menghasilkan stabilitas numerik.[4]:140 Masalah klasik lainnya dalam aljabar linear numerik adalah temuan bahwa eliminasi Gaussian tidak stabil, tetapi menjadi stabil dengan diperkenalkannya pivoting.
Ada dua alasan bahwa algoritme iteratif merupakan bagian penting dari aljabar linear numerik. Pertama, banyak masalah numerik penting yang tidak memiliki solusi langsung; untuk menemukan nilai eigen dan vektor eigen dari matriks sembarang, kita hanya dapat mengadopsi pendekatan iteratif. Kedua, algoritma noniteratif untuk sembarang matriks membutuhkan waktu, yang merupakan lantai yang sangat tinggi karena hanya berisi matriks nomor. Pendekatan berulang dapat memanfaatkan beberapa fitur dari beberapa matriks untuk mengurangi waktu ini. Misalnya, jika matriks adalah rengga, algoritme iteratif dapat melewati banyak langkah yang harus diikuti oleh pendekatan langsung, bahkan jika langkah-langkah tersebut berlebihan karena matriks yang sangat terstruktur.
Inti dari banyak metode iteratif dalam aljabar linear numerik adalah proyeksi matriks ke dimensi yang lebih rendah Subruang Krylov, yang memungkinkan fitur matriks berdimensi tinggi didekati dengan menghitung secara iteratif fitur ekuivalen dari matriks serupa yang dimulai dari ruang berdimensi rendah dan berpindah secara berurutan. Ketika A simetris dan kita ingin menyelesaikan masalah linear Ax = b , pendekatan iteratif klasiknya adalah metode gradien konjugasi. Jika A tidak simetris, maka contoh solusi iteratif untuk masalah linier adalah metode residual minimal tergeneralisasi dan konjugasi gradien pada normal e. Jika A simetris, maka untuk menyelesaikan soal nilai eigen dan vektor eigen kita bisa menggunakan Algoritma Lanczos, dan jika A non-simetris, maka kita bisa menggunakan iterasi Arnoldi.
Untuk banyak masalah dalam aljabar linier terapan, akan berguna untuk mengadopsi perspektif matriks sebagai rangkaian vektor kolom. Misalnya, saat menyelesaikan sistem linear , daripada memahami x sebagai produk dari dengan b , akan membantu jika menganggap x sebagai vektor koefisien pada ekspansi linier b dalam basis yang dibentuk oleh kolom A .[4]:8 Memikirkan matriks sebagai rangkaian kolom juga merupakan pendekatan praktis untuk tujuan algoritma matriks. Ini karena algoritme matriks sering kali berisi dua loop bersarang: satu di atas kolom matriks A , dan satu lagi di atas baris A . Misalnya untuk matriks dan vektor and , kita bisa menggunakan perspektif partisi kolom untuk menghitung Ax + y sebagai
forj=1:nfori=1:my(i)=A(i,j)x(j)+y(i)endend
Lihat pula
Analisis numerik, di mana aljabar linear numerik adalah salah satu bidang kekhususannya
Eliminasi gauss, algoritme penting di dalam aljabar linear numerik
BLAS dan LAPACK, pustaka komputer yang dioptimasi dengan baik yang menerapkan algoritme yang paling mendasar di dalam aljabar linear numerik