Daha önceki bir sorunun cevabında , “Gauss” un ortadan kaldırılmasının zamanlarında gerçekleştiğine dair yaygın ama yanlış inancından bahsettim . O algoritma kullandığı açıktır iken aritmetik işlemleri, dikkatsiz uygulama katlanarak birçok parçalarıyla sayıda oluşturabilir. Basit bir örnek olarak, aşağıdaki matrisi köşegenleştirmek istediğimizi varsayalım:
Eliminasyon algoritmasının , bir satırın tamsayı katlarını diğerine ekleyen, bölünme olmayan bir sürümünü kullanırsak ve her zaman matrisin çapraz bir girişini döndürürsek, çıktı matrisinin vektörü köşegen boyunca.
Ama ne olduğunu Gauss eliminasyon gerçek zaman karmaşıklığı? Kombinatoryal optimizasyon yazarlarının çoğu “güçlü polinom” ile mutlu görünüyorlar, ancak polinomun gerçekte ne olduğunu merak ediyorum.
1967 tarihli bir Jack Edmonds makalesi, çok polinomlu bir sürede çalışan Gauss elemesinin bir versiyonunu (“muhtemelen Gauss nedeniyle”) açıklar. Edmonds'un ana anlayışı, her ara matristeki her girişin orijinal giriş matrisinin küçük bir belirleyicisi olduğu yönündedir. Bir için ile matris m bitlik tamsayıdır girişleri, Edmonds onun algoritması en ile tamsayılar gerektirir kanıtlamaktadır O ( n, ( m + log n ) ) bit. M = O ( log n ) olduğu “makul” varsayımı altında , Edmonds'un algoritması O ( ders kitabı tamsayı aritmetiği kullanıyorsak, ya daFFT tabanlı çarpma kullanıyorsak,sabit zamanda O ( log n ) -bit aritmetikuygulayabilen standart bir tamsayı RAM'de ˜ O ( n 4 ) zaman kullanırsak. (Edmonds bu zaman analizini yapmadı; yalnızca algoritmasının “iyi” olduğunu iddia etti.)
Bu hala bilinen en iyi analiz mi? Sınırlanmış daha iyi bir açık zaman süresi ya da en azından gerekli hassasiyette daha iyi bir sınır veren standart bir referans var mı?
Daha genel olarak: Doğrusal denklemlerin keyfi sistemlerini çözmek için bilinen en hızlı algoritmanın çalışma süresi (RAM tamsayısında) nedir?