İçin yinelemeli “çözücü”


9

Aşağıdaki sorunu düşünen ilk kişi olduğumu düşünemiyorum, bu yüzden bir referanstan memnun olacağım (ancak eksiksiz, ayrıntılı bir cevap her zaman takdir edilir):

Diyelim ki, simetrik bir pozitif tanımınız var Σ∈Rn×n. n çok büyük olduğu düşünülüyor Σhafızada imkansız. Ancak,Σx, herhangi x∈Rn. Biraz verilenx∈Rn, bulmak istersin xtΣ−1x.

İlk akla gelen çözüm bulmak Σ−1xeşlenik gradyanlar kullanarak (diyelim). Bununla birlikte, bu biraz israf gibi görünüyor - bir skaler arıyorsunuz ve süreçte dev bir vektör buluyorsunuz.Rn. Skaleri doğrudan hesaplamak için bir yöntem bulmak daha mantıklı görünmektedir (örn.Σ−1x). Bu tür bir yöntem arıyorum.


2
Matrisiniz aşağıdakilerden kaynaklanıyor mu? Σ=ATA bazı "kısa ve geniş" dikdörtgenler için A?
— GeoMatt22

@ GeoMatt22 maalesef değil. Ama diyelim ki öyle - bu durumda ne önerirsiniz?
— Yair Daon

1
Yair, sadece üzerinde çalýţacak daha küçük bir matris olup olmadýđýný düţünüyordum ... yine de yardým edeceđinden emin deđilim. "Matris içermeyen mahalanobis mesafesi" veya benzerlerini aramayı denediniz mi? Daha fazla yardım için üzgünüm!
— GeoMatt22

Teşekkürler @ GeoMatt22, çevrimiçi bir şey bulamadım.
— Yair Daon

Yanıtlar:


2

Aslında çözmeden istediğini yapan herhangi bir yöntem duyduğumu sanmıyorum y=Σ−1x.

Sunabileceğim tek alternatif, özvektörler ve-değerleri hakkında bir şey biliyor olmanızdır. Σ. Onların olduğunu bildiğini söyleλi,vi, o zaman temsil edebilirsin Σ=VTLV nerede sütunları V bunlar vi, ve Ldiyagonal üzerinde özdeğerleri olan bir köşegen matristir. Sonuç olarak,Σ−1=VTL−1V ve bunu anladın

xTΣ−1x=xTVTL−1Vx=∑iλi−1(viTx)2.
Bu elbette tüm özdeğerleri, yani tam bir matrisi depolamanızı gerektirirV. Ancak, eğer özdeğerlerin sadece birkaçınınΣ küçük, ilk önce söyle mve geri kalanı o kadar büyük ki, tüm terimleri ihmal edebilirsiniz. λi−1 için i>m, sonra yaklaşık
xTΣ−1x=∑i=1nλi−1(viTx)2≈∑i=1mλi−1(viTx)2.
Bu yalnızca depolamanızı gerektirir m hepsi yerine vektörler n özvektörler.

Tabii ki, pratikte özdeğerleri ve özvektörleri hesaplamak, basitçe çözmeyle karşılaştırıldığında genellikle eşit veya daha zordur. y=Σ−1x bir kaç sefer.


Ama sonra mkolay bir iş olmayan bir matrisin en küçük özdeğerleri ...
— Yair Daon

Doğru. Ancak değerlendirmeniz gerekiyorsa buna değebilirxTΣ−1xbir cok zaman.
— Wolfgang Bangerth

O zaman bir yöntem önerebilir misiniz?
— Yair Daon

Etrafta bol veya seyrek özdeğer çözücüler vardır. ARPACK ve PETSc tabanlı SLEPc muhtemelen en yaygın kullanılanlardır.
— Wolfgang Bangerth

Bangreth Referans için teşekkür ederim. SLEPc'i kontrol ettim (son derece iyice olmasa da) ve özdeğerlerin bulunma şekli Lanczos yinelemesiyle (belki de değiştirildi) görünüyor. Eğer biri en küçüğü ararsamöz çiftler, tüm öz çiftleri bulmak ve hafızada saklamak zorundadır. Bu, matrissiz problemler için genellikle mümkün değildir;n×nmatris. Eğer kişi ters bir yineleme kullanmak istiyorsa - bulunan özdeğer (ler) in sırası için garanti verilmez. Bir şey mi kaçırıyorum?
— Yair Daon
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.