我目前试图廉价地为矩阵计算一个好的秩估计。因此,我使用计算了一个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从/usr/ubuntu10.04/matlabr2010b/bin/glnx86/../../bin/glnx86/../中在dgeqp3_()中调用DGEQP3:#3 0xaa46ce2f。 ./bin/glnx86/mllapack.so为什么使用LAPACK会得到错误的结果(3.4.0包括工作说明176中提到的修复程序)?