1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMatrixXf mat(2,2);
2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathmat << 1, 2,  4, 7;
3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Here is the matrix mat:\n" << mat << endl << endl;
4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathmat = 2 * mat;
6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "After 'mat = 2 * mat', mat = \n" << mat << endl << endl;
7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathmat = mat - MatrixXf::Identity(2,2);
10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "After the subtraction, it becomes\n" << mat << endl << endl;
11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathArrayXXf arr = mat;
14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamatharr = arr.square();
15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "After squaring, it becomes\n" << arr << endl << endl;
16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath
17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Combining all operations in one statement:
18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathmat << 1, 2,  4, 7;
19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathmat = (2 * mat - MatrixXf::Identity(2,2)).array().square();
20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathcout << "Doing everything at once yields\n" << mat << endl << endl;
21