Bir Matrisin Özdevesini Bulmanın Karmaşıklığı


40

Sorum basit:

Bir hesaplamak için en iyi bilinen algoritmanın çalışma süresi en kötü durum nedir eigendecomposition bir bir n×n matrisinin?

Eigendecomposition matris çarpımı azaltılması veya algoritmalar bilinen en iyi mu O(n3) yoluyla ( SVD en kötü durumda)?

Lütfen durum numarası gibi soruna bağlı sabitleri olan sınırlar için değil, sadece cinsinden en kötü durum analizini istediğimi unutmayın n.

EDIT : Aşağıdaki cevaplardan bazıları göz önüne alındığında, soruyu düzelteyim: Bir ϵ yaklaşımı ile mutlu olurum. Yaklaşım, çarpımsal, katkı maddesi, giriş bilgisiyle ya da istediğiniz makul bir tanım olabilir. Daha iyi bir bağımlılığı olan bilinen algoritma var mı, ilgi am n gibi bir şey daha O(poly(1/ϵ)n3) ?

2 EDIT : Simetrik matrisler üzerine bu soruya bakın .


CLRS algoritmaları ders kitabındaki matris inversiyonundan matris çarpımına indirgemeye baktınız mı? Öz-ayrışmaya uzanıp uzamadıklarını görmek için bu fikirlere bakarak başlardım.
Warren Schudy

Evet - bir LU ayrışımı bulma uzamasına benziyorlar, ancak bir öz ayrışması için nasıl çalışacağını bilmiyorum.
Lev Reyzin

SVD'yi hesaplamak için O(n3) ün en iyi bilinen algoritma olup olmadığını biliyor musunuz ?
Robin Kothari

1
O(min(mn2,m2n))n×n

Peki. Bu alan hakkında da fazla bir şey bilmiyorum, ama belki de SVD hesaplaması eigende kompozisyonuna indirgenebilir, çünkü eğer AA * ve A * A'yı hazırlayabilirseniz, SVD için doğru ve sol matrisleri elde edersiniz.
Robin Kothari

Yanıtlar:


18

Ryan, mathoverflow'da benzer bir soruyu yanıtladı. İşte link: mathoverflow-answer

Temel olarak, bir sembolik determinant hesaplayarak özdeğer hesaplamasını matris çarpımına indirgeyebilirsiniz. Bu , özdeğerlerin bitini elde etmek için O ( ) çalışma süresi verir ; Halen bilinen en iyi çalışma zamanı, içindeki bir yaklaşım için O ( ) 'dir .nω+1mmn3+n2log2nlogb2b

Ryan'ın referansı “Victor Y. Pan, Zhao Q. Chen: Matrix Eigenprobleminin Karmaşıklığı. STOC 1999: 507-516 ''.

(Eski Aho, Hopcroft ve Ullman kitabındaki özdeğerlerin karmaşıklığı ile matris çarpımı arasındaki ilişki hakkında bir tartışma olduğuna inanıyorum, ancak “Bilgisayar Algoritmalarının Tasarımı ve Analizi” kitabı var. önümde ve size tam sayfa numarasını veremem.)


13

Özdeğerlerin bulunması doğal olarak yinelemeli bir süreçtir: Özdeğerlerin bulunması bir polinomun köklerini bulmakla eşdeğerdir. Ayrıca, Abel-Ruffini teoremi, genel olarak, keyfi bir polinomun köklerini basit bir kapalı biçimde (yani ikinci dereceden formül gibi radikallerle) ifade edemeyeceğinizi belirtir. Böylece özdeğerleri "tam olarak" hesaplamayı ümit edemezsiniz.

Bu, bir spektral ayrıştırma algoritmasının yaklaşık olması gerektiği anlamına gelir. Herhangi bir genel algoritmanın çalışma süresi istenen doğruluğa bağlı olmalıdır; sadece boyuta bağlı olamaz.

Bu konuda uzman değilim. N'ye kübik bir bağımlılığın oldukça iyi olduğunu tahmin ediyorum. Gördüğüm algoritmalar, matris-matris çarpımından ziyade matris-vektör çarpımını kullanıyor. Bu yüzden, hepsi matris-matris çarpımına kaynadıysa biraz şaşırırdım.

Http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms 'e bir göz atın


Cevabınız için teşekkürler - Sindirmek için biraz zamana ihtiyacım olacak! Fakat eğer biri matris-vektör çarpımını kullanırsa, n'ye bağımlılık belki de n ^ 3'den daha iyi olabilir.
Lev Reyzin

6

Bir matrisin özdeğerleriyle ilgili sadece kısmi bir cevap vereceğim.

Daha önce belirtildiği gibi, bir matrisin öz değerlerini bulmak için birçok yinelemeli yöntem vardır (örneğin güç yinelemesi), ancak genel olarak özdeğerlerin bulunması karakteristik polinomun köklerini bulmak için azalır. Karakteristik polinomun bulunması, , burada bit çarpımının maliyetidir ve , maksimum girişin bit büyüklüğüdür; Bareiss Algoritmasını kullanarak sembolik determinant hesaplama . Yap'ın "Algoritmik Cebirin Temelleri" başlıklı kitabına , özellikle Chap. 10, "Doğrusal Sistemler" .O(n3MB[n(logn+L)])MB(s)sL

Karakteristik polinom bulununca, izolasyon aralıkları kullanılarak kökler istenen herhangi bir hassasiyet derecesinde bulunabilir. Yap'ın kitabına bak, Chap. 6 " Detaylar için Polinomların Kökeni" . Tam çalışma zamanını unuttum, ancak karakteristik polinom ve istenen doğruluk derecelerinde polinomu var.

Ne kadar doğruluk derecesine kadar özvektörleri hesaplamanın da polinom olduğundan şüpheliyim ama yalındır bir algoritma göremiyorum. Elbette, daha önce bahsedilmiş olan standart hileler torbası var, fakat bildiğim kadarıyla hiçbiri istenen bir doğruluk için polinomun çalışma süresini garanti etmiyor.


ilginç, ama bu n ^ 3 den daha kötü görünüyor. Bunun mümkün olan en iyi olduğunu biliyor muyuz?
Lev Reyzin

Bu nitelikteki algoritmalardaki çalışma süreleri, yaklaşık O (n ^ 3) olan Matris Çarpımının karmaşıklığına bağlıdır. Strassen'in algoritmasını biliyorum, ancak sayısal kararlılık sorunlarını göz ardı edemezseniz, o zaman matris çarpımı için O (n ^ 3) değerini geri aldığınızı düşünüyorum. Yinelemeli yöntemler "ortalama" durumda daha hızlı birleşebilir, ancak genel olarak, O (n ^ 3) hakkında yapabileceğiniz en iyi şey olduğuna inanıyorum.
user834

Yani sayısal stabilite meselelerini umursamıyorsam, onu O'ya indirgeyebiliriz (n ^ 2.376)?
Lev Reyzin

5

Yeni makaleyi, Max-Cut için bir kombinasyon algoritması veren Commandur ve Kale tarafından kontrol edebilirsiniz. Görünüşe göre (bir elli okumadan) algoritmaları kombinatoryal olarak maks. Özdeğere karşılık gelen özvektörleri bulmaya ve daha sonra bu özvektöre sahip olduklarında Luca Trevisan'ın algoritmasını kullanmaya dayanıyor gibi görünmektedir.

Lanczos'un bu tür bir özvektör bulmak için algoritmasına alternatif bir yaklaşım kullandıkları görülüyor, bu yüzden ilgi çekici olabilir. Özvektör bulmak için kendi yöntemlerinin iddia edilen karmaşıklığının ne olduğundan emin değilim, ancak araştırmaya değer olabilir. Ayrıca, yaklaşım oranı olduğu ve ilgilendikleri zaman olmadığı için, verdikleri zaman sınırları ne olursa olsun en uygun olmayabilir.


1

Bu eski bir sorudur ancak bazı önemli literatürler gözden kaçırılmış görünmektedir.

Daha güçlü bir teorik desteğe sahip olduğumuz algoritmalar var. Örneğin, matris işareti işlevine dayanan yinelemeler vardır, örneğin Demmel, Dumitriu ve Holtz tarafından "Hızlı Doğrusal Cebir Kararlıdır" . Bu yazıda özdeğer probleminin zaman içerisinde çözülebileceği , burada matris çarpımının üssü ve herhangi bir sayı .ω η > 0(Oω+η)ωη>0

Evet, karakteristik polinomun toplanmasını ve BigFloat'ta hesaplanmasını öneren Pan + Chen + Zheng makalesi var çünkü sonunda çok fazla doğruluk bitini kaybedersiniz, ancak çoğu kişi bunun pratik bir yaklaşım olduğunu düşünmez.

Ayrıca, en yaygın kullanılan algoritma olan Francis QR yinelemesinin genel matrisler için yakınsama kanıtı olmadığını; Kressner tarafından yayınlanan kitapta birkaç karşı örnek ele alınmıştır.


0

Evet, hemen hemen tüm sayısal doğrusal cebir sayıları matris çarpımına indirgenebilir, ancak her zaman olduğu gibi sayısal kararlılık bir konudur. Ayrıca, e-ödünç verme gibi problemlerde, çözüm mantıksız olabileceğinden, yaklaşık bir içerikten memnun olmalısınız. Kitap Bini ve Pan tarafından Polinom ve Matris Hesaplamaları kitabına göz atın .

İşte başka bir referans - Hızlı Doğrusal Cebir Kararlı http://www.netlib.org/lapack/lawnspdf/lawn186.pdf


3
İşaretçi için teşekkürler, ancak google kitaplardaki kitapta arama yaparak matris çarpımında azalmayı bulamadım. Somut bir referans veya algoritmaya işaretiniz var mı? Ve SVD algoritmaları matrisin koşul sayısına bağlı görünüyor, ki bu en kötü durum analizi değil. Sayısal kararlılık sorunları vb. İle ilgili olarak, tüm çarpımların ve bölümlerin ünite zaman aldığı ve kesin cevaplar verdiği idealize bir varsayım yapalım.
Lev Reyzin
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.