나는 현재 행렬 대한 좋은 순위 추정치를 저렴하게 계산하려고합니다 . 따라서 나는 사용하여 columnt 피벗 QR 분해를 계산합니다.
[Q,R,E]=qr(A)
Matlab에서. 사용하고 있는 의 랭크를 추정
tol = size(A,n)*eps*norm(A,'fro');
r = sum(abs(diag(R))>tol)
이것은 잘 작동하며 R의 모든 대각선 항목에 대한 플롯은 다음과 같습니다.
입력 행렬은 두 실험에서 모두 동일합니다.
내 질문은 이제 Matlab에서 컬럼 피벗 QR 분해를 사용하는 LAPACK 기능에 어떤 것입니까?
도움을 주셔서 감사합니다, Grisu
편집 : DGEQPF는 동일한 잘못된 결과를 제공합니다.
편집 2 :
Edit3 :-GDB를 사용하여 Matlab 2010b가 DGEQP3을 호출한다는 것을 알았습니다 ./usr/ubuntu10.04/matlabr2010b/bin/glnx86/../../bin/glnx86/../. ./bin/glnx86/mllapack.so LAPACK을 사용하여 왜 잘못된 결과를 얻습니까?