You are on page 1of 9

1 Rozwiązywanie algebraicznych równań li-

niowych
1.1 Metoda Gaussa
Rozwiązujemy układ n równań liniowych z m prawymi stronami postaci:

AX = B (1.1)

gdzie
A = {aij }, i, j = 1, 2, 3, . . . , n
X = {xij }, i = 1, 2, 3 . . . , n; j = 1, 2, 3 . . . , m
B = {aij }, i = 1, 2, 3 . . . , n; j = n + 1, n + 2, n + 3, . . . , n + m
Układ równań rozwiązujemy w dwóch etapach:
1. Eliminacja
(k−1)
(k) (k−1) aik (k−1)
aij = aij − a
(k−1) kj
(1.2)
akk
dla
k =1, 2, 3, . . . n − 1,
i =k + 1, k = 2, k + 3, . . . , n,
j =k + 1, k + 2, k + 3, . . . , k + m

Po eliminacji macierz układu jest macierzą trójkątną górną.


2. Postępowanie odwrotne.
(n−1)
a
xni = nn+i ,
ann
dla i = 1, 2, 3, . . . , m
n
(k−1) X (k−1) (1.3)
akn+i − akj xji
j=k+1
xki = (k−1)
,
akk
dla k = n − 1, n − 2, n − 3, . . . , 1, i = 1, 2, 3, . . . , m

2 Obliczanie macierzy odwrotnej i wyznacz-


nika metodą Gaussa
Szukamy macierzy X = {xij }, i, j = 1, 2, 3, . . . , n odwrotnej do ma-
cierzy A = {aij }, i, j = 1, 2, 3, . . . , n, szukamy więc macierzy spełniającej
warunek:
AX = E (2.4)
gdzie E jest macierzą jednostkową. Wystarczy więc rozwiązać metodą Gaus-
sa układ n równań z n prawymi stronami. Prawe strony układu równań są
utworzone z kolumn macierzy jednostkowej.
Przekształcenia dokonywane w procesie eliminacji Gaussa (dodawanie
wierszy wymnożonych przez stałą) nie zmieniają wyznacznika macierzy, ma-
my więc
det(A) = det(An−1 ) (2.5)

Macierz An−1 jest macierzą trójkątną, a wyznacznik takiej macierzy jest


iloczynem elementów z przekątnej głównej. Czyli

(1) (2) (n−1)


det(A) = a11 a22 a33 · . . . · ann ‘ (2.6)

3 Rozkład LLT - metoda Banachiewicza


Rozwiązujemy układ n równań liniowych postaci

Ax = b (3.7)

gdzie macierz A jest macierzą symetryczną, czyli A = AT i

A = {aij }, i, j = 1, 2, 3, . . . , n
xT = {xi }, i = 1, 2, 3 . . . , n
bT = {bi }, i = 1, 2, 3 . . . , n;

Macierz A należy rozłożyć na czynniki trójkątne:

A = LLT (3.8)

gdzie L = {lij }, i, j = 1, 2, 3, . . . , n jest macierzą trójkątną dolną. Dostaje-


my zatem układ równań postaci:

T
| {zx} = b
LL (3.9)
y

i, jeżeli uwzględnimy powyższe oznaczenie, to rozwiązanie układu 3.9, co


za tym idzie układu 3.7 można sprowadzić do rozwiązania dwóch układów
równań o macierzach trójkątnych:

Ly = b y T = {y1 , y2 , y3 , . . . , yn } (3.10)

LxT = y (3.11)
Elementy macierzy L można policzyć z wzorów
√ ai1
l11 = a11 , li1 = , i > 1,
l11
v
u
u i−1
X
2
lii = taii − lik , 1<i¬n
k=1
j−1 (3.12)
X
aij − lik ljk
k=1
lij = , i>j
lij
lij = 0, i < j.

Rozwiązanie układów (3.10)(3.11) równań otrzymujemy licząc kolejno


b1
y1 = ,
l11
i−1
X
bi − lik yk
k=1
yi = , i>1
lii (3.13)
yn
xn =
lnn
n
X
yi − lki xk
k=i+1
xi = , i<n
lii

4 Rozkład LDLT
Rozwiązujemy układ n równań liniowych postaci

Ax = b (4.14)

gdzie macierz A jest macierzą symetryczną, czyli A = AT i


A = {aij }, i, j = 1, 2, 3, . . . , n
T
x = {xi }, i = 1, 2, 3 . . . , n
bT = {bi }, i = 1, 2, 3 . . . , n;

Macierz A rozkładamy na czynniki trójkątno - diagonalne:

A = LDLT , (4.15)

gdzie
L ={lij }, i, j = 1, 2, 3, . . . , n - macierz trójkątna dolna
lii =1, i = 1, 2, 3, . . . , n
D ={dij } i, j = 1, 2, 3, . . . , n - macierz diagonala
Dostajemy zatem układ równań postaci:
T
L D |L{zx} = b (4.16)
z
| {z }
y

i, jeżeli uwzględnimy powyższe oznaczenie, to rozwiązanie układu 4.16, co za


tym idzie układu 4.14 można sprowadzić do rozwiązania trzech układów n
równań o macierzach trójkątnych lub diagonalnych:

Ly = b (4.17)
Dz = y (4.18)
LxT = y (4.19)
Elementy macierzy L, D policzymy z wzorów

ai1
d11 = a11 , li1 = , i > 1,
d11
i−1
2
X
dii = aii − lik dkk , 1<i¬n
k=1
j−1
X (4.20)
aij − lik ljk dkk
k=1
lij = , i>j
dij
lij = 0, i < j,
lii = 1, i > 0.

Rozwiązanie układów (4.17),(4.18),(4.19) równań otrzymujemy licząc kolejno

y 1 = b1 ,
i−1
X
y i = bi − lik yk , i>1
k=1
yi
zi = , i ­ 1,
dii (4.21)
xn = zn
n
X
zi − lki xk
k=i+1
xi = , i<n
lii

5 Rozkład LU (metoda Choleskiego)


Rozwiązujemy układ n równań liniowych postaci:

Ax = b (5.22)
gdzie

A = {aij }, i, j = 1, 2, 3, . . . , n
T
x = {xi }, i = 1, 2, 3 . . . , n
bT = {bi }, i = 1, 2, 3 . . . , n;

Macierz A należy rozłożyć na czynniki trójkątne:

A = LU (5.23)

gdzie L = {lij }, i, j = 1, 2, 3, . . . , n jest macierzą trójkątną dolną, a U =


{uij }, i, j = 1, 2, 3, . . . , n jest macierzą trójkątną górną. Dostajemy zatem
układ równań postaci:

LU x=b
|{z} (5.24)
y

i, jeżeli uwzględnimy powyższe oznaczenie, to rozwiązanie układu 5.24, co


za tym idzie układu 5.22 można sprowadzić do rozwiązania dwóch układów
równań o macierzach trójkątnych:

Ly = b (5.25)

Ux = y (5.26)
Elementy macierzy L i U można policzyć z wzorów

li1 = ai1 , i ­ 1,
j−1
X
lij = aij − lik ukj , i­j>1
k=1
a1j
u1j = , i > 1, (5.27)
l11
i−1
X
aij − lik ukj
k=1
uij = , i­j>1
lii
Rozwiązanie układów (5.25)(5.26) równań otrzymujemy licząc kolejno
b1
yi = ,
l11
i−1
X
bi − lik yk
k=1
yi = , i>1 (5.28)
lii
xn = yn
n
X
xi = yi − uik xk , i<n
k=i+1
6 Rozkład LDU
Rozwiązujemy układ n równań liniowych postaci:

Ax = b (6.29)

gdzie

A = {aij }, i, j = 1, 2, 3, . . . , n
T
x = {xi }, i = 1, 2, 3 . . . , n
bT = {bi }, i = 1, 2, 3 . . . , n;

Macierz A rozkładamy na czynniki trójkątno - diagonalne:

A = LDU , (6.30)

gdzie

L ={lij }, i, j = 1, 2, 3, . . . , n - macierz trójkątna dolna


lii = 1, i = 1, 2, 3, . . . , n
D ={dij } i, j = 1, 2, 3, . . . , n - macierz diagonala
U ={uij }, i, j = 1, 2, 3, . . . , n - macierz trójkątna górna
uii = 1, i = 1, 2, 3, . . . , n

Dostajemy zatem układ równań postaci:

L D |{z}
Ux = b (6.31)
z
| {z }
y

i, jeżeli uwzględnimy powyższe oznaczenie, to rozwiązanie układu 6.31, co za


tym idzie układu 6.29 można sprowadzić do rozwiązania trzech układów n
równań o macierzach trójkątnych lub diagonalnych:

Ly = b (6.32)

Dz = y (6.33)

Ux = y (6.34)

Elementy macierzy L, D U policzymy z wzorów


d11 = a11 ,
i−1
X
dii = aii − lik uki dkk , i>1
k=1
ai1
li1 = , i¬n
d11
j−1
X
aij − lik ukj dkk (6.35)
k=1
lij = , i>j>1
djj
a1j
u1j = ,
d11
i−1
X
aij − lik ukj dkk
k=1
uij = , 1<i<j
dii
Rozwiązanie układów (6.32),(6.33),(6.34) równań otrzymujemy licząc kolejno
y1 = b1
i−1
X
yi = bi − lik yk , i>1
k=1
yi
zi = (6.36)
dii
xn = zn
n
X
xi = zi − uik xk , i<n
k=i+1

7 Metoda iteracji prostej (Jacobiego)


Rozwiązujemy układ n równań liniowych postaci:
Ax = b (7.37)
gdzie
A = {aij }, i, j = 1, 2, 3, . . . , n
xT = {xi }, i = 1, 2, 3 . . . , n
T
b = {bi }, i = 1, 2, 3 . . . , n;
Macierz A zapisujemy w postaci sumy trzech macierzy
A=L+D+U (7.38)
gdzie
  
0 i¬j 0 i 6= j 0 i­j
lij = , dij = , uij = (7.39)
aij i>j aij i=j aij i<j
Uwzględniając powyższe, zapiszmy układ 7.37 w postaci

(L + U )x + Dx = b (7.40)

a następnie przekształćmy go do postaci

x = D −1 b − D −1 (L + U )x + Dx (7.41)

Po wprowadzeniu oznaczeń

C = −D −1 (L + U ), f = D −1 b (7.42)

równanie 7.41 przyjmuje postać

x = Cx + f (7.43)

Warto zauważyć, że elementy macierzy C i współrzędne wektora f można


policzyć z wzorów 
0 i=j bi
cij = , fi = (7.44)
− aij i 6= j aii
aii

Na podstawie wzoru 7.43 budujemy następujący proces iteracyjny

x(i) = Cx(i−1) + d, dla i = 1, 2, 3, . . .


x(0) − jest przybliżeniem początkowym (7.45)
− zwykle przyjmuje się x(0) = f

Proces iteracyjny można zakończyć jeśli

x(i) − x(i−1)
<ε (7.46)
x(i)

gdzie ε jest żądaną dokładnością rozwiązania.

8 Metoda iteracji Gaussa-Seidel’a


Rozwiązujemy układ n równań liniowych postaci:

Ax = b (8.47)

gdzie

A = {aij }, i, j = 1, 2, 3, . . . , n
T
x = {xi }, i = 1, 2, 3 . . . , n
bT = {bi }, i = 1, 2, 3 . . . , n;
Macierz A zapisujemy w postaci sumy trzech macierzy

A=L+D+U (8.48)

gdzie
  
0 i¬j 0 i 6= j 0 i­j
lij = , dij = , uij = (8.49)
aij i>j aij i=j aij i<j

Zapiszmy układ 8.47 w postaci

Lx + U x + Dx = b (8.50)

a następnie przekształćmy go do postaci

x = D −1 b − D −1 Lx − D −1 U x (8.51)

Po wprowadzeniu oznaczeń

G = −D −1 L, H = −D −1 U , p = −D −1 b (8.52)

równanie 8.51 przyjmuje postać

x = Gx + Hx + p (8.53)

Warto zauważyć, że elementy macierzy G, H i współrzędne wektora p można


policzyć z wzorów
 
0 i¬j 0 i­j bi
gij = hij =  aij , pi = (8.54)
− aij i>j − aii i<j aii
aii

Na podstawie wzoru 8.53 budujemy następujący proces iteracyjny

x(i) = Gx(i) + Hx(i−1) + p, dla i = 1, 2, 3, . . .


x(0) − jest przybliżeniem początkowym (8.55)
(0)
− zwykle przyjmuje się x =p

Proces iteracyjny można zakończyć jeśli

x(i) − x(i−1)
<ε (8.56)
x(i)

gdzie ε jest żądaną dokładnością rozwiązania.

You might also like