Матричный логарифм
L = logm(
- основной матричный логарифм A
)A
, обратная expm(A)
. Выход, L
, является уникальным логарифмом, для которого каждое собственное значение имеет мнимую часть, лежащую строго между - π и π. Если A
сингулярен или имеет любые собственные значения на отрицательной вещественной оси, тогда основной логарифм не определен. В этом случае logm
вычисляет непринципальный логарифм и возвращает предупреждающее сообщение.
[L,exitflag] = logm(A)
возвращает скалярное exitflag
который описывает условие logm
:
Если exitflag = 0
алгоритм был успешно завершен.
Если exitflag = 1
пришлось вычислить слишком много матричных квадратных корней. Однако вычисленное значение L
может быть все еще точным.
Если A
является действительным симметричным или комплексным Эрмитовым, тогда как logm(A)
.
Некоторые матрицы, например A = [0 1; 0 0]
, не имеют никаких логарифмов, реальных или сложных, так что logm
нельзя ожидать, что он будет произведен.
[1] Al-Mohy, A. H. and Nicholas J. Higham, «Improved inverse scaling and quaring 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 числа обусловленности», SIAM J. Sci. Comput.,, 35 (4), pp. C394-C410, 2013