Численные методы линейной алгебры

Первое практическое задание по курсу лекций “Численные методы линейной алгебры”.

Более понятно написано на скрине. Матрицы, с которыми надо работать скинуть зипфайлом при обсуждении
ТГ для связи @The_Devine_Comedy

Требуется двумя различными методами получить QR-разложение данной матрицы ( A \in R^{n \times n} ), сравнить полученные разложения, вычислив матричную норму разности

[| A - QR |]

для каждого построенного разложения, и, воспользовавшись разложением с меньшей нормой разности, решить систему уравнений

[Ax = f.]

Предлагаются следующие методы QR-разложения:

  1. метод Грама-Шмидта ортогонализации столбцов матрицы,

Матрица ( A ), разложение которой следует получить, а также методы разложения определяются вариантом задания. В качестве матричной нормы следует использовать норму, подчиненную максимум-норме арифметического пространства ( R^n ).

Систему уравнений предлагается решать в тестовом режиме. Необходимо с помощью генератора псевдослучайных чисел построить вектор ( x \in R^n ) с компонентами ( x_k \in [-1, 1], , k = 1, 2, \dots, n ) и решать систему с правой частью ( f = Ax ).


Отчет по заданию должен включать в себя:

  • краткую постановку задачи с описанием методов факторизации матрицы,
  • результаты сравнения полученных разложений, время в миллисекундах, потраченное на построение разложений,
  • алгоритм решения системы уравнений с помощью QR-разложения,
  • максимум-норму невязки

[r = f - Ax,]

где ( \tilde{x} ) — численное решение системы уравнений, а также максимум-норму погрешности решения

[\delta = \tilde{x} - x,]

  • время в миллисекундах, потраченное на решение системы уравнений.

К файлу с отчетом следует приложить исходники программы, скрипты ее компиляции и запуска.
Программу, выполняющую все необходимые вычисления, следует писать на языке программирования С/C++


.

1 лайк