aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/examples/Tutorial_ArrayClass_interop.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'doc/examples/Tutorial_ArrayClass_interop.cpp')
-rw-r--r--doc/examples/Tutorial_ArrayClass_interop.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/doc/examples/Tutorial_ArrayClass_interop.cpp b/doc/examples/Tutorial_ArrayClass_interop.cpp
new file mode 100644
index 000000000..72ac5d307
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_interop.cpp
@@ -0,0 +1,38 @@
+#include <Eigen/Dense>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+int main()
+{
+ MatrixXf m(2,2);
+ MatrixXf n(2,2);
+
+ MatrixXf result(2,2);
+
+ //initialize matrices
+ m << 1,2,
+ 3,4;
+
+ n << 5,6,
+ 7,8;
+
+ // mix of array and matrix operations
+ // first coefficient-wise addition
+ // then the result is used with matrix multiplication
+ result = (m.array() + 4).matrix() * m;
+
+ cout << "-- Combination 1: --" << endl
+ << result << endl << endl;
+
+
+ // mix of array and matrix operations
+ // first coefficient-wise multiplication
+ // then the result is used with matrix multiplication
+ result = (m.array() * n.array()).matrix() * m;
+
+ cout << "-- Combination 2: --" << endl
+ << result << endl << endl;
+
+}