Düşük seviyeli lineer sistemin hızlı hesaplanması / tahmini


10

Doğrusal denklem sistemleri, hesaplama istatistiklerinde yaygındır. Karşılaştığım özel bir sistem (örneğin, faktör analizinde) sistemdir

birx=b

burada Burada D , kesinlikle pozitif bir diyagonal olan bir n × n diyagonal matristir, Ω bir m × m ( m n ile ) simetrik pozitif yarı tanımlanmış matristir ve B isteğe bağlı bir n × m matrisi. Düşük dereceli bir matris tarafından bozulan çapraz doğrusal bir sistemi (kolay) çözmemiz istenir. Yukarıdaki sorunu çözmenin naif yolu A'yı Woodbury'nin formülünü kullanarak tersine çevirmektir

bir=D+BΩBT
DnxnΩmxmm«nBnxmbir. Bununla birlikte, bu doğru gelmiyor, çünkü Cholesky ve QR faktörizasyonları genellikle doğrusal sistemlerin (ve normal denklemlerin) çözümünü dramatik bir şekilde hızlandırabilir. Geçenlerde Cholesky yaklaşımını benimseyen aşağıdaki makaleye geldim ve Woodbury'nin inversiyonunun sayısal istikrarsızlığından bahsediyor. Ancak, makale taslak formda görünüyor ve sayısal deneyler veya destekleyici araştırmalar bulamadım. Açıkladığım problemi çözmek için en son teknoloji nedir?

1
@gappy, (Woodburry formülündeki orta vadeli ) matrisi için QR (veya Cholesky) ayrışmasını kullanmayı düşündünüz mü? Kalan işlemler basit matris çarpımlarıdır. Ana istikrarsızlık kaynağı Ω - 1'in hesaplanmasıdır . Yana m < < n daha hızlı QR daha bütün matris olacak Woodbury ile kombine QR veya Cholesky bu uygulama şüpheli A . Bu elbette bir sanat durumu değil, sadece genel gözlemlerdir. Ω-1+BD-1BTΩ-1m<<nbir
mpiktas

Ben içinde ne olduğunu Matthias Seeger savunmaktadır şüpheli tekniğin bilinen durumunun, o çok parlak bir adamla ve sorunların bu tür o inceler modellerin ayni defalarca çıkabilirler. Aynı nedenlerle Cholesky tabanlı yöntemler kullanıyorum. Golub ve Van Kredi tarafından "Matrix Computations" 'da bu tür şeyler için standart referans olan bir tartışma olduğundan şüpheleniyorum (elimde kopya olmamasına rağmen). ε
Dikran Marsupial

Not bu alarak sorunun sistemi çözme eşdeğerdir ( I + ˉ B Ê ˉ B , T ) x = ˉ b burada ˉ b = D - 1 / 2 b . Yani, bu problemi biraz basitleştiriyor. Şimdi, izin Σ = ˉ B Ê ˉ B T , bunu biliyoruz Σ pozitif yarı kesin en fazla ileB¯=D-1/2B(ben+B¯ΩB¯T)x=b¯b¯=D-1/2bΣ=B¯ΩB¯TΣ pozitif özdeğerler. Yana m « n , bulma m büyük özdeğerler ve ilgili özvektörler çeşitli şekillerde yapılabilir. Çözelti daha sonra, X = S ( I + Λ ) - 1 S T ˉ b Σ = S Λ S , T ve eigendecomposition verir Σ . mm«nmx=S(ben+Λ)-1STb¯Σ=QΛQTΣ
kardinal

Küçük düzeltmeler: (1) eşdeğer bir sistemdir ve (2) Nihai çözüm X = D - 1 / 2 S ( I + Λ ) - 1 S T D - 1 / 2 b . (Bir düşmüştü D 1 / 2 önünde x(I+B¯ΩB¯T)D1/2x=b¯x=D1/2Q(I+Λ)1QTD1/2bD1/2xHer iki durumda da tüm terslerin diyagonal matrislere ve dolayısıyla önemsiz olduğuna dikkat edin.
kardinal

@mpiktas: Sanırım demek istediniz çünkü matris ürününün yazdığınız versiyonda boyut uyuşmazlığı nedeniyle iyi tanımlanmamış. :)Ω1+BTD1B
kardinal

Yanıtlar:


2

Golub & van Loan'ın "Matrix Computations" adlı bölümü, rütbe-p güncellemelerinden sonra QR ve Cholesky faktörizasyonlarının güncellenmesi hakkında bölüm 12.5.1'de ayrıntılı bir tartışmaya sahiptir.


Biliyorum ve ilgili lapack fonksiyonları hem bağlantılı olduğum makalede hem de kitapta belirtiliyor. Ancak merak ediyorum, eldeki problem için en iyi uygulama nedir, genel güncelleme problemi için değil.
gappy
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.