Şu anda ucuz bir matrisi için iyi bir rütbe hesaplamaya çalışıyorum . Bu nedenle QR ayrışmasını kullanarak bir sütunlu döner hesaplıyorum
[Q,R,E]=qr(A)
Matlab. derecesini kullanarak tahmin ediyorum
tol = size(A,n)*eps*norm(A,'fro');
r = sum(abs(diag(R))>tol)
Bu iyi çalışır ve R'nin tüm diyagonal girişleri üzerinde bir çizim şöyle görünür:
Giriş matrisi her iki deney için de tamamen aynıdır.
Şimdi sorum Matlab'dan QR ayrıştırma sütunu hangi LAPACK fonksiyonuna dayanıyor?
Herhangi bir yardım için teşekkürler, Grisu
Düzenleme: DGEQPF aynı yanlış sonucu verir.
Edit2:
Edit3: - GDB kullanarak, Matlab 2010b dgeqp3_ () /usr/ubuntu10.04/matlabr2010b/bin/glnx86/../../bin/glnx86/../ den DGEQP3: # 3 0xaa46ce2f çağırdığını öğrendim. ./bin/glnx86/mllapack.so LAPACK kullanarak neden yanlış sonuç alıyorum (3.4.0, Çalışma Notu 176'da belirtilen düzeltmeleri içerir)?