diff options
author | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2009-12-21 18:53:00 +0000 |
---|---|---|
committer | Jitse Niesen <jitse@maths.leeds.ac.uk> | 2009-12-21 18:53:00 +0000 |
commit | f54a2a0484149c3d8fc09ad613478e0c154d034f (patch) | |
tree | 5c81545aef0d27b8ae28de9128b9d9f7c08c0f44 /unsupported/doc | |
parent | 9f1fa6ea5e3664b7c31eb8250561289c891a749e (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.cpp | 23 |
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"; +} |