1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <Eigen/Dense>
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include <iostream>
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathusing namespace Eigen;
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathusing namespace std;
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathint main()
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath{
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  MatrixXf m(2,2);
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  MatrixXf n(2,2);
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  MatrixXf result(2,2);
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  m << 1,2,
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath       3,4;
15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  n << 5,6,
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath       7,8;
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  result = (m.array() + 4).matrix() * m;
19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  cout << "-- Combination 1: --" << endl << result << endl << endl;
20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  result = (m.array() * n.array()).matrix() * m;
21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath  cout << "-- Combination 2: --" << endl << result << endl << endl;
22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath}
23