Метод квадратного корня

Данный метод используется для решения линейной системы

Метод квадратного корня - student2.ru , (16)

у которой матрица А симметрическая, т.е. АТ = А, aij = aji (i=j=1,...,n).

Решение системы (16) осуществляется в два этапа.

Прямой ход. Преобразование матрицы А и представление ее в виде произведения двух взаимно транспонированных треугольных матриц:

А = S Т × S, (17)

где

Метод квадратного корня - student2.ru Метод квадратного корня - student2.ru

Перемножая SТ и S, и приравнивая матрице А, получим следующие формулы для определения sij:

Метод квадратного корня - student2.ru (18)

После нахождения матрицы S систему (16) заменяем двумя ей эквивалентными системами с треугольными матрицами (17)

Метод квадратного корня - student2.ru . (19)

Обратный ход. Записываем системы (19) в развернутом виде:

Метод квадратного корня - student2.ru (20)

Метод квадратного корня - student2.ru (21)

Используя (20) и (21) последовательно находим

Метод квадратного корня - student2.ru (22)

Метод квадратного корня - student2.ru (23)

Метод квадратных корней дает большой выигрыш во времени по сравнению с рассмотренными ранее прямыми методами, так как, во-первых, существенно уменьшает число умножений и делений (почти в два раза), во-вторых, позволяет накапливать сумму произведений без записи промежуточных результатов. Числовой пример ручного счета можно посмотреть в учебнике: Копченова Н.В., Марен И.А. «Вычислительная математика в примерах и задачах», 1972.

Машинная реализация метода предусматривает его следующую трактовку. Исходная матрица А системы (16) представляется в виде произведения трех матриц

A = S Т × D × S ,

где D – диагональная матрица с элементами dii = ±1; S – верхняя треугольная (sik = 0, если i > k , причем sii > 0); S T – транспонированная нижняя треугольная.

Требование выполнения условия sii > 0 необходимо для полной определенности разложения. Это и определяет необходимость введения диагональной матрицы D.

Рассмотрим алгоритм разложения матрицы А с использованием матрицы D на примере матрицы второго порядка.

Пусть А – действительная симметричная матрица

Метод квадратного корня - student2.ru .

Будем искать S и D в виде

Метод квадратного корня - student2.ru , Метод квадратного корня - student2.ru , где dii = ±1.

Тогда

Метод квадратного корня - student2.ru .

Из условия равенства A = S ТD S , получим три уравнения

Метод квадратного корня - student2.ru

Из первого уравнения находим

d11 = sign a11; s11 = Метод квадратного корня - student2.ru .

Далее, если а11 ¹ 0, то s12 = а12 / (s11 d11), и, наконец

Метод квадратного корня - student2.ru ,

т.е. d22 = sign (a22 Метод квадратного корня - student2.ru ); s22 = Метод квадратного корня - student2.ru .

Здесь и для общего случая матрицу S можно по аналогии с числами трактовать как корень квадратный из матрицы А, отсюда и название метода.

Итак, если SТDS известно, то решение исходной системы Метод квадратного корня - student2.ru сводится к последовательному решению систем:

Метод квадратного корня - student2.ru . (23)

Нахождение элементов матрицы S (извлечение корня из А) осуществляется по рекуррентным формулам, избежав проблемы оперирования комплексными числами:

dk = sign Метод квадратного корня - student2.ru ;

skk = Метод квадратного корня - student2.ru ; (24)

skj = Метод квадратного корня - student2.ru ;

k = 1, 2, ..., n; j = k+1, k+2, ..., n.

В этих формулах сначала полагаем k = 1 и последовательно вычисляем

d1 = sign (a11); s11 = Метод квадратного корня - student2.ru

и все элементы первой строки матрицы S (s1j, j>1), затем полагаем k = 2, вычисляем s22 и вторую строку матрицы s1j для j>2 и т.д.

Решение систем (23) ввиду треугольности матрицы S осуществляется по формулам, аналогичным обратному ходу метода Гаусса:

Метод квадратного корня - student2.ru

Метод квадратного корня - student2.ru

Метод квадратного корня почти вдвое эффективнее метода Гаусса, т.к. полезно использует симметричность матрицы.

Схема алгоритма метода квадратного корня представлена на рис. 2.3. Значение функции sign(x) равно +1 для всех х > 0 и –1 для всех x < 0.

Алгоритм реализован в методическом пособии: А.К.Синицын и др. «Алгоритмы вычислительной математики».

Проиллюстрируем метод квадратного корня, решая систему трех уравнений:

Метод квадратного корня - student2.ru Метод квадратного корня - student2.ru , Метод квадратного корня - student2.ru .

Нетрудно проверить, что матрица А есть произведение двух треугольных матриц (здесь dii = 1):

Метод квадратного корня - student2.ru .

Исходную систему запишем в виде

Метод квадратного корня - student2.ru .

Обозначим

Метод квадратного корня - student2.ru .

Тогда для вектора Метод квадратного корня - student2.ru получим систему Метод квадратного корня - student2.ru :

Метод квадратного корня - student2.ru , откуда y1 = 3; y2 = 2; y3 = 1.

Зная Метод квадратного корня - student2.ru , решаем систему Метод квадратного корня - student2.ru :

Метод квадратного корня - student2.ru , откуда х3 = 1; х2 = 1; х1 = 1.

Метод квадратного корня - student2.ru

Рис. 2.3. Блок-схема метода квадратного корня

Наши рекомендации