## Documentation Center |

Matrix logarithm

`L = logm(A)[L, exitflag] = logm(A)`

`L = logm(A)` is the principal
matrix logarithm of A, the inverse of `expm(A)`. `L` is
the unique logarithm for which every eigenvalue has imaginary part
lying strictly between –*π* and *π*.
If `A` is singular or has any eigenvalues on the
negative real axis, the principal logarithm is undefined. In this
case, `logm` computes a nonprincipal logarithm and
returns a warning message.

`[L, exitflag] = logm(A)` returns
a scalar `exitflag` that describes the exit condition
of `logm`:

If

`exitflag = 0`, the algorithm was successfully completed.If

`exitflag = 1`, too many matrix square roots had to be computed. However, the computed value of`L`might still be accurate.

The input `A` can have class `double` or `single`.

For most matrices:

logm(expm(A)) = A = expm(logm(A))

These identities may fail for some `A`. For
example, if the computed eigenvalues of `A` include
an exact zero, then `logm(A)` generates infinity.
Or, if the elements of `A` are too large, `expm(A)` may
overflow.

Suppose `A` is the 3-by-3 matrix

1 1 0 0 0 2 0 0 -1

and `Y =` `expm(A)` is

Y = 2.7183 1.7183 1.0862 0 1.0000 1.2642 0 0 0.3679

Then `A = logm(Y)` produces the original matrix `A`.

Y = 1.0000 1.0000 0.0000 0 0 2.0000 0 0 -1.0000

But `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

[1] 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.

[2] 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.

[3] Higham, N. J., "Evaluating Pade
approximants of the matrix logarithm," *SIAM J.
Matrix Anal. Appl.*, Vol. 22, Number 4, pp. 1126-1135,
2001.

[4] Golub, G. H. and C. F. Van Loan, *Matrix
Computation*, Johns Hopkins University Press, 1983, p.
384.

[5] 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.

Was this topic helpful?