GNU Octave Manual Version 3 by John W. Eaton, David Bateman, Søren Hauberg Paperback (6"x9"), 568 pages ISBN 095461206X RRP £24.95 ($39.95) |
18.4 Functions of a Matrix
- 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 not the 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.
See also expm, logm, funm
- Loadable Function: kron (a, b)
- Form the kronecker product of two matrices, defined block by block as
x = [a(i, j) b]
For example,
kron (1:4, ones (3, 1)) => 1 2 3 4 1 2 3 4 1 2 3 4
- Loadable Function: x = syl (a, b, c)
- Solve the Sylvester equation
A X + X B + C = 0
using standard lapack subroutines. For example,
syl ([1, 2; 3, 4], [5, 6; 7, 8], [9, 10; 11, 12]) => [ -0.50000, -0.66667; -0.66667, -0.50000 ]
ISBN 095461206X | GNU Octave Manual Version 3 | See the print edition |