SVD'nin hesaplanmasının arkasındaki ana at, QR algoritmasıdır . Genel bir by- N matris A'nın tekil değer ayrışmasını hesaplamak için birçok farklı algoritma olduğunu söylemiştik . Burada bulunan konuyla ilgili (Intel'in MKL belgelerinden) büyük bir şema şöyledir:MNA
Kullanım durumunuza bağlı olarak gördüğünüz gibi farklı yaklaşımlar vardır (rutin adlandırma kuralları burada bulunabilir ). Çünkü, örneğin, bir Hanehalkı indiriminin bir Givens rotasyonundan daha pahalı olabileceği matris formları vardır (QR elde etmenin iki "açık" yolunu adlandırmak için). Konuyla ilgili standart bir referans Golub ve Van Kredisi Matris Hesaplamalarıdır (en azından 3. baskıyı kullanmanızı öneririm). Ben de Å buldum. Björck'in En Küçük Kareler İçin Sayısal Yöntemleri Bu konuda çok iyi bir kaynak; SVD kitabın ana odak noktası olmasa da, kitabın kullanımını bağlamsallaştırmaya yardımcı olur.
Sana vermek gerekirse bir konudur üzerinde genel danışmanlık kendi SVD algoritmaları yazmaya kalkma başarıyla zaten Sayısal Lineer Cebir Doğum sınıfların bir çift almış sürece ve ne yaptığınızı biliyorum. Kulağa karşı sezgisel geldiğini biliyorum ama gerçekten, yanlış gidebilecek bir ton şey var ve (en iyi değilse) en uygun olmayan uygulamalarla (yanlış değilse) bitiyorsunuz. Bu konuda bazı çok iyi ücretsiz suitler (örn. Eigen , Armadillo ve Trilinos birkaç isim.)