Üzerinde çalıştığım bir yazılım projesinde, bazı hesaplamalar yoğun düşük dereceli matrisler için çok daha kolaydır. Bazı problem örnekleri yoğun düşük dereceli matrisleri içerir, ancak bana faktörlerden ziyade tam olarak verilir, bu yüzden düşük dereceli yapıdan yararlanmak istiyorsam dereceyi kontrol etmem ve matrisi faktör yapmalıyım .
Söz konusu matrisler tipik olarak tamamen veya neredeyse tamamen yoğundur, n yüz ila birkaç bin arasında değişir. Bir matris düşük dereceye sahipse (örneğin 5 ila 10'dan az), SVD'nin hesaplanması ve düşük dereceli bir çarpanlara ayırma işleminin kullanılması çabaya değer. Ancak, eğer matris düşük dereceli değilse, çaba boşa harcanacaktır.
Bu nedenle, tam bir SVD çarpanlarına ayırma çabalarına yatırım yapmadan önce rütbenin düşük olup olmadığını belirlemenin hızlı ve makul derecede güvenilir bir yolunu bulmak istiyorum. Herhangi bir noktada rütbenin kesimin üstünde olduğu anlaşılırsa, işlem hemen durdurulabilir. Prosedür matrisi yanlışlıkla düşük dereceli olarak ilan ederse, bu büyük bir sorun değildir, çünkü düşük seviyeyi doğrulamak ve düşük dereceli bir çarpanlara ayırma bulmak için tam bir SVD yapıyorum.
Düşündüğüm seçenekler arasında, LU veya QR çarpanlarına ayırma ve ardından kontrol olarak tam bir SVD var. Dikkate almam gereken başka yaklaşımlar var mı?