Матричный квадратный корень
X = sqrtm(A)
[X,residual] = sqrtm(A)
[X,alpha,condx] = sqrtm(A)
X = sqrtm(
возвращает основной квадратный корень из матричного A
)A
, то есть, X*X = A
.
X
является уникальным квадратным корнем, для которого каждое собственное значение имеет неотрицательную действительную часть. Если A
имеет какие-либо собственные значения с отрицательными действительными частями, то к комплексному результату приводят. Если A
сингулярен, то A
не может иметь квадратного корня. Если точная особенность обнаруживается, предупреждение распечатано.
[X,residual] = sqrtm(
также возвращает невязку, A
)residual = norm(A-X^2,1)/norm(A,1)
. Этот синтаксис не распечатывает предупреждения, если точная особенность обнаруживается.
[X,alpha,condx] = sqrtm(
возвращает коэффициент стабильности A
)alpha
и оценка матричного количества условия квадратного корня X
в 1 норме, condx
. Остаточный norm(A-X^2,1)/norm(A,1)
ограничен приблизительно n*alpha*eps
, и относительная погрешность с 1 нормой в X
ограничена приблизительно n*alpha*condx*eps
, где n = max(size(A))
.
Некоторые матрицы, как A = [0 1; 0 0]
, не имеют никаких квадратных корней, действительных или комплексных, и sqrtm
, как могут ожидать, не произведет тот.
Алгоритм, который использует sqrtm
, описан в [3].
[1] Нью-Джерси Higham, “Вычисляя действительные квадратные корни из действительной матрицы”, Линейная алгебра и Прикладной, 88/89, стр 405–430, 1987
[2] Bjorck, А. и С. Хэммерлинг, “Метод Шура для квадратного корня из матрицы”, Линейная алгебра и Прикладной, 52/53, стр 127–140, 1983
[3] Мертвец, Э., Higham, N. J. и Р. Рэлха, “Блокированные алгоритмы Шура для вычисления матричного квадратного корня”, Примечания Лекции в Comput. Наука, 7782, Springer-Verlag, стр 171–182, 2013