Курсовая работа: Метод квадратных корней для симметричной матрицы при решении систем линейных алгебраических уравнений
Перемножая матрицы T¢ и T и приравнивая матрице A, получим следующие формулы для определения tij :
(1.3)
После того, как матрица Т найдена, систему (1.1) заменяем двумя эквивалентными ей системами с треугольными матрицами
T¢y = b, Tx = y. (1.4)
Обратный ход . Записываем в развернутом виде системы (1.4):
(1.5)
(1.6)
И из этих систем (1.5) и (1.6) последовательно находим
(1.7)
При вычислениях применяется обычный контроль с помощью сумм, причем при составлении суммы учитываются все коэффициенты соответствующей строки.
Заметим, что при действительных aij могут получиться чисто мнимые tij . Метод применим и в этом случае.
Метод квадратных корней дает большой выигрыш во времени по сравнению с другими методами (например, методом Гаусса), так как, во-первых, существенно уменьшает число умножений и делений (почти в два раза для больших n), во-вторых, позволяет накапливать сумму произведений без записи промежуточных результатов.
Всего метод квадратных корней требует
операций умножения и деления (примерно в два раза меньше, чем метод Гаусса), а также n операций извлечения корня.
2. Описание программного обеспечения
Метод квадратных корней был реализован через функцию function [e,x]=mkk(a,f) , с входными переменными а и f и выходными e и х, где
а – матрица коэффициентов А,
f – столбец свободных членов,
х – столбец найденных решений,
е – столбец ошибок.
Столбец ошибок вычисляется, как Е=А*х-f.
Текст функции на языке MatLab:
function [e,x]=mkk(a,f)
f=f'; %столбец f переводим в строку
n=size(a,1); % вычисляем мерность матрицы А
if (a==a')
if (det(a)~=0) % проверяем, чтобы система имела единственное решение
if (size(f',1)==n) %проверяем соответствует ли мерность матрицы А мерности вектора f
t=zeros(n); %создаем матрицу элементов T и заполняем ее нулями