Bir matrisin sıfır boşluğunu belirlemek için standart yöntemler, bir QR ayrışması veya bir SVD kullanmaktır. Doğruluk çok önemliyse, SVD tercih edilir; QR ayrışması daha hızlıdır.
Eğer, SVD kullanarak ve ardından sütun V küçük tekil değerler (yani, küçük köşegen girişleri tekabül Σ ) boş alanı için bir temel oluşturmaktadır. Buradaki ilgili tolerans, kişinin "küçük" tekil bir değer olarak kabul ettiği şeydir. Örneğin MATLAB, azami ( m , n ) ⋅ ε olmak için küçük sürer ; burada ε , makine doğruluğu ile ilgilidir ( MATLAB belgelerine bakın ).A = UΣ V'HVΣmax ( m , n ) ⋅ εε
Eğer QR ayrışma kullanarak, , ve sıralaması A olan R , daha sonra son N - r sütunları Q ve nullspace oluşturan A QR ayrışma ortaya seviye olduğunu varsayarak,. Belirlemek için r , ana Diagonal'da girişlerinin sayısını hesaplamak R , büyüklüğü (SVD yaklaşımda kullanılana benzer) bir tolerans aşar.birT=QRArn−rSbirrR,
LU ayrışma kullanmayın. Kesin aritmetikte, uygulanabilir bir yaklaşımdır, ancak kayan nokta aritmetiğiyle, sayısal hataların birikmesi onu yanlış yapar.
Wikipedia bu konuları burada ele alıyor .