In http://eigen.tuxfamily.org/dox/classEigen_1_1FullPivLU.html, please correct from: A = PLUQ to A = P^TLUQ^T #include <iostream> #include <Eigen/Dense> using namespace Eigen; using namespace std; int main() { MatrixXd M = MatrixXd::Random(5, 5); FullPivLU<MatrixXd> lu(M); const MatrixXd L = lu.matrixLU().triangularView<UnitLower>(); const MatrixXd U = lu.matrixLU().triangularView<Upper>(); const MatrixXd P = lu.permutationP(); const MatrixXd Q = lu.permutationQ(); cout << "M = \n" << M << endl; cout << "PLUQ = \n" << P*L*U*Q << endl; cout << "P^TLUQ^T = \n" << P.transpose()*L*U*Q.transpose() << endl; return 0; }
Thank you for your report. This should now be fixed (changeset 3d06c6dec4f3 for the dev branch and changeset bf87a7a3bc64 for 3.2).
-- GitLab Migration Automatic Message -- This bug has been migrated to gitlab.com's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.com/libeigen/eigen/issues/815.