background image

 

 

Rozwiązywanie układów  równań 
liniowych

Układ równań liniowych Ax=b, gdzie A jest 
daną macierzą o m wierszach i n kolumnach, b – 
wektorem kolumnowym m danych liczb, x 
wektorem kolumnowym n niewiadomych, może 
posiadać nieskończenie wiele rozwiązań, 
dokładnie jedno rozwiązanie lub nie posiadać 
wcale rozwiązań (układ sprzeczny).

O ile warunki istnienia  rozwiązania są 
teoretycznie proste, to numeryczne 
wyznaczanie rozwiązania może być zadaniem 
bardzo trudnym.

Istnieje wiele metod rozwiązywania układów 
równań liniowych i decyzja którą z nich wybrać, 
powinna zależeć nie tylko od postaci macierzy 
A, ale także od specyfiki zagadnienia, które 
reprezentuje dany układ równań.

background image

 

 

Jeśli na przykład istnieje potrzeba wielokrotnego 
rozwiązywania układu równań przy różnych 
wartościach wektora b, to należy zastosować 
metodę, która przekształci układ do prostszej 
postaci, ułatwiającej wyznaczanie dalszych 
rozwiązań.

Należy pamiętać, ze istnieją trzy  przyczyny 
występowania błędów w numerycznie 
wyznaczonym rozwiązaniu: 

-błąd spowodowany niedokładnymi wartościami 
współczynników układu równań (błąd wejściowy), 

-błąd powstający na skutek popełniania błędów 
podczas numerycznego wykonywania działań 
arytmetycznych (błąd zaokrągleń) 

-błąd wyznaczania rozwiązania spowodowany 
sposobem działania metody (błąd metody)

background image

 

 

Metody dokładne

Jeżeli rozwiązanie układu równań Ax=b polega 
na takim przekształceniu danych  A  i  b, że przy 
założeniu dokładnie wykonywanych działań 
arytmetycznych po skończonej liczbie działań  
otrzymujemy rozwiązanie, to taką metodę 
rozwiązania nazywamy metodą dokładną.

Do metod dokładnych należy zaliczyć wyznaczanie 
rozwiązań na podstawie gotowych wzorów 
(wzorów Cramera)

Dla układu 2 równań liniowych

mamy następujące gotowe wzory

2

2

22

1

21

1

2

12

1

11

b

x

a

x

a

b

x

a

x

a

(1)

12

21

22

11

2

21

2

11

2

12

21

22

11

2

12

1

22

1

,

a

a

a

a

b

a

b

a

x

a

a

a

a

b

a

b

a

x

(2)

background image

 

 

Wzory powyższe wynikają ze wzorów Cramera

Wartości wyznaczników obliczamy ze wzorów

Wyznacznik W

1

 powstaje przez wstawienie kolumny 

wyrazów wolnych do pierwszej  kolumny 
wyznacznika W

Wyznacznik W

2

 powstaje przez wstawienie 

kolumny wyrazów wolnych do drugiej  kolumny 
wyznacznika W

Wyznacznik główny powstaje z elementów 
macierzy A

W

W

x

W

W

x

2

2

1

1

,

(3)

12

21

22

11

22

21

12

11

a

a

a

a

a

a

a

a

W

(4)

2

12

1

22

2

12

22

1

22

2

12

1

1

b

a

b

a

b

a

a

b

a

b

a

b

W

(5)

1

21

2

11

2

21

1

11

2

b

a

b

a

b

a

b

a

W

(6)

background image

 

 

Układ 3 równań liniowych

Wzory Cramera

Wyznaczniki

3

3

33

2

32

1

31

2

3

23

2

22

1

21

1

3

13

2

12

1

11

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

(7)

W

W

x

W

W

x

W

W

x

3

3

2

2

1

1

,

,

(8)

33

32

31

23

22

21

13

12

11

a

a

a

a

a

a

a

a

a

(9)

3

32

31

2

22

21

1

12

11

3

33

3

31

23

2

21

13

1

11

2

33

32

3

23

22

2

13

12

1

1

,

,

b

a

a

b

a

a

b

a

a

W

a

b

a

a

b

a

a

b

a

W

a

a

b

a

a

b

a

a

b

W

(10
)

background image

 

 

Schemat Sarrusa 

wyznaczania wartości wyznacznika 3 stopnia

32

31

22

21

12

11

33

32

31

23

22

21

13

12

11

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

dopisujemy

i tworzymy iloczyny

+        +         +

        

-      -          -

33

21

12

32

23

11

31

22

13

32

21

13

31

23

12

33

22

11

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

(11)

Stosując metodę Cramera należy obliczyć (n+1) 
wyznaczników, które wymagają co najmniej 
(n+1)! mnożeń. Jest to więc metoda bardzo 
pracochłonna i dlatego jej się nie stosuje dla 
n>4.

background image

 

 

Układ n równań liniowych z n niewiadomymi

W zapisie macierzowym ma on postać

Macierz współczynników A jest macierzą 
nieosobliwą,    tzn. det A  0 (wyznacznik 

macierzy A jest różny od zera).

Istnieje więc macierz odwrotna A

-1

. W celu 

rozwiązania układu mnożymy obie strony 
równania (13) lewostronnie przez macierz A

-1 

otrzymujemy

n

n

nn

n

n

n

n

n

n

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

2

2

1

1

2

2

2

22

1

21

1

1

2

12

1

11

(12)

Ax = b

(13)

x= A

-1

b

(14)

background image

 

 

Macierz odwrotną A

-1

 obliczamy ze wzoru

A

A

A

D

det

1

(15)

gdzie A

D

 jest transponowana macierzą dopełnień 

algebraicznych, czyli tzw. macierzą dołączoną o 
postaci

nn

n

n

nk

k

k

n

n

D

A

A

A

A

A

A

A

A

A

A

A

A

A

2

1

2

1

2

22

12

1

21

11

(16)

 gdzie elementy A

ij

 są dopełnieniami 

algebraicznymi elementów     , tzn. wartościami 
wyznaczników stopnia –1 powstałych z 
wyznacznika det A przez skreślenie i-tego wiersza i 
j-tej kolumny  pomnożonymi przez (-1)

i+j

 . 

Otrzymujemy więc

ij

a

b

A

A

x

D

det

1

(17)

background image

 

 

Zauważmy, że w iloczynie 

n

nn

n

n

n

nk

k

k

n

n

n

n

D

b

A

b

A

b

A

b

A

b

A

b

A

b

A

b

A

b

A

b

A

b

A

b

A

b

A

2

2

1

1

2

2

1

1

2

2

22

1

12

1

2

21

1

11

(18
)

 dowolny k-ty wiersz jest równy wartości 
wyznacznika D

k

 powstałego z wyznacznika det A 

przez zastąpienie w nim k-tej kolumny kolumną 
wyrazów wolnych

nn

k

n

n

k

n

n

in

k

i

i

k

i

i

n

k

k

n

k

k

k

n

j

jk

k

a

a

b

a

a

a

a

b

a

a

a

a

b

a

a

a

a

b

a

a

b

A

D

1

,

1

,

1

1

,

1

,

1

2

1

,

2

2

1

,

2

21

1

1

,

1

1

1

,

1

11

1

det

(19)

background image

 

 

Ostatecznie równość (14) przyjmie postać

Wzory Cramera

Z tego równania bezpośrednio wynikają wzory 
Cramera

n

k

n

k

D

D

D

D

A

x

x

x

x

2

1

2

1

det

1

(20)

n

k

A

D

x

k

k

,

,

2

,

1

,

det

(21)

background image

 

 

Układy równań z macierzą trójkątną 
górną

Jeżeli macierz  układu n równań z 
niewiadomymi Ax = b

jest macierzą trójkątną górną i wszystkie elementy 
na przekątnej głównej są różne od zera, 
rozwiązanie takiego układu można otrzymać 
rekurencyjnie.

Z ostatniego równania możemy obliczyć 
niewiadomą x

n

Podstawiając x

n

 do pozostałych równań możemy 

obliczyć niewiadomą x

n-1

a następnie postępując 

podobnie pozostałe niewiadome według wzoru:

n

n

nn

n

n

n

n

b

x

a

b

x

a

x

a

b

x

a

x

a

x

a

2

2

2

22

1

1

2

12

1

11

(22)

nn

n

n

a

b

(23)

1

,

,

2

,

1

,

1

1

n

n

i

a

x

a

x

a

b

x

ii

i

ii

in

in

i

i

(24)

background image

 

 

Układy równań z macierzą trójkątną 
dolną

Niech macierz układu n równań z n 
niewiadomymi  Ax = b jest macierzą trójkątną 
dolną z 1 na głównej przekątnej. Mamy zatem 
układ równań postaci

którego niewiadome                 obliczamy ze wzoru 
rekurencyjnego

n

x

x

x

,

,

,

2

1

Łatwo obliczyć, że dla wyznaczenia wektora 
należy wykonać n dzieleń  i                         
mnożeń oraz                    odejmowań    

n

n

M

2

1

2

2

1

n

n

D

2

1

2

2

1

n

n

n

n

i

i

i

ii

i

i

b

x

x

a

x

a

b

x

x

a

x

a

x

a

b

x

x

a

x

a

b

x

x

a

b

x

2

2

1

1

1

1

2

2

1

1

3

3

2

32

1

31

2

2

1

21

1

1

(25)

n

i

x

a

x

a

b

x

b

x

i

ii

i

i

i

,

,

3

,

2

,

1

1

1

1

1

1

(26)

background image

 

 

Łatwo obliczyć, że dla wyznaczenia wektora 
należy wykonać  

                    mnożeń  i                           
odejmowań    

n

n

M

2

1

2

2

1

n

n

O

2

1

2

2

1

Metoda eliminacji 
Gaussa

Najczęściej stosowaną metodą do numerycznego 
rozwiązywania układu równań liniowych  jest 
metoda eliminacji Gaussa.

Jeśli rozwiązujemy układ równań Ax = b z pełną 
macierzą kwadratową A, to można rozwiązać go w 
dwóch etapach: sprowadzając układ do postaci 
trójkątnej górnej (22), który umiemy już rozwiązywać 
stosując wzory (23) i (24)

Dany jest układ równań liniowych Ax = b 
postaci 

n

n

nn

n

n

n

n

n

n

b

x

a

x

a

x

a

b

x

a

x

a

x

a

b

x

a

x

a

x

a

2

2

1

1

2

2

2

22

1

21

1

1

2

12

1

11

(27)

background image

 

 

)

1

(

)

1

(

2

)

1

(

2

1

)

1

(

1

)

1

(

2

)

1

(

2

2

)

1

(

22

1

)

1

(

21

)

1

(

1

)

1

(

1

2

)

1

(

12

1

)

1

(

11

n

nn

n

n

n

n

b

a

x

a

x

a

b

a

x

a

x

a

b

a

x

a

x

a

(28)

Zakładamy dalej, że macierz A

(1)

 = (a

ij

) jest 

nieosobliwa. Wtedy układ A

(1)

x = b

(1)

 ma 

jednoznaczne rozwiązanie.

Załóżmy teraz, że a

11

 0, Wtedy z ostatnich n-

1 równań możemy wyeliminować x

odejmując od 

i-tego równania tego układu, = 2,3,...,n, 
pierwsze równanie pomnożone przez

Etap pierwszy ( zwany etapem eliminacji 
zmiennych
). 

Proces eliminacji przebiega w n -
krokach.Oznaczmy     Wtedy układ równań (16) 
w nowych oznaczeniach A

(1)

x = b

(1)

 przyjmie 

postać

b

b

A

A

)

1

(

)

1

(

,

n

i

a

a

m

i

i

,...,

3

,

2

,

)

1

(

11

)

1

(

1

1

(29)

background image

 

 

Otrzymujemy wtedy przekształcony układ postaci

Przekształcone równania A

(2)

x = b

(2)

 

przybierają postać

)

2

(

)

2

(

2

)

2

(

2

)

2

(

2

)

2

(

2

2

)

2

(

22

)

1

(

1

)

1

(

1

2

)

1

(

12

1

)

1

(

11

n

nn

n

n

n

b

a

x

a

b

a

x

a

b

a

x

a

x

a

(30)

)

2

(

(

2

(

2

)

2

(

2

)

2

(

2

(

2

(

2

2

)

2

(

22

n

n

nn

n

n

n

b

x

a

x

a

b

x

a

x

a

(31)

gdzie nowe współczynniki są dane wzorami

n

i

b

m

b

b

n

j

a

m

a

a

i

i

i

j

i

ij

ij

,

,

3

,

2

,

,

,

3

,

2

,

)

1

(

1

1

)

1

(

)

2

(

)

1

(

1

1

)

1

(

)

2

(

(32)

Nowy układ składa się z  n–1 równań i zawiera n-1 
niewiadomych 

n

x

x

x

,

,

3

2

Wyeliminowaliśmy w ten sposób pierwszą 
niewiadomą x

z

 

równań leżących w wierszach 

o numerach i = 2,3, ...n

 

.

background image

 

 

Podobnie eliminujemy x

2  

z równań leżących w 

wierszach 3,4,...,n

 

odejmując od i-tego wiersza tego 

układu, = 3,4,...,n, wiersz drugi pomnożony przez 
mnożnik

Otrzymamy wtedy układ n-2 równań A

(3)

x = b

(3)

 o n-2 

niewiadomych              którego współczynniki będą 
dane wzorami

n

x

,

3

n

i

a

a

m

i

i

,

,

4

,

3

,

)

2

(

22

)

2

(

2

2

(33)

n

i

b

m

b

b

n

j

a

m

a

a

i

i

i

j

i

ij

ij

,

,

3

,

,

,

3

,

)

2

(

2

2

)

2

(

)

3

(

)

2

(

2

2

)

2

(

)

3

(

(34)

background image

 

 

Postępując w ten sposób otrzymamy kolejne, 
przekształcone układy równań A

(3)

x = b

(3)

 ,A

(4)

= b

(4)

 ,..., i po (n-1) eliminacjach uzyskamy układ 

równań A

(n)

x = b

(n)

  o jednej niewiadomej postaci

Zbierzmy teraz pierwsze równania z każdego 
kroku:

Elementy                          występujące w eliminacji 
nazywa się elementami głównymi 

)

(

)

3

(

33

)

2

(

22

)

1

(

11

,

,

,

,

n

nn

a

a

a

a

Tak więc zredukowaliśmy układ (27) do układu 
trójkątnego górnego, który umiemy już 
rozwiązać,

)

(

)

(

n

n

n

n

nn

b

x

a

(35)

)

(

)

(

)

2

(

2

)

2

(

2

2

)

2

(

22

)

1

(

1

)

1

(

1

2

)

2

(

12

1

)

1

(

11

n

n

n

n

nn

n

n

n

n

b

x

a

b

x

a

x

a

b

x

a

x

a

x

a

(36)

background image

 

 

Etap drugi (jest nazywany postępowaniem odwrotnym 
lub podstawieniem wstecz). Otrzymany po 
przekształceniu układ rozwiązujemy zgodnie ze 
wzorami (23) i (24)

Opisany powyżej sposób nazywamy metodą 
eliminacji Gaussa

Można obliczyć, że w celu otrzymania tą metodą 
rozwiązania x należy wykonać łącznie                    
      mnożeń i dzieleń oraz 

                         odejmowań   

n

n

n

M

3

1

2

3

3

1

n

n

n

D

6

5

2

2

1

3

3

1

background image

 

 

Zauważmy, że prawą stronę b przekształca się tak 
samo jak kolumny macierzy A. Dlatego opis 
eliminacji uprości się, jeśli uznamy b za ostatnią 
kolumnę macierzy A i przyjmiemy, że 

Wtedy wzory można streścić w następujący 
sposób. Eliminację wykonuje się w -1 krokach 
o numerach              = 1,2,...,n-1. W k-tym 
kroku elementy       dla j, j>k przekształca się 
według wzorów

)

(k

ij

a

n

i

k

b

a

k

i

k

k

i

1

,

)

(

)

(

1

,

(37)

)

1

,

,

2

,

1

;

,

,

2

,

1

(

,

)

(

)

(

)

1

(

)

(

)

(

n

k

k

j

n

k

k

i

a

m

a

a

a

a

m

k

kj

ik

k

ij

k

ij

k

kk

k

ik

ik

(38)

background image

 

 

Mamy zatem dwie równości L

(1)

A

(1)

 = A

(2)

 , 

L

(1)

b

(1)

 = b

(2)

 

Analogicznie otrzymujemy dwie następne równości: 
L

(2)

A

(2)

 = A

(3)

 , L

(2)

b

(2)

 = b

(3)

 , gdzie

n

i

a

a

l

l

l

L

i

i

n

,

,

4

,

3

,

,

1

0

1

0

0

1

0

1

)

2

(

22

)

2

(

2

2

2

32

)

2

(

Postępując dalej w ten sposób otrzymujemy 
ostatecznie

L

(n-1) 

L

(n-2)••• 

L

(1) 

A

(1) = 

A

(n)

 ,    L

(n-1) 

L

(n-2)••• 

L

(1) 

b

(1) = 

b

(n)

 

Macierze L

(i)

 , i = 1,2,...,n, są nieosobliwe, możemy 

zatem napisać 

  

    

)

(

1

)

1

(

1

)

2

(

1

)

1

(

)

1

(

n

n

A

L

L

L

A

(40)

A

L

U

background image

 

 

Zauważmy teraz , że jeśli mamy wiele układów 
równań o wspólnej macierzy A:

Ax

1

 = b

 , 

 

Ax

2

 = b

2       

... Ax

p

 = b

p

to można przekształcać je łącznie, traktując b

j

 jako 

(n+j )-tą kolumnę macierzy A. Jedyną różnicą w 
porównaniu z algorytmem (27) będzie obecnie to, ze 
wskaźnik j powinien przebiegać wartości 
k+1,k+2,...,n+p. Po eliminacji otrzymamy p 
układów trójkątnych do rozwiązania.

W trakcie eliminacji może się zdarzyć, że w k-tym 
kroku            lub też jest bliski zeru.

0

)

(

k

kk

a

Wtedy trzeba zwykle wybierać element główny w 
k-tym kroku zgodnie z jedną z następujących 
strategii:

background image

 

 

Wybór częściowy elementu głównego

Wybiera się r jako najmniejszą liczbę 
całkowitą, dla której

)

(

max

)

(

k

ik

n

i

k

k

rk

a

a

 i przestawia się wiersze k i r.

Wybór pełny elementu głównego

Wybiera się r i s jako najmniejsze liczby 
całkowite dla których

)

(

max

,

)

(

k

ij

n

i

i

k

k

rs

a

a

 i przestawia się wiersze k i  r  oraz kolumny k 
s

background image

 

 

Rozkład macierzy A na iloczyn macierzy 
trójkątnych L·U

W wielu zagadnieniach numerycznych dotyczących 
macierzy kwadratowych A, poszukujemy takich 
macierzy trójkątnych L i U, by A = L · U.

Metoda eliminacji Gaussa umożliwia wyznaczenie 
takiego rozkładu.

    Zauważmy, że przekształcenie układu A

(1)

x = b

(1) 

do postaci A

(2)

x = b

(2)

 jest równoważne pomnożeniu 

obu stron układu ( 17) przez macierz

n

i

a

a

l

l

l

l

L

i

i

n

,

,

3

,

2

,

,

1

0

0

1

0

0

1

1

)

1

(

11

)

1

(

1

1

1

31

21

)

1

(

background image

 

 

 

 

itd

l

l

L

l

l

l

L

n

n

,

1

0

0

1

0

0

1

0

1

,

1

0

0

1

0

0

1

1

2

32

1

)

2

(

1

31

21

1

)

1

(

Zauważmy, że

 a 
ponadto 

    

1

1

0

1

1

3

2

1

32

31

21

1

)

1

(

1

)

2

(

1

)

1

(

n

n

n

n

l

l

l

l

l

l

L

L

L

Jeśli powyższą macierz oznaczymy symbolem L
a macierz A

(n

symbolem  U, to rozkład  (40) 

macierzy A

(1) 

na iloczyn możemy zapisać 

następująco

A

(1)

 = LU

(41)

 gdzie L jest macierzą trójkątną dolną, a U – 
macierzą trójkątną górną

background image

 

 

Z przeprowadzonych rozważań wynika, że jeżeli 
etap eliminacji zmiennych metodą Gaussa można 
wykonać do końca, to układ równań Ax = b można 
zapisać jako LUx = b. 

Etap ten jest zatem równoważny przekształceniu 
wejściowego układu do postaci Ux = L

-1

b = b

(n)

 , a 

wyznaczanie rozwiązania polega na rozwiązaniu 
dwu układów z macierzami trójkątnymi 

Ly = b,   Ux = y


Document Outline