Büyük bir matrisin yaklaşık spektrumu


14

Büyük bir seyrek matrisin (tüm yüz binlerce satır) spektrumunu ( tüm özdeğerleri) hesaplamak istiyorum . Bu zor.

Yaklaşmaya razı olmaya hazırım. Bunu yapmak için yaklaşık yöntemler var mı?

Bu soruya genel bir cevap vermeyi umuyorum, ancak aşağıdaki özel durumdaki bir cevaptan da memnun olurum. Benim matris olup Normalize Laplace büyük grafik. Özdeğerler 0 ile 2 arasında olacak ve çok sayıda 1 civarında kümelenecek.


Matris seyrek veya yoğun mu?
Aron Ahmadia

Matris seyrek. Soruyu bunu yansıtacak şekilde düzenledim.
MRocklin

Neden tüm özdeğerleri istiyorsun ? Bu, seyrek veya yapılandırılmış bir matrisiniz olduğunda neredeyse evrensel olarak kötü bir şeydir, bu nedenle onu nasıl kullanmayı planladığınızı bilmek önemlidir.
Jed Brown

Bir grafik laplacian spektrumu incelemek istediğim bazı önemli bilgiler taşır. Hepsine ihtiyacım yok, kabaca nerede olduklarını bilmem gerek.
MRocklin

Yanıtlar:


15

Grafiğiniz yönlendirilmezse (şüphelendiğim gibi), matris simetriktir ve Lanczsos algoritmasından daha iyi bir şey yapamazsınız (kararlılık için gerekirse seçici yeniden dikeyleştirme ile). Tam spektrum 100000 sayıdan oluştuğundan, ağırlıklı olarak spektral yoğunlukla ilgileniyorsunuz.

Yaklaşık bir spektral yoğunluk elde etmek için, 100 boyutunda önde gelen Krylov altuzayının spektrumunu alın ve ayrık yoğunluğunu düzgünleştirilmiş bir versiyonla değiştirin.

Önde gelen Krylov spektrumu, iyi izole edilmiş özdeğerleri (varsa) çözecek, izolat olmayan spektrumun sonundaki özdeğerlere yaklaşacak ve kümülatif dağılım işlevi gerçek spektrumunkine benzeyen bir dağılım ile aralarında biraz rastgele olacaktır. . Boyut büyürse ona tam aritmetik olarak yaklaşır. (Operatörünüz sonsuz boyutlu olsaydı, durum hala böyle olurdu ve sürekli spektrumdaki gerçek spektral yoğunluk işlevinin integralini alırsınız.)


Önde gelen Krylov altuzayının spektrumu sadece en büyük 100 özdeğer değil mi? Ayrıca orta ve en küçük özdeğerlerin dağılımı ile ilgileniyorum.
MRocklin

1
@MRocklin: Hayır. Daha fazla ayrıntı vermek için cevabımı artırdım.
Arnold Neumaier


4

Özdeğer olmayan, ancak bir anlamda hala spektrum hakkında bir şeyler söyleyen işlevler hakkında düşünmeye hazırsanız, Rice Üniversitesi'nde Mark Embree'nin bazı çalışmalarına bakmanız gerektiğini düşünüyorum.


2

İşte spektrumu karakterize etmenin başka bir yolu.

Özdeğer problemi verildiğinde (gerçek simetrik ve ayrılmış özdeğerleri varsayalım ; ikincisi muhtemelen gerekli olmasa da), bulaşmış spektral yoğunluğu Vurduktan sonra örneğin http://dx.doi.org/10.1016/0377-0427(96)00018-0 in bir literatür araştırmasında, ize yönelik tarafsız bir Monte Carlo tahmincisinin burada rastgele vektör her girişiAvk=λkvkA

S(ω)=kπ1σσ2+(λkω)2=σπTr[σ2+(ωA)2]1
z+1-1σω[σ2+(ω-bir)2]-1z[ω+iσ-A]-1[ω-iσ-A]-1S
S(ω)=σπzT[σ2+(ωA)2]1z
zher biri için 0,5 olan veya içerir . Verilen ve , ters ürün , örneğin konjuge gradyan yöntemi veya seyrek LU ile hesaplanabilir doldurmayı en aza indirmek için . Bu, büyük matrisler için de tahminine izin verir . Pratikte, CG çözümünün çok doğru olması gerekmiyor gibi görünüyor ve ortalamanın hesaplanmasında da pek çok vektör gerekli değil. Bu soruna bağlı olabilir.+11σω[σ2+(ωA)2]1z[ω+iσA]1[ωiσA]1S(ω)

Yukarıdakilerin, spektrumun parçalarını benzer şekilde bulaşmış Krylov spektral yoğunluğundan daha eşit bir şekilde tarttığı görülüyor --- diag (linspace (0, 1, 150000)) 'yi deneyin, ancak belki de bunun için bir yol var mı? Bu, psödospektral yaklaşıma biraz benzer, ancak sonuç , en yakın özdeğer ile ters mesafe yerine, noktasına yakın olan (bulaşmış) özdeğer sayısını gösterir .ω

DÜZENLEME : Yukarıdaki miktarı hesaplamak için daha iyi performans gösteren bir alternatif, Chebyshev momentlerini hesaplamak (yukarıdaki gibi benzer stokastik değerlendirme yoluyla) ve daha sonra onlardan spektral yoğunluğu yeniden oluşturmaktır. Bu, ne matris inversiyonu ne de her bir için ayrı hesaplamalar gerektirmez . Bkz. Http://theorie2.physik.uni-greifswald.de/downloads/publications/LNP_chapter19.pdf ve buradaki referanslar.ω


0

Bkz. Sanjiv Kumar, Mehryar Mohri ve Ameet Talwalkar (ICML 2009.) tarafından yazılan "Örnekleme Tabanlı Yaklaşık Spektral Ayrışma Üzerine" makalesi. Matrisinizin sütun örneklemesini kullanır.

Matrisiniz simetrik olduğundan aşağıdakileri yapmanız gerekir:

A n * n matrisiniz olsun. Bir n * n matrisinin özdeğerlerinin hesaplanmasını bir k * k matrisinin özdeğerlerinin hesaplamasına azaltmak istiyorsunuz. Önce k değerini seçin. 500 * 500 matrisinin özdeğerlerini kolayca hesaplayabileceğiniz için k = 500 seçtiğinizi varsayalım. Ardından, A matrisinin k sütunlarını rastgele seçin. Yalnızca bu sütunları ve karşılık gelen satırları tutan B matrisini yapılandırın.

B = A (x, x) rastgele bir k dizini kümesi x için

B şimdi ak * k matrisidir. B'nin özdeğerlerini hesaplayın ve (n / k) ile çarpın. Artık A'nın n özdeğerleri gibi yaklaşık olarak dağıtılan k değerleriniz var. N değil, yalnızca k değerlerini aldığınıza dikkat edin, ancak dağılımları doğru olacaktır (bir tahmin oldukları gerçeğine kadar).


-1

Özdeğerlere yaklaşık olarak her zaman Gershgorin dairesi Teorem sınırlarını kullanabilirsiniz.

Diyagonal olmayan terimler küçükse, diyagonalin kendisi spektrumun iyi bir yaklaşımdır. Aksi takdirde, eigenspace (diğer yöntemlerle) yaklaşık olarak sonuçlanırsanız, bu sistemdeki diyagonal girişleri ifade etmeye çalışabilirsiniz. Bu daha küçük diyagonal olmayan terimlere sahip bir matrise yol açacak ve yeni diyagonal spektrumun daha iyi bir yaklaşımı olacaktır.


Gerschgoring hiçbir yakınlık değil hata sınırları verir, bu yüzden burada önemsizdir. Dahası, yönteminizi seyrek bir matris üzerinde kullanmak, yoğun bir özvektör matrisi gerektirir, bu da OP problemi için saklanması imkansızdır.
Arnold Neumaier

Dediğim gibi, köşegen kendisi, Gershgorin daire teoremi tarafından verilen hata sınırları ile spektrumun bir yaklaşımıdır, elbette Gershgorin hata sınırları yaklaşık değildir. OP, matrisin seyrek olduğunu söylediğinden, diyagonal olmayan terimler küçükse, diyagonal iyi bir yaklaşım olacaktır.
FKaria

5
Pratikte ortaya çıkan seyrek matrislerin çoğu, her satır ve sütunda bazı diyagonal diyagonal elemanlara sahiptir, bu da diyagonal çok zayıf yaklaşımları yapar (örneğin, düzenli bir grafiğin Laplacianı için diyagonal sabittir) ve hata işe yaramaz.
Arnold Neumaier
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.