core/vnl/vnl_matrix_exp.h
Go to the documentation of this file.
00001 // This is core/vnl/vnl_matrix_exp.h
00002 #ifndef vnl_matrix_exp_h_
00003 #define vnl_matrix_exp_h_
00004 //:
00005 // \file
00006 // \brief Compute the exponential of a square matrix
00007 //
00008 // Compute the exponential of a square matrix, by summing its
00009 // exponential series $\exp(X) = \displaystyle\sum_{n \ge 0} X^n/n!$
00010 // till a convergence requirement is met.
00011 //
00012 // Many improvements are possible.
00013 //
00014 //  \author fsm
00015 //
00016 // \verbatim
00017 //  Modifications:
00018 //   14-Jan-2007 Peter Vanroose - added vnl_matrix_fixed interface
00019 // \endverbatim
00020 
00021 //: Compute the exponential of a square matrix - fiddly form
00022 // \relatesalso vnl_matrix
00023 // \relatesalso vnl_matrix_fixed
00024 template <class SquareMatrix>
00025 bool vnl_matrix_exp(SquareMatrix const &X, SquareMatrix &expX, double max_err);
00026 
00027 //: Compute the exponential of a square matrix - easy form.
00028 // \relatesalso vnl_matrix
00029 // \relatesalso vnl_matrix_fixed
00030 template <class SquareMatrix>
00031 SquareMatrix vnl_matrix_exp(SquareMatrix const &X);
00032 
00033 
00034 #endif // vnl_matrix_exp_h_