From f54a2a0484149c3d8fc09ad613478e0c154d034f Mon Sep 17 00:00:00 2001 From: Jitse Niesen Date: Mon, 21 Dec 2009 18:53:00 +0000 Subject: 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. --- unsupported/doc/examples/MatrixFunction.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 unsupported/doc/examples/MatrixFunction.cpp (limited to 'unsupported/doc') 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 + +using namespace Eigen; + +std::complex expfn(std::complex 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"; +} -- cgit v1.2.3