Метод релаксации матрицы
Математическая постановка задачи релаксации матрицы
417 группа, ММП ВМК МГУ
Овсиенко Олеся Павловна
Ноябрь 2025
Постановка исходной задачи
Требуется численно решить краевую задачу для уравнения Лапласа на прямоугольной области:
[math]\displaystyle{ \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} = 0, \quad (x,y) \in \Omega = [0,1] \times [0,1] }[/math]
с граничными условиями Дирихле:
[math]\displaystyle{ u(x,y) = g(x,y), \quad (x,y) \in \partial\Omega, }[/math]
где [math]\displaystyle{ \partial\Omega }[/math] — граница области.
Дискретизация задачи
Вводится равномерная сетка с шагом [math]\displaystyle{ h = \frac{1}{N-1} }[/math]:
[math]\displaystyle{ x_i = i \cdot h, \quad y_j = j \cdot h, \quad i,j = 0, 1, \dots, N-1. }[/math]
Аппроксимируя вторые производные конечными разностями, получаем дискретный аналог уравнения Лапласа для внутренних узлов сетки:
[math]\displaystyle{ \frac{u_{i-1,j} - 2u_{i,j} + u_{i+1,j}}{h^2} + \frac{u_{i,j-1} - 2u_{i,j} + u_{i,j+1}}{h^2} = 0, }[/math]
что после преобразования даёт:
[math]\displaystyle{ u_{i,j} = \frac{u_{i-1,j} + u_{i+1,j} + u_{i,j-1} + u_{i,j+1}}{4}. }[/math]
Итерационный метод решения
Для решения полученной системы линейных уравнений используется метод Якоби (релаксации). На каждой итерации [math]\displaystyle{ k }[/math] новые значения вычисляются как:
[math]\displaystyle{ u_{i,j}^{(k)} = \frac{u_{i-1,j}^{(k-1)} + u_{i+1,j}^{(k-1)} + u_{i,j-1}^{(k-1)} + u_{i,j+1}^{(k-1)}}{4}, }[/math]
где [math]\displaystyle{ i,j = 1, 2, \dots, N-2 }[/math] — индексы внутренних узлов.
Критерий остановки
Итерационный процесс прекращается, когда максимальное изменение между итерациями становится меньше заданной точности:
[math]\displaystyle{ \max_{i,j} |u_{i,j}^{(k)} - u_{i,j}^{(k-1)}| \lt \varepsilon_{\text{max}}. }[/math]
Начальные и граничные условия
В конкретной реализации:
- Граничные условия: [math]\displaystyle{ u_{0,j} = u_{N-1,j} = u_{i,0} = u_{i,N-1} = 0 }[/math]
- Начальное приближение для внутренних точек: [math]\displaystyle{ u_{i,j}^{(0)} = 1 + i + j }[/math]
Контроль корректности
Для верификации результата вычисляется контрольная сумма:
[math]\displaystyle{ S = \frac{1}{N^2} \sum_{i=0}^{N-1} \sum_{j=0}^{N-1} u_{i,j} \cdot (j+1) \cdot (i+1), }[/math]
которая должна совпадать для всех корректных реализаций алгоритма.
Категория:Численные методы Категория:Методы решения уравнений в частных производных