Дисциплина:
Раздел:
Выполнил:

Вычислительная математика

Решение СЛАУ. Метод квадратного корня.

ЧГУ, Осипов Павел

                                             www. domath.ru

 

Описание:

Метод квадратного корня предполагает, что матрица A является симметричной. Тогда матрица A может быть представлена, как произведение двух матриц L*L`, причём L` является транспонированной к L. Решение задачи сводится к отысканию матрицы L, однако, в работе вы не увидите ни одной специальной команды пакета по нахождению неизвестных, так как всё решение построено на циклических схемах..

>    A:=matrix([[12.50,1,5],[1,56,1],[5,1,17]]);

A := matrix([[12.50, 1, 5], [1, 56, 1], [5, 1, 17]])

>    Ax=b.
b:=vector([2.12,2.2,1.36]);

b := vector([2.12, 2.2, 1.36])

>    Входные элементы L[1,2] и L[2,3].

>    for i from 1 to 2
                  do
                    L[1,i+1]:=A[i+1,1]/L[1,1];
od;

L[1,2] := .2828427125

L[1,3] := 1.414213562

>    Остальные элементы L.

>    for i from 1 to 3
                 do
                    L[i,i]:=sqrt(A[i,i]-sum(L['k',i]^2,'k'=1..i-1));
od;

L[1,1] := 3.535533906

L[2,2] := 7.477967638

L[3,3] := 3.872152144

>    Элемент L[2,3], а также L[1,2],L[1,3] и L[2,2].

>    L[2,3]:=(A[2,3]-L[1,2]*L[1,3])/L[2,2];

L[2,3] := .8023570429e-1

>    Элементы y[i].

>    for i from 1 to 3
                 do
                    y[i]:=(b[i]-sum(L['k',i]*y[k],'k'=1..i-1))/L[i,i];
od;

y[1] := .5996265504

y[2] := .2715176233

y[3] := .1266000339

>    И наконец-то L`x=y.

>    for i from 3 by 1 to 1
                      do
                         x[i]:=(y[i]-sum(L[i,'k'+2]*x[i],'k'=1..3-i))/L[i,i];
od;

>    Искомые элементы x[i].

>    x[3]:=y[3]/L[3,3];

x[3] := .3269500505e-1

>    x[2]:=(y[2]-L[2,3]*x[3])/L[2,2];

x[2] := .3595820810e-1

>    x[1]:=(y[1]-L[1,2]*x[2]-L[1,3]*x[3])/L[1,1];

x[1] := .1536453413

>    Сделаем проверкку: Ax=b.

>    for i from 1 to 3
                  do
                    x[1]*A[i,1]+x[2]*A[2,i]+x[3]*A[3,i]=b[i];
od;

2.119999999 = 2.12

2.200000000 = 2.2

1.360000000 = 1.36