特征二维码分解结果有两种不同



我尝试使用本征使用QR分解,但是从以下拖曳方法得到的结果是不同的,请帮助我找出错误!谢谢。

// Initialize the sparse matrix
A.setFromTriplets(triplets.begin(), triplets.end());
A.makeCompressed();
//Dense matrix method
MatrixXd MatrixA = A;
HouseholderQR<MatrixXd> qr(MatrixA);
MatrixXd Rr = qr.matrixQR().triangularView<Upper>();
//Sparse matrix method
SparseQR < SparseMatrix < double >, COLAMDOrdering< int > > qr;
qr.compute(A);
SparseMatrix<double, RowMajor> Rr = qr.matrixR();

这是因为SparseQR执行列重新排序以减少填充并实现几乎显示排名的分解,类似于ColPivHouseholderQR。更准确地说,HouseholderQR计算:A = Q*R,而SparseQR计算:A*P = Q*R 。因此,预计两个R三角因素是不同的。

相关内容

最新更新