Запишем теперь метод Зейделя в матричной форме. Для этого представим матрицу A в виде суммы диагональной, нижней треугольной и верхней треугольной матриц :
A = D + L + U
где
0 0 . . . 0 0 a12a13 . . . a1M
a21 0 0 0 a23 . . . a2M
a31a32 0 0 .
L = . U= .
. .
. aM-1M
aM1aM2 . . . aMM-1 0 0 0
И матрица D- диагональная.
(k) (k) (k)
Обозначим через Yk = ( Y1 ,Y2 ... YM )вектор k-ого итерационного шага. Пользуясь этими обозначениями запишем метод Зейделя иначе :
( D + L )Yk+1 + UYk = f , k=0,1...
Приведём эту итерационную схему к каноническому виду двухслойных схем :
( D + L )(Yk+1 - Yk) +AYk = f , k=0,1...
Мы рассмотрели так называемый точечный или скалярный метод Зейделя, анологично строится блочный или векторный метод Зейделя для случая когда aii - есть квадратные матрицы, вообще говоря, различной размерности, а aijдля i<>j - прямоугольные матрицы. В этом случае Yi и fiесть векторы, размерность которых соответствует размерности матрицы aii.
ПОСТРОЕНИЕ РАЗНОСТНЫХ СХЕМ
Пусть Yi=Y(i)сеточная функция дискретного аргумента i. Значения сеточной функции Y(i) в свою очередь образуют дискретное множество. На этом множестве можно определять сеточную функцию, приравнивая которую к нулю получаем уравнение относительно сеточной функции Y(i) - сеточное уравнение. Специальным случаем сеточного уравнения является разностное уравнение.
Сеточное уравнение получается при аппроксимации на сетке интегральных и дифференциальных уравнений.
Так дифференциальное уравнение первого порядка :
dU = f(x) , x > 0
dx
можно заменить разностным уравнением первого порядка :
Yi+1 - Yi = f(xi) , xi = ih, i=0,1...
h
илиYi+1=Yi+hf(x), где h - шаг сетки v={xi=ih, i=0,1,2...}. Искомой функцией является сеточная функция Yi=Y(i).
При разностной аппроксимации уравнения второго поряда
2
d U = f(x)
2dx
получим разностное уравнение второго порядка :
2
Yi+1 - 2Yi + Yi+1 = yi , где yi=hfi
fi = f(xi)
xi = ih
Для разностной aппроксимациипроизводных U’,U’’,U’’’можно пользоваться шаблонами с большим числом узлов. Это приводит к разностным уравнениям более высокого порядка.
Анологично определяется разностное уравнение относительно сеточной функции Uij = U(i,j) двух дискретных аргументов. Например пятиточечная разностная схема “крест” для уравнения Пуассона
Uxx + Uyy = f(x,y)
на сетке Wвыглядит следующим образом :
Ui-1j-2Uij+Ui+1j+Uij-1-2Uij+Uij+1 =fij
2 2
hx hy
где hx - шаг сетки по X
hy - шаг сетки поY
Сеточное уравнение общего вида можно записать так:
N
CijUj = fi i=0,1...Nj=0
Оно содержит все значения U0, U1 ... UNсеточной функции. Его можно трактовать как рзностное уравнение порядка Nравного числу узлов сетки минус единица.
В общем случае под i - можно понимать не только индекс , но и мультииндекс т.е. вектор i = (i1 ... ip)с целочисленными компонентами и тогда :
СijUj =fi iÎWjÎW
где сумирование происходит по всем узлам сетки W. Если коэффициенты Сijне зависят от i, тоуравнение называют уравнением с постоянными коэффициентами.
Аппроксимируем нашу задачу т.е. заменим уравнение и краевые условия на соответствующие им сеточные уравнения.
U=U(x,y)
y M b M-1 Uij jj10 1 2 i N-1 N=a xi |
где
xi=x0+ihx
yi=y0+jhy
hx = a/N ,
hy = b/Mи т.к.
x0=y0
то
xi=ihx, yi=jhy, i=0...N
j=0...M
Найдём разностные производные входящие в уравнение
2
DU = f
(т.е построим разностный аналог бигармонического уравнения).
Uxij = Ui+1j - Uij , Uxi-1j = Uij - Ui-1j
hx hx
Uxxij = Ui-1j - 2Uij + Ui+1j
hx
Рассмотрим Uxxxxijкак разность третьих производных :
Uxxi-1j - Uxxij- Uxxij - Uxxi+1j
Uxxxxij = hx hx = Ui-2j - 4Ui-1j + 6Uij - 4Ui+1j + Ui+2j
4
hx hx
Анологично вычислим производную по y :
Uyyyyij = Uij-2 - 4Uij-1 + 6Uij - 4Uij+1 +Uij+2
4
hy
Вычислим смешанную разностную производнуюUxxyy :
Uxxij-1 - Uxxij - Uxxij - Uxxij+1
(Uxx)yyij = hy hy = Uxxij-1 - 2Uxxij +Uxxij+1 =
2
hy hy
= Ui-1j-1 - 2Uij-1 + Ui+1j-1 - 2Ui-1j - 2Uij + Ui+1j + Ui-1j-1 - 2Uij+1 + Ui+1j+1
2 2 2 2 2 2
hxhy hxhy hxhy
В силу того чтоDU = f
имеем:
Ui-2j - 4Ui-1j + 6Uij - 4Ui+1j +Ui+2j +
4
hx
+ 2Ui-1j-1 - 2Uij-1 + Ui+1j-1 - 4Ui-1j - 2Uij +Ui+1j + 2 Ui-1j+1 -2Uij+1 + Ui+1j+1 +
2 2 2 2 2 2
hxhy hxhy hxhy
+ Uij-2 - 4Uij-1 + 6Uij - 4Uij+1 + Uij+2 = fij (*)
4
hy
Это уравнение имеет место для
i=1,2, ... N-1
j=1,2, ... M-1
Рассмотрим краевые условия задачи. Очевидно следующее :
x=0 ~ i=0
x=a ~ xN=a
y=0 ~ Yo=0
y=b ~ YM=b
1)х=0 (левая граница областиG)
Заменим условия
U = 0
x=o
Uxxx = 0
x=o
на соответствующие им разностные условия
Uoj=0
U-1j=U2j - 3U1j (1`)
2) х=а(правая граница областиG)
i=N
Ux = 0 x=aUxxx = 0
x=aиз того что Ui+1j - Ui-1j = 0
2hx
UN+1j = UN-1j
UNj = 4 UN-1j - UN-2j (2`)
3
3)у=0 (нижняя граница области G)
j=0Ui ,-1 = Ui1
Ui0 = 0 (3`)
это есть разностный аналогUy = 0
y=o
U =0
y=o
4)у=b
i=M
U = 0
y=bт.е.UiM=0(**)
Распишем через разностные производныеUxx + Uyy =0и учитывая чтоj=Mи (**) получим