İki matrisin sütunlarına kaydet B ve C tüm vektörler bj önceki yinelemelerde ve sonuçlarda matrisi uyguladığınız cj=Abj.
Her yeni sistem için (A+D)x′=b′ (veya Ax=b′, bu özel durum D=0), aşırı belirlenmiş doğrusal sistemi yaklaşık olarak çözer (C+DB)y≈b′örneğin, satırların (muhtemelen tümü) bir alt kümesini seçerek ve yoğun bir en küçük kare yöntemini kullanarak. Yalnızca seçilen bölümünC+DBtoplanması gerekiyor; yani bu hızlı bir işlem!
Koymak x0=By. Bu, çözme için yinelemeyi başlatmak için iyi bir başlangıç yaklaşımıdır.(A+D)x′=b′. Başka sistemlerin işlenmesi gerektiğinde, matrisleri genişletmek için bu yeni yinelemede matris vektör ürünlerini kullanınB ve C elde edilen alt sistemde.
Eğer matrisler B ve C ana belleğe sığmayın, saklayın Bseçin ve önceden satırların alt kümesini seçin. Bu, çekirdeğin ilgili kısmını çekirdekte tutmanıza izin verirB ve C en küçük kareler sistemini oluşturmak için gerekli ve x0 tek geçişle hesaplanabilir B çok az çekirdek bellek kullanımı.
Sıralar, tam problemin yaklaşık olarak kaba bir takdirine karşılık gelecek şekilde seçilmelidir. Toplam beklenen matris vektörü çarpım sayısından beş kat daha fazla satır almak yeterli olmalıdır.
Düzenleme: Bu neden çalışıyor? Yapım gereği, matrislerB ve C ile ilgili C=AB. Altuzay sütunları tarafından yayılmışsaB kesin çözüm vektörünü içerir x′ (nadir fakat basit bir durum) x′ forma sahip x′=By bazı y. Bunu denklem tanımlayıcıya koymakx′ denklemini verir (C+DB)y=b′. Böylece bu durumda, yukarıdaki işlem başlangıç noktası olarak verir.x0=By=x′kesin çözüm budur.
Genel olarak, kimse bekleyemez x′ sütun uzayda yalan söylemek B, ancak oluşturulan başlangıç noktası, bu sütun alanındaki en yakın nokta olacaktır. x′, seçilen satırlar tarafından belirlenen bir metrik olarak. Dolayısıyla mantıklı bir yaklaşım olması muhtemeldir. Daha fazla sistem işlendikçe, sütun alanı büyür ve yaklaşıklığın çok daha fazla gelişmesi muhtemeldir, böylece kişi daha az ve daha az yinelemede birleşmeyi umabilir.
Edit2: Oluşturulan alt uzay hakkında: Bir kişi her sistemi bir Krylov yöntemiyle çözerse, ikinci sistem için başlangıç noktasını almak için kullanılan vektörler ilk sağ tarafın Krylov alt uzayını kapsar. Böylece, bu Krylov alt alanı ikinci sisteminizin çözümüne yakın bir vektör içerdiğinde iyi bir yaklaşım elde edilir. Genel olarak, vektörler,(k+1)st sistemi ilk Krylov altuzayı içeren bir alana yayılır k sağ taraf.