Dalam jawaban untuk pertanyaan sebelumnya , saya menyebutkan kepercayaan umum tetapi salah bahwa eliminasi "Gaussian" berjalan dalam waktu . Meskipun jelas bahwa algoritma ini menggunakan operasi aritmatika , implementasi ceroboh dapat membuat angka dengan banyak bit secara eksponensial. Sebagai contoh sederhana, misalkan kita ingin mendiagonalisasi matriks berikut:
Jika kita menggunakan versi algoritma eliminasi tanpa pembagian, yang hanya menambahkan kelipatan bilangan bulat dari satu baris ke baris lainnya, dan kami selalu berporos pada entri diagonal dari matriks, matriks keluaran memiliki vektor sepanjang diagonal.
Tapi apa adalah kompleksitas waktu aktual dari eliminasi Gauss? Kebanyakan penulis optimisasi kombinatorial tampaknya senang dengan "sangat polinomial", tapi saya ingin tahu apa sebenarnya polinomial itu.
Sebuah makalah Jack Edmonds tahun 1967 menjelaskan versi eliminasi Gaussian ("mungkin karena Gauss") yang berjalan dalam waktu yang sangat polinomial. Wawasan utama Edmonds adalah bahwa setiap entri dalam setiap matriks perantara adalah penentu minor dari matriks input asli. Untuk matriks dengan entri integer bit, Edmonds membuktikan bahwa algoritmanya membutuhkan integer dengan paling banyak bit . Di bawah asumsi "masuk akal" bahwa , algoritma Edmonds berjalan dalam waktu jika kita menggunakan aritmatika integer buku teks, atau dalam waktu jika kita menggunakan perkalian berbasis FFT, pada RAM integer standar, yang dapat melakukan-bit aritmatika dalam waktu yang konstan. (Edmonds tidak melakukan analisis waktu ini; ia hanya mengklaim bahwa algoritme-nya "baik".)
Apakah ini masih merupakan analisis terbaik yang diketahui? Apakah ada referensi standar yang memberikan batas waktu eksplisit yang lebih baik, atau setidaknya ikatan yang lebih baik pada presisi yang diperlukan?
Lebih umum: Berapa waktu berjalan (pada integer RAM) dari algoritma tercepat yang dikenal untuk memecahkan sistem persamaan linear yang sewenang-wenang?