Determinantın hesaplanması için minimum aritmetik işlem sayısı


14

Bir determinantı hesaplamak için gerekli temel aritmetik işlemlerin minimum sayıda bulunması üzerinde herhangi bir çalışma oldu mu tarafından n küçük ve sabit oluşanmatris n ? Örneğin, n = 5 .nnnn=5


4
Bu konuda uzmanlara sordum ve görünüşe göre 3x3'lük bir matrisin determinantını hesaplamak için 9 çarpımın gerekli olup olmadığı henüz bilinmiyor.
Jeffrey Shallit

@JeffreyShallit ise (daha az olduğu gibi zaten ilginç mümkündür n 3 örneğin). N = 4 ne dersiniz ? 9n3n=4
Lembik

3
Hayır, hiç de ilginç değil. N = 3 için 9 çarpma, bunu küçükler tarafından genişletme izler. Tekrar n = 4 için, reşit olmayanlar tarafından genişleme 40 verir. Bunu 40 çarpmadan daha az bir sürede nasıl yapacağımı bilmiyorum.
Jeffrey Shallit

@JeffreyShallit Anlıyorum, iyi bir nokta. Herhangi bir sabit için saflıktan daha iyi bir şey bilinmiyorsa (en azından benim için) şaşırtıcı . n
Lembik

Birisi bilirse, belki bize söyleyebilir.
Jeffrey Shallit

Yanıtlar:


9

n×nnω+o(1)ω

n×n(n/2)×(n/2)

D invertibledet(ABCD)=det(D)det(ABD1C).

Bu nedenle, bir hesaplayabilir iki hesaplanmasıyla determinantı belirleyicisi, bir tersine çevrilmesi , matris iki çift çarparak matrisleri ve bazı daha basit işlemler. Determinant çağrılarını yinelemeli olarak genişleten karmaşıklık, matris çarpımı ve tersine çevrilmeye başlar.n×n(n/2)×(n/2)(n/2)×(n/2)(n/2)×(n/2)

Bu, küçük ve hatta subkübik matris çarpma algoritmaları kullanmadan iyi çalışır . (Tabii ki, Gauss elemesine daha çok veya daha az eşdeğer olur.) Örneğin, , dört çarpma ile olan iki çarpma ile hesaplayabiliriz , ile çarpma, ile iki çarpma ve son cevap bir çarpma ile. Toplam sayı çarpma artı bölümdür, bu da azdır.nn=4det(D)D1BD1C2×8=16det(ABD1C)2+4+16+2+1=2540kofaktör genişlemesinden. Strassen'in algoritmasını kullanmak burada iki çarpımı kaydeder, ancak daha asimptotik olarak.

Bu genişlemenin çok önemli ölçüde bölme kullandığını fark edebilirsiniz. Bölmeyi önlemek istiyorsanız, işlemlerinde Clow dizileri ve dinamik programlama ile çalışarak bunu yapabilirsiniz . Ayrıca çarpımlarının nasıl elde edileceği ve bölümlerin nasıl yapılacağı da bilinmektedir .O(n4)n2+ω/2+o(1)


Sadece çarpma sayısında bir alt sınır biliyor musunuz? N = 3 için bile mi?
Jeffrey Shallit

"Bir matrisinin determinantını hesaplamak için gerekli olan aritmetik işlemlerin sayısı " ifadeniz, bir alt sınırın bilindiğini gösterir. Ancak bunu belirtilen eserlerin hiçbirinde görmedim. Bir şey mi kaçırıyorum? n×nnω+o(1)
Jeffrey Shallit

2
Alt sınır W.Baur ve V.Strassen "Kısmi türevlerin karmaşıklığı" ( dx.doi.org/10.1016/0304-3975(83)90110-X )
Vladimir Lysikov
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.