Skip to Main Content Skip to Search
Product Documentation

logm - Matrix logarithm

Syntax

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

Description

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 non-principal logarithm and returns a warning message.

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

The input A can have class double or single.

Tips

If A is real symmetric or complex Hermitian, then so is logm(A).

Some matrices, like A = [0 1; 0 0], do not have any logarithms, real or complex, so logm cannot be expected to produce one.

Limitations

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.

Examples

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

Algorithms

The algorithm logm uses is described in [1].

References

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

See Also

expm | funm | sqrtm

  


Free MATLAB Interactive Kit

Explore how to use MATLAB to make advancements in engineering and science.


Download free kit

Trials Available

Try the latest version of MATLAB and other MathWorks products.


Get trial software
 © 1984-2012- The MathWorks, Inc.    -   Site Help   -   Patents   -   Trademarks   -   Privacy Policy   -   Preventing Piracy   -   RSS