1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathtypedef Matrix<double, 5, 3> Matrix5x3; 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathtypedef Matrix<double, 5, 5> Matrix5x5; 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMatrix5x3 m = Matrix5x3::Random(); 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Here is the matrix m:" << endl << m << endl; 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathEigen::FullPivLU<Matrix5x3> lu(m); 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Here is, up to permutations, its LU decomposition matrix:" 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath << endl << lu.matrixLU() << endl; 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Here is the L part:" << endl; 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMatrix5x5 l = Matrix5x5::Identity(); 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathl.block<5,3>(0,0).triangularView<StrictlyLower>() = lu.matrixLU(); 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << l << endl; 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Here is the U part:" << endl; 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMatrix5x3 u = lu.matrixLU().triangularView<Upper>(); 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << u << endl; 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Let us now reconstruct the original matrix m:" << endl; 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << lu.permutationP().inverse() * l * u * lu.permutationQ().inverse() << endl; 17