Dikdörtgen bir matrisin sırasını hesaplamak için en hızlı algoritma nedir?


15

Bir matrisi verildiğinde ( varsayılarak ), sütunların sırasını ve temelini hesaplamak için en hızlı algoritma nedir?m nm×nmn

Bir zaman deterministik algoritması ve bir zaman rastgele algoritması anlamına gelen doğrusal matroid kesişimi ile çözülebileceğinin farkındayım . Bir var daha doğrudan matris çarpımı sorunu (veya Gauss yok etme) azaltmak zaman deterministik algoritması?O ( m n ω - 1 ) O ( m n ω - 1 )O(mn1.62)O(mnω1)O(mnω1)

Yanıtlar:


9

Herhangi bir için zamanında matrisini kademeli forma getirebilirsiniz . Bürgisser, Clausen, Shokrollahi, Bölüm 16.5 tarafından yazılan "Cebirsel Karmaşıklık Teorisi" kitabına bakınız.O ( n ω + ϵ ) ϵ > 02n×nO(nω+ϵ)ϵ>0

Şimdi bu prosedürü matrisinize kez uygularsınız . Bu, aritmetik işlemlerle bir algoritma verir .m × n O ( m n ω - 1 )m/nm×nO(mnω1)

Ehelon forma matrisi getirirseniz , daha sonra boyutunda sıfır matris içerir . Kalan -matrix'i alırsınız, giriş matrisinize yeni bir -block eklersiniz ve bunu echelon formuna getirirsiniz.n × n n × n n × n2n×nn×nn×nn×n


1
Yani satırlarını gruplarına bölmek mi? Sıralamayı vermek için sonuçlarını nasıl birleştirirsiniz ? Her ikisi de ilk sütunda 1 olan farklı gruplardan kademe şeklinde iki sıra düşünün, sıra 2'ye sahip olabilirler mi? m / n m / nmm/nm/n
Ho Yee Cheung

Bunun için bir alt sınır var mı? Sıralamanın herhangi bir hesaplama gücü var mı?
Thomas Ahle

3

bir matris A'nın sırasını hesaplayabiliriz; burada sayıdır sıfırdan farklı girişlerin ve sıralamasıdır . Bu, Cheung ve ark. ark. [CKL'13] ve üzerinde ikili arama . Bu, yukarıda belirtilen algoritmasından daha hızlıdır .m×nO~(nnz(A)+rω)nnz(A)ArAr O ( m n ω - 1 )rO(mnω1)


2
" algoritmasından daha hızlı" demek istediğinizi tahmin ediyorum düzenleme çok küçük olduğu için cevabı kendim düzenleyemiyorum)O(mnω1)
smapers

1
Bunu işaret ettiğiniz için teşekkürler. Yukarıdaki alıntı OP tarafından hazırlanan bir makaledir, bu yüzden cevabım çoğunlukla tamlık içindir.
Ainesh Bakshi
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.