L = logm(A)
[L, exitflag] = logm(A)
L = logm(A) is the principal
matrix logarithm of A, the inverse of
the unique logarithm for which every eigenvalue has imaginary part
lying strictly between –π and π.
A is singular or has any eigenvalues on the
negative real axis, the principal logarithm is undefined. In this
logm computes a nonprincipal logarithm and
returns a warning message.
[L, exitflag] = logm(A) returns
exitflag that describes the exit condition
exitflag = 0, the algorithm
was successfully completed.
exitflag = 1, too many matrix
square roots had to be computed. However, the computed value of
still be accurate.
A can have class
For most matrices:
logm(expm(A)) = A = expm(logm(A))
These identities may fail for some
example, if the computed eigenvalues of
an exact zero, then
logm(A) generates infinity.
Or, if the elements of
A are too large,
A is the 3-by-3 matrix
1 1 0 0 0 2 0 0 -1
Y = 2.7183 1.7183 1.0862 0 1.0000 1.2642 0 0 0.3679
A = logm(Y) produces the original matrix
Y = 1.0000 1.0000 0.0000 0 0 2.0000 0 0 -1.0000
log(A) involves taking the logarithm
of zero, and so produces
ans = 0.0000 0 -35.5119 -Inf -Inf 0.6931 -Inf -Inf 0.0000 + 3.1416i
 Davies, P. I. and N. J. Higham, "A Schur-Parlett algorithm for computing matrix functions," SIAM J. Matrix Anal. Appl., Vol. 25, Number 2, pp. 464-485, 2003.
 Cheng, S. H., N. J. Higham, C. S. Kenney, and A. J. Laub, "Approximating the logarithm of a matrix to specified accuracy," SIAM J. Matrix Anal. Appl., Vol. 22, Number 4, pp. 1112-1125, 2001.
 Higham, N. J., "Evaluating Pade approximants of the matrix logarithm," SIAM J. Matrix Anal. Appl., Vol. 22, Number 4, pp. 1126-1135, 2001.
 Golub, G. H. and C. F. Van Loan, Matrix Computation, Johns Hopkins University Press, 1983, p. 384.
 Moler, C. B. and C. F. Van Loan, "Nineteen Dubious Ways to Compute the Exponential of a Matrix," SIAM Review 20, 1978, pp. 801-836.