Численные методы в среде символьной математики. Программирование и решение задач: Учебно-методическое пособие, страница 42

A:=¦ -0.270207  -1.17545   0.397987 ¦,     b:=[3,2,1].

   …  0.27363   0.397987   -1.98353 ‡

Из исходной матрицы выделим диагональную матрицу D:

   „ -2.84101      0         0    †

D:=¦     0     -1.17545      0    ¦

   …     0         0     -1.98353 ‡

H:=A-D

   „     0      -0.270207   0.27363 †

H:=¦ -0.270207      0      0.397987 ¦

   …  0.27363   0.397987       0    ‡

Последовательные приближения выполняются по формуле:

           -1                             

ITERATES(-D  ·(H•x-[b]`),x,[ 1  1  1 ]`,5)

„„ 1 † „ -1.05475  † „ -0.920420 † „ -1.00521  † „ -0.973112 † „ -0.983047 ††

¦¦   ¦ ¦           ¦ ¦           ¦ ¦           ¦ ¦           ¦ ¦           ¦¦

¦¦ 1 ¦,¦ -1.59276  ¦,¦ -1.51506  ¦,¦ -1.81806  ¦,¦ -1.78701  ¦,¦ -1.81894  ¦¦

¦¦   ¦ ¦           ¦ ¦           ¦ ¦           ¦ ¦           ¦ ¦           ¦¦

…… 1 ‡ … -0.165554 ‡ … -0.969238 ‡ … -0.935116 ‡ … -1.00760  ‡ … -0.996950 ‡‡

После 5 итераций решение еще недостаточно близкое к значениям, полученным в предыдущих пунктах. Исполним процедуру итерационных подстановок 10 раз и 20раз:

          -1                              

ITERATE(-D  ·(H•x-[b]`),x,[ 1  1  1 ]`,10)

„ -0.979894 †

¦ -1.81602  ¦

… -1.00373  ‡

          -1                              

ITERATE(-D  ·(H•x-[b]`),x,[ 1  1  1 ]`,20)

„ -0.979910 †

¦ -1.81605  ¦

… -1.00371  ‡

Двадцать итераций уже показывают результат, полученный в предыдущих пунктах.

Разложение матрицы на произведение треугольных

   „ -2.84101   -0.270207   0.27363 †

A:=¦ -0.270207  -1.17545   0.397987 ¦,     b:=[3,2,1]

   …  0.27363   0.397987   -1.98353 ‡

Составим диагональную матрицу D из знаков главной диагонали матрицы A, а в качестве треугольных матриц возьмем транспонированные относительно друг друга матрицы: верхнюю и нижнюю треугольные HU и HL. Это возможно, так как матрица A является симметрической.

D:=VECTOR(VECTOR(IF(i=j,SIGN(A   ),0),j,1,3),i,1,3)

                              i,j                  

„ -1   0   0 †

¦  0  -1   0 ¦

…  0   0  -1 ‡

Установочная матрица HU присваивает элементам символьные значения :

    „ h11:=h11  h12:=h12  h13:=h13 †

HU:=¦     0     h22:=h22  h23:=h23 ¦

    …     0         0     h33:=h33 ‡

Если последующими операторами элементы матрицы HU получат числовые значения, то для возврата к матрице HU с символьными элементами необходимо в операторе присваивания выделить только правую часть и исполнить его. Это действие сформирует оператор присваивания, благодаря которому матрица HU окажется с символьными элементами:

    „ h11  h12  h13 †

HU:=¦  0   h22  h23 ¦

    …  0    0   h33 ‡

DHU:=D•HU

     „ -h11  -h12  -h13 †

DHU:=¦   0   -h22  -h23 ¦

     …   0     0   -h33 ‡

HL:=HU`

    „ h11   0    0  †

HL:=¦ h12  h22   0  ¦

    … h13  h23  h33 ‡

Произведение этих 3-х матриц даст матрицу H, которая должна быть равна исходной матрице A. Требование равенства является условием того, чтобы составить систему уравнений для вычисления неизвестных элементов матриц HU и HL.

H:=HL•D•HU

   „       2                                      †

   ¦   -h11        -h11·h12          -h11·h13     ¦

   ¦                  2    2                      ¦

H:=¦ -h11·h12     -h12 -h22      -h12·h13-h22·h23 ¦

   ¦                                  2    2    2 ¦

   … -h11·h13  -h12·h13-h22·h23   -h13 -h23 -h33  ‡

Заметим, что матрица H является симметрической, поэтому достаточно составить уравнения для последовательного вычисления лишь элементов, расположенных в первой строке – h11, h12, h13, во второй строке – h22, h23, и в третьей – h33. Матрица из операторов, которые присваивают значения корней поэлементных равенств, получаемых из матриц H и A, будет иметь вид:

„ h11:=RHS€(SOLVE(H   -A   ,[h11])) ‚ †

¦         ¦        1,1  1,1         ¦ ¦

¦                                 1ƒ ¦

¦ h12:=RHS€(SOLVE(H   -A   ,[h12])) ‚ ¦

¦         ¦        1,2  1,2         ¦ ¦

¦                                 1ƒ ¦

¦ h13:=RHS€(SOLVE(H   -A   ,[h13])) ‚ ¦

¦         ¦        1,3  1,3         ¦ ¦

¦                                 1ƒ ¦

¦ h22:=RHS€(SOLVE(H   -A   ,[h22])) ‚ ¦

¦         ¦        2,2  2,2         ¦ ¦