exponenta event banner

sqrtm

Квадратный корень матрицы

Описание

пример

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. Эта матрица симметрична и положительна.

A = [5 -4 1 0 0; -4 6 -4 1 0; 1 -4 6 -4 1; 0 1 -4 6 -4; 0 0 1 -4 6]
A = 5×5

     5    -4     1     0     0
    -4     6    -4     1     0
     1    -4     6    -4     1
     0     1    -4     6    -4
     0     0     1    -4     6

Вычислите уникальный положительный определенный квадратный корень A использование sqrtm. X - матричное представление второго разностного оператора.

X = round(sqrtm(A))
X = 5×5

     2    -1     0     0     0
    -1     2    -1     0     0
     0    -1     2    -1     0
     0     0    -1     2    -1
     0     0     0    -1     2

Рассмотрим матрицу, которая имеет четыре квадратока, A.

A = [7101522]

Два из квадратов A даны Y1 и Y2:

Y1 = [1.56671.74082.61124.1779]

Y2 = [1234]

Подтвердить, что Y1 и Y2 являются квадратами матрицы A.

A = [7 10; 15 22];
Y1 = [1.5667 1.7408; 2.6112 4.1779];
A - Y1*Y1
ans = 2×2
10-3 ×

   -0.1258   -0.1997
   -0.2995   -0.4254

Y2 = [1 2; 3 4];
A - Y2*Y2
ans = 2×2

     0     0
     0     0

Два других квадратока A являются -Y1 и -Y2. Все четыре из этих корней могут быть получены из собственных значений и собственных векторов A. Если [V,D] = eig(A), то squareroots имеют общий вид Y = V*S/V, где D = S*S и S имеет четыре варианта знака для получения четырех различных значений Y:

S = [± 0,372300 ± 5,3723]

Вычислите квадратизатор A с sqrtm. sqrtm функция выбирает положительные квадратные корни и производит Y1, хотя Y2 кажется, это более естественный результат.

Y = sqrtm(A)
Y = 2×2

    1.5667    1.7408
    2.6112    4.1779

Входные аргументы

свернуть все

Входная матрица, заданная как квадратная матрица.

Типы данных: single | double
Поддержка комплексного номера: Да

Совет

  • Некоторые матрицы, как A = [0 1; 0 0], не имеют никаких квадратных корней, вещественных или сложных, и sqrtm нельзя ожидать, что она будет создана.

Алгоритмы

Алгоритм sqrtm использование описано в [3].

Ссылки

[1] НЬЮ-ДЖЕРСИ. Хайам, «Вычисление вещественных квадратных корней вещественной матрицы», Линейная алгебра и Аппл., 88/89, стр. 405-430, 1987

[2] Бьорк, А. и С. Хаммерлинг, «Метод Шура для квадратного корня матрицы», Линейная алгебра и Аппл., 52/53, стр. 127-140, 1983

[3] Дэдман, Э., Хайам, Н. Дж. и Р. Ралха, «Блокированные алгоритмы Шура для вычисления квадратного корня матрицы», Лекционные заметки в Comput. Sci., 7782, Springer-Verlag, стр. 171-182, 2013

Расширенные возможности

.

См. также

| |

Представлен до R2006a