aboutsummaryrefslogtreecommitdiffhomepage
path: root/doc/examples
diff options
context:
space:
mode:
authorGravatar Carlos Becker <carlosbecker@gmail.com>2010-06-28 18:42:09 +0100
committerGravatar Carlos Becker <carlosbecker@gmail.com>2010-06-28 18:42:09 +0100
commit82e2e8b13a9c1bc59ec7f1c4618e83bd971c4123 (patch)
tree43c50eee4f8142d80dd8d1336ab30a7625d018e5 /doc/examples
parentbdef7eb656f8bb5dcb2b6a81579552d673ce8caf (diff)
Modified Array Class tutorial, added examples
Diffstat (limited to 'doc/examples')
-rw-r--r--doc/examples/Tutorial_ArrayClass_accessing.cpp24
-rw-r--r--doc/examples/Tutorial_ArrayClass_addition.cpp22
-rw-r--r--doc/examples/Tutorial_ArrayClass_addition_scalar.cpp17
-rw-r--r--doc/examples/Tutorial_ArrayClass_interop.cpp38
-rw-r--r--doc/examples/Tutorial_ArrayClass_interop_array.cpp34
-rw-r--r--doc/examples/Tutorial_ArrayClass_interop_matrix.cpp41
-rw-r--r--doc/examples/Tutorial_ArrayClass_mult.cpp20
7 files changed, 196 insertions, 0 deletions
diff --git a/doc/examples/Tutorial_ArrayClass_accessing.cpp b/doc/examples/Tutorial_ArrayClass_accessing.cpp
new file mode 100644
index 000000000..812ba61a4
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_accessing.cpp
@@ -0,0 +1,24 @@
+#include <Eigen/Dense>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+int main()
+{
+ ArrayXXf m(2,2);
+
+ //assign some values coefficient by coefficient
+ m(0,0) = 1.0; m(0,1) = 2.0;
+ m(1,0) = 3.0; m(1,1) = 4.0;
+
+ //print values to standard output
+ cout << m << endl << endl;
+
+ // using the comma-initializer is also allowed
+ m << 1.0,2.0,
+ 3.0,4.0;
+
+ //print values to standard output
+ cout << m << endl;
+}
diff --git a/doc/examples/Tutorial_ArrayClass_addition.cpp b/doc/examples/Tutorial_ArrayClass_addition.cpp
new file mode 100644
index 000000000..eae1957bd
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_addition.cpp
@@ -0,0 +1,22 @@
+#include <Eigen/Dense>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+int main()
+{
+ ArrayXXf a(3,3);
+ ArrayXXf b(3,3);
+
+ a << 1,2,3,
+ 4,5,6,
+ 7,8,9;
+
+ b << 1,2,3,
+ 1,2,3,
+ 1,2,3;
+
+ cout << "a + b = " << endl
+ << a + b << endl;
+}
diff --git a/doc/examples/Tutorial_ArrayClass_addition_scalar.cpp b/doc/examples/Tutorial_ArrayClass_addition_scalar.cpp
new file mode 100644
index 000000000..1c2665287
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_addition_scalar.cpp
@@ -0,0 +1,17 @@
+#include <Eigen/Dense>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+int main()
+{
+ ArrayXXf a(3,3);
+
+ a << 1,2,3,
+ 4,5,6,
+ 7,8,9;
+
+ cout << "a + 2 = " << endl
+ << a + 2 << endl;
+}
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;
+
+}
diff --git a/doc/examples/Tutorial_ArrayClass_interop_array.cpp b/doc/examples/Tutorial_ArrayClass_interop_array.cpp
new file mode 100644
index 000000000..c2cb6bf3f
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_interop_array.cpp
@@ -0,0 +1,34 @@
+#include <Eigen/Dense>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+int main()
+{
+ ArrayXXf m(2,2);
+ ArrayXXf n(2,2);
+
+ ArrayXXf result(2,2);
+
+ //initialize arrays
+ m << 1,2,
+ 3,4;
+
+ n << 5,6,
+ 7,8;
+
+
+ // --> array multiplication
+ result = m * n;
+
+ cout << "-- Array m*n: --" << endl
+ << result << endl << endl;
+
+
+ // --> Matrix multiplication
+ result = m.matrix() * n.matrix();
+
+ cout << "-- Matrix m*n: --" << endl
+ << result << endl << endl;
+}
diff --git a/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp b/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp
new file mode 100644
index 000000000..b3d48b6ae
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_interop_matrix.cpp
@@ -0,0 +1,41 @@
+#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;
+
+
+ // --> matrix multiplication
+ result = m * n;
+
+ cout << "-- Matrix m*n: --" << endl
+ << result << endl << endl;
+
+
+ // --> coeff-wise multiplication
+ result = m.array() * n.array();
+
+ cout << "-- Array m*n: --" << endl
+ << result << endl << endl;
+
+
+ // ->> coeff-wise addition of a scalar
+ result = m.array() + 4;
+
+ cout << "-- Array m + 4: --" << endl
+ << result << endl << endl;
+}
diff --git a/doc/examples/Tutorial_ArrayClass_mult.cpp b/doc/examples/Tutorial_ArrayClass_mult.cpp
new file mode 100644
index 000000000..27c83e040
--- /dev/null
+++ b/doc/examples/Tutorial_ArrayClass_mult.cpp
@@ -0,0 +1,20 @@
+#include <Eigen/Dense>
+#include <iostream>
+
+using namespace Eigen;
+using namespace std;
+
+int main()
+{
+ ArrayXXf a(2,2);
+ ArrayXXf b(2,2);
+
+ a << 1,2,
+ 3,4;
+
+ b << 5,6,
+ 7,8;
+
+ cout << "a * b = " << endl
+ << a * b << endl;
+}