The algorithm illustrated above does not work for non-diagonalizable matrices, such as . {\displaystyle {\begin{bmatrix}1&1\\0&1\end{bmatrix}}.} For such matrices one needs to find its Jordan decomposition and, rather than computing the logarithm of diagonal entries as above, one would calculate the logarithm of the Jordan blocks.
Algorytm przedstawiony powyżej nie działa na niediagonalnych macierzach, takich jak . {\displaystyle {\begin{bmatrix}1&1\\0&1\end{bmatrix}}.} Dla takich matryc trzeba znaleźć ich rozkład Jordana i, zamiast obliczania logarytmów elementów przekątnej jak wyżej, trzeba obliczyć logarytm bloków Jordana.