aboutsummaryrefslogtreecommitdiffhomepage
path: root/unsupported/doc
diff options
context:
space:
mode:
authorGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2009-12-21 18:53:00 +0000
committerGravatar Jitse Niesen <jitse@maths.leeds.ac.uk>2009-12-21 18:53:00 +0000
commitf54a2a0484149c3d8fc09ad613478e0c154d034f (patch)
tree5c81545aef0d27b8ae28de9128b9d9f7c08c0f44 /unsupported/doc
parent9f1fa6ea5e3664b7c31eb8250561289c891a749e (diff)
Add support for general matrix functions.
This does the job but it is only a first version. Further plans: improved docs, more tests, improve code by refactoring, add convenience functions for sine, cosine, sinh, cosh, and (eventually) add the matrix logarithm.
Diffstat (limited to 'unsupported/doc')
-rw-r--r--unsupported/doc/examples/MatrixFunction.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/unsupported/doc/examples/MatrixFunction.cpp b/unsupported/doc/examples/MatrixFunction.cpp
new file mode 100644
index 000000000..c11cb821b
--- /dev/null
+++ b/unsupported/doc/examples/MatrixFunction.cpp
@@ -0,0 +1,23 @@
+#include <unsupported/Eigen/MatrixFunctions>
+
+using namespace Eigen;
+
+std::complex<double> expfn(std::complex<double> x, int)
+{
+ return std::exp(x);
+}
+
+int main()
+{
+ const double pi = std::acos(-1.0);
+
+ MatrixXd A(3,3);
+ A << 0, -pi/4, 0,
+ pi/4, 0, 0,
+ 0, 0, 0;
+ std::cout << "The matrix A is:\n" << A << "\n\n";
+
+ MatrixXd B;
+ ei_matrix_function(A, expfn, &B);
+ std::cout << "The matrix exponential of A is:\n" << B << "\n\n";
+}