logm
Matrix logarithm
Description
L = logm(
is the
principal matrix logarithm of A
)A
, the inverse of expm(A)
.
The output, 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, then 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 ofL
might still be accurate.
Examples
Input Arguments
Tips
If
A
is real symmetric or complex Hermitian, then so islogm(A)
.Some matrices, like
A = [0 1; 0 0]
, do not have any logarithms, real or complex, sologm
cannot be expected to produce one.
References
[1] Al-Mohy, A. H. and Nicholas J. Higham, “Improved inverse scaling and squaring algorithms for the matrix logarithm,” SIAM J. Sci. Comput., 34(4), pp. C153–C169, 2012
[2] Al-Mohy, A. H., Higham, Nicholas J. and Samuel D. Relton, “Computing the Frechet derivative of the matrix logarithm and estimating the condition number,” SIAM J. Sci. Comput.,, 35(4), pp. C394–C410, 2013