1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <Eigen/Dense> 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <iostream> 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathusing namespace Eigen; 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid copyUpperTriangularPart(MatrixXf& dst, const MatrixXf& src) 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{ 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath dst.triangularView<Upper>() = src.triangularView<Upper>(); 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathint main() 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{ 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXf m1 = MatrixXf::Ones(4,4); 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath MatrixXf m2 = MatrixXf::Random(4,4); 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << "m2 before copy:" << std::endl; 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << m2 << std::endl << std::endl; 17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath copyUpperTriangularPart(m2, m1); 18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << "m2 after copy:" << std::endl; 19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath std::cout << m2 << std::endl << std::endl; 20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 21