Previous: Matrix Factorizations, Up: Linear Algebra

— Loadable Function: **expm** (`a`)

Return the exponential of a matrix, defined as the infinite Taylor series

expm(a) = I + a + a^2/2! + a^3/3! + ...The Taylor series is

notthe way to compute the matrix exponential; see Moler and Van Loan, Nineteen Dubious Ways to Compute the Exponential of a Matrix, SIAM Review, 1978. This routine uses Ward's diagonal Pade' approximation method with three step preconditioning (SIAM Journal on Numerical Analysis, 1977). Diagonal Pade' approximations are rational polynomials of matrices-1 D (a) N (a)whose Taylor series matches the first

`2q+1`

terms of the Taylor series above; direct evaluation of the Taylor series (with the same preconditioning steps) may be desirable in lieu of the Pade' approximation when`Dq(a)`

is ill-conditioned.

— Function File: **logm** (`a`)

Compute the matrix logarithm of the square matrix

a. Note that this is currently implemented in terms of an eigenvalue expansion and needs to be improved to be more robust.

— Loadable Function: [`result`, `error_estimate`] = **sqrtm** (`a`)

Compute the matrix square root of the square matrix

a.Ref: Nicholas J. Higham. A new sqrtm for MATLAB. Numerical Analysis Report No. 336, Manchester Centre for Computational Mathematics, Manchester, England, January 1999.