Компьютерный практикум по алгебре в среде Matlab. Практическое занятие 7
Краткая теория и операции в Matlab svd(A) – сингулярное разложение матрицы A [U,S,V] = svd(A) – сингулярное разложение матрицы A, такое, что A = U*S*V'. Тогда решение СЛАУ вида Ax=b будет выглядеть так: x=U*S-1*V'*b. R = chol(A) – верхняя треугольная матрица по схеме Холецкого;
L = chol(A,'lower') – нижняя треугольная матрица. A=L*L'=R'*R, причём все диагональные элементы матриц L и R положительны. Вместо исходной СЛАУ решаются (если Ax=b то x=A\b) 2 системы: Ly=b, L'x=y (или Rx=y), т.е. в итоге в результате 2 операций можно получить x. Matlab: задание Решите систему методом сингулярного разложения: Решите систему из п. 1 методом разложения Холецкого. Напишите алгоритм итерационного метода Ричардсона (см. источник 1, стр. 130, или слайд 4) и решите с его помощью систему из пункта 1. Напишите алгоритм метода простой итерации (см. стр. 132 источника 1 или слайды 5-6) и решите с его помощью систему из пункта 1. Напишите алгоритм итерационного метода Гаусса-Зейделя (см. источник 1, стр. 135 или слайды 7-8) и решите с его помощью систему из пункта 1. Напишите алгоритм итерационного метода последовательной верхней релаксации (SOR) (см. источник 1, стр. 136, или слайды 9-10) и решите с его помощью систему из пункта 1. Напишите алгоритм итерационного метода сопряжённых градиентов (см. источник 1, стр. 181) и решите с его помощью систему из пункта 1. Если сложно создать алгоритм по первому источнику, воспользуйтесь вторым, в котором есть блок-схемы алгоритмов, или слайдами ниже, в которых эти блок-схемы правильные)