sqrtm

Матричный квадратный корень

Синтаксис

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

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), то квадратные корни имеют общую форму 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] Нью-Джерси Higham, “Вычисляя действительные квадратные корни из действительной матрицы”, Линейная алгебра и Прикладной, 88/89, стр 405–430, 1987

[2] Bjorck, А. и С. Хэммерлинг, “Метод Шура для квадратного корня из матрицы”, Линейная алгебра и Прикладной, 52/53, стр 127–140, 1983

[3] Мертвец, Э., Higham, N. J. и Р. Рэлха, “Блокированные алгоритмы Шура для вычисления матричного квадратного корня”, Примечания Лекции в Comput. Наука, 7782, Springer-Verlag, стр 171–182, 2013

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

Смотрите также

| |

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