Tekil değerleri birer birer hesaplayan kesilmiş bir SVD algoritması var mı?
Benim sorun: Ben ilk hesaplamak istiyorum büyük yoğun matris tekil değerler (ve tekil vektörleri) , ama uygun bir değer bilmiyorum olurdu. büyüktür, bu nedenle verimlilik nedenleriyle, tam SVD'yi yalnızca daha sonra en küçük SV'leri kesmek için değerlendirmemeyi tercih ederim.
İdeal olarak, tekil değerler hesaplamak için bir yol var olacağını seri, büyük dan ( küçük (kadar) ). Bu şekilde, eğer σ k / σ 1 bir eşiğin altına düşerse , Tekil değerini hesapladıktan sonra hesaplamayı durdurabilirim .
Böyle bir algoritma var mı (tercihen bir Python uygulamasıyla)? Etrafımda dolaşırken, sadece k'yi parametre olarak alan kesilmiş SVD işlevlerini buldum, böylece onu bir önsel tahmin etmeye zorladım.