[Math] Logarithm of singular matrix

logarithmsmatrices

How do we define logarithm of a singular matrix(Say it is real square symmetric and has distinct eigen values). I tried searching online but could not find much information(Something that someone as dumb as me could understand).

MATLAB logm help says something about principal and non principal logarithm and MATLAB does give log of singular matrix. Can someone explain?

So, if I am to calculate it by hand using either decoposition into eigen value matrix and eigen vector matrices or jordan form, how do I do it?

Best Answer

The online documentation from MathWorks says that

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.

This is poorly written. The first part of the second sentence (about nonprincipal logarithm) actually refers to the case where $X$ is nonsingular and it has a negative real eigenvalue, but not the case where $X$ is singular. Singular matrices have no matrix logarithms.

A matrix logarithm of a complex square matrix $X$ is some matrix $Y$ such that $e^Y=X$. The eigenvalues of $e^Y$, however, are the exponentials of the eigenvalues of $Y$. Since a singular matrix always has a zero eigenvalue but $e^\lambda=0$ is not solvable, singular matrices have no matrix logarithms.

The documentation for an earlier version of Matlab is clearer, although there is still room of improvement:

... Complex results are produced if A has negative eigenvalues. A warning message is printed if the computed expm(L) is not close to A.

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

Related Question