expm                 package:Matrix                 R Documentation

_M_a_t_r_i_x _E_x_p_o_n_e_n_t_i_a_l

_D_e_s_c_r_i_p_t_i_o_n:

     Compute the exponential of a matrix.

_U_s_a_g_e:

     expm(x)

_A_r_g_u_m_e_n_t_s:

       x: a matrix, typically inheriting from the 'dMatrix' class.

_D_e_t_a_i_l_s:

     The exponential of a matrix is defined as the infinite Taylor
     series 'expm(A) = I + A + A^2/2! + A^3/3! + ...' (although this is
     definitely not the way to compute it).  The method for the
     'dgeMatrix' class uses Ward's diagonal Pade' approximation with
     three step preconditioning.

_V_a_l_u_e:

     The matrix exponential of 'x'.

_A_u_t_h_o_r(_s):

     This is a translation of the implementation of the corresponding
     Octave function contributed to the Octave project by A.
     Scottedward Hodel A.S.Hodel@Eng.Auburn.EDU.  A bug in there has
     been fixed by Martin Maechler.

_R_e_f_e_r_e_n_c_e_s:

     <URL: http://en.wikipedia.org/wiki/Matrix_exponential>

     Cleve Moler and Charles Van Loan (2003) Nineteen dubious ways to
     compute the exponential of a matrix, twenty-five years later.
     _SIAM Review_ *45*, 1, 3-49.

     Eric W. Weisstein et al. (1999) _Matrix Exponential_. From
     MathWorld, <URL:
     http://mathworld.wolfram.com/MatrixExponential.html>

_S_e_e _A_l_s_o:

     'Schur'

_E_x_a_m_p_l_e_s:

     (m1 <- Matrix(c(1,0,1,1), nc = 2))
     (e1 <- expm(m1)) ; e <- exp(1)
     stopifnot(all.equal(e1@x, c(e,0,e,e), tol = 1e-15))
     (m2 <- Matrix(c(-49, -64, 24, 31), nc = 2))
     (e2 <- expm(m2))
     (m3 <- Matrix(cbind(0,rbind(6*diag(3),0))))# sparse!
     (e3 <- expm(m3)) # upper triangular

