vnl_matrix_exp.h
Go to the documentation of this file.
1 // This is core/vnl/vnl_matrix_exp.h
2 #ifndef vnl_matrix_exp_h_
3 #define vnl_matrix_exp_h_
4 
5 #include "vnl/vnl_export.h"
6 
7 //:
8 // \file
9 // \brief Compute the exponential of a square matrix
10 //
11 // Compute the exponential of a square matrix, by summing its
12 // exponential series $\exp(X) = \displaystyle\sum_{n \ge 0} X^n/n!$
13 // till a convergence requirement is met.
14 //
15 // Many improvements are possible.
16 //
17 // \author fsm
18 //
19 // \verbatim
20 // Modifications:
21 // 14-Jan-2007 Peter Vanroose - added vnl_matrix_fixed interface
22 // \endverbatim
23 
24 //: Compute the exponential of a square matrix - fiddly form
25 // \relatesalso vnl_matrix
26 // \relatesalso vnl_matrix_fixed
27 template <class SquareMatrix> VNL_EXPORT
28 bool vnl_matrix_exp(SquareMatrix const &X, SquareMatrix &expX, double max_err);
29 
30 //: Compute the exponential of a square matrix - easy form.
31 // \relatesalso vnl_matrix
32 // \relatesalso vnl_matrix_fixed
33 template <class SquareMatrix> VNL_EXPORT
34 SquareMatrix vnl_matrix_exp(SquareMatrix const &X);
35 
36 
37 #endif // vnl_matrix_exp_h_
VNL_EXPORT bool vnl_matrix_exp(SquareMatrix const &X, SquareMatrix &expX, double max_err)
Compute the exponential of a square matrix - fiddly form.