Wyklad mn no 1

background image

background image

background image

1. Ralston A.: Wstęp do analizy numerycznej.

PWN Warszawa 1975.
2. Fortuna Z., Macukow B., Wąsowski J.: Metody numeryczne.

WNT Warszawa 1982.

3. Bjorck A., Dahlquist G.: Metody numeryczne.

PWN Warszawa 1983.

 4. Pozrikidis C.: Numerical Computation in Science

and Engineering.

Oxford University Press 1998.

background image

Zapis liczb w maszynie cyfrowej

Liczby całkowite

p

0

i

i

i

2

e

znak

n

gdzie e

i

=0 lub 1.

Jeżeli na zapis liczby przeznaczymy d bitów, to

pierwszy bit - znak,

następne d-1 bitów - zapis liczby

czyli mając do dyspozycji rejestr d bitowy p=d-2 i możemy

zapisać liczbę całkowitą:

1

2

n

2

1

d

1

d

w Pascalu mamy reprezentacje:

background image

1 byte = 8 bitów

1 byte

shortint : -2

7

n 2

7

-1 -128 n 127

tylko nieujemne:

byte : 0 n 2

8

-1

0 n 255

2 byte = 16 bitów

integer : -2

15

n 2

15

-1 -32768 n 32767

tylko nieujemne:

word : 0 n 2

16

-1 0 n 65535

background image

4 bite = 32 bity

longint : -2

31

n 2

31

-1 -2147483648 n 2147483647

W podanych zakresach liczby całkowite są reprezentowane

w maszynie cyfrowej dokładnie.

Przekroczenie zakresu dla danego typu liczb całkowitych

powoduje najczęściej błędne obliczenia.

Liczby rzeczywiste

c

2

m

x

m – mantysa, c – cecha. Przyjmuje się, że

1

m

2

1

Reprezentacja zmiennoprzecinkowa:

background image

Mantysa m jest obliczana z zależności:

1

i

i

i

2

e

m

W maszynie cyfrowej mamy do dyspozycji skończoną liczbę
bitów wynoszącą t i mantysa maszynowa m

t

jest:

t

)

1

t

(

t

1

i

i

i

t

2

e

2

e

m

a więc popełniamy błąd zaokrąglenia mantysy:

t

1

t

1

i

i

1

t

m

1

t

i

i

1

t

i

i

i

1

i

i

i

t

1

i

i

i

t

m

2

2

1

1

1

2

2

2

2

2

e

2

e

2

e

m

m

background image

c - cecha

Przykład:

x=znak liczby |mantysa |znak cechy |cecha
x=0|1110|011

 

 

00

.

7

2

875

.

0

2

2

1

0

2

1

1

2

1

1

2

1

1

1

x

3

2

1

2

1

1

4

3

2

1

0

zmieniamy jeden bit: x=0|1111|011
i mamy:

 

 

50

.

7

2

9375

.

0

2

2

1

1

2

1

1

2

1

1

2

1

1

1

x

3

2

1

2

1

1

4

3

2

1

0

Spróbujmy przedstawić w tej maszynie liczbę x=7.25
cecha: 2

3

i mantysa m=7.25/8=0.90625

background image

reprezentacja dwójkowa mantysy:

4

1

i

i

i

2

e

m

czyli

0

e

e

5

.

2

1

e

25

.

0

1

e

2

1

e

e

25

.

1

2

1

e

2

1

e

625

.

0

1

e

2

1

e

2

1

e

e

625

.

1

2

1

e

2

1

e

2

1

e

8125

.

0

1

e

2

1

e

2

1

e

2

1

e

e

8125

.

1

2

1

e

2

1

e

2

1

e

2

1

e

90625

.

0

4

4

4

3

4

3

2

4

3

2

2

4

3

2

3

4

2

3

2

1

3

4

2

3

2

1

4

4

3

3

2

2

1

background image

Przy ośmiu bitach dla zapisu liczb rzeczywistych - liczb
między 7.00 i 7.50 nie rozróżniamy.
Rzeczywiście mamy: błąd mantysy 2

-4

=0.0625, maksymalna

cecha 8, czyli 0.0625*8=0.5.

Błąd względny :

x

x

x

przyb

czyli

0357

.

0

7

7

25

.

7

lub inaczej

1

x

x

przyb

Maksymalny błąd względny przy najostrzejszym oszacowaniu,
to:

0625

.

0

8

8

5

.

7

ale

0625

.

0

2

1

4

background image

W Pascalu stosujemy reprezentacje:
single – 4 byte w tym 1 byte cecha

czyli o wielkości błędu względnego decyduje liczba bitów

przeznaczonych na mantysę.

błąd względny reprezentacji:

7

23

10

2

.

1

2

a więc 7 do 8 prawidłowych cyfr znaczących.

Zakres reprezentowanych liczb:

max

min

c

c

2

x

2

2

1

gdzie

1

2

c

2

c

7

max

7

min

38

39

127

129

10

x

10

2

x

2

background image

real – 6 byte
cecha – 1 byte

błąd względny reprezentacji:

74

.

11

39

10

2

około 10 do 12 cyfr znaczących dokładnie.

Zakres reprezentowanych liczb jak dla single czyli

1

2

c

2

c

7

max

7

min

38

39

127

129

10

x

10

2

x

2

background image

double – 8 byte

cecha 11 bitów

1

2

c

2

c

10

max

10

min

308

308

1023

1025

10

9

.

0

x

10

6

.

3

2

x

2

błąd względny reprezentacji:

65

.

15

52

10

2

około 15 do 16 cyfr znaczących dokładnie.

Zakres reprezentowanych liczb:

background image

extended – 10 byte

cecha – 15 bitów

błąd względny reprezentacji:

26

.

19

64

10

2

około 19 do 20 cyfr znaczących dokładnie.

1

2

c

2

c

14

max

14

min

4932

4932

16383

16385

10

1

.

1

x

10

4

.

3

2

x

2

Zakres reprezentowanych liczb:

background image

Rodzaje błędów:
1. błędy danych wejściowych,
2. błędy obcięcia,
3. błędy zaokrągleń.

Błąd obcięcia

 

 

 

 

!

1

N

x

O

!

n

x

1

e

!

n

x

1

!

n

x

1

!

n

x

1

e

1

N

N

0

n

n

n

x

1

N

n

n

n

N

0

n

n

n

0

n

n

n

x

Błąd obcięcia:

!

1

N

x

1

N

background image

Błąd obcięcia będzie dyskutowany przy poszczególnych

metodach

Błąd danych wejściowych może być np. spowodowany
błędami popełnionymi przy pomiarach np. wymiarów
geometrycznych, itp..

Kilka uwag na temat organizacji obliczeń

Obliczyć wartość wielomianu stopnia n:

 

n

1

n

1

n

1

n

n

a

x

a

x

a

x

x

P

background image

 

n

1

n

1

n

1

n

n

a

x

a

x

a

x

x

P

Obliczenia klasyczne:
Liczba mnożeń –

 

 



2

2

n

1

n

2

1

n

n

1

n

1

2

2

n

1

n

1

n

Liczba dodawań - n

Dla n=100 mamy 5049 mnożeń i 100 dodawań.

Schemat Hornera:

 



 

n

1

n

2

1

a

x

a

x

a

x

a

x

x

P

background image

 



 

n

1

n

2

1

a

x

a

x

a

x

a

x

x

P

Liczba działań:
mnożeń – n-1
dodawań - n

Schemat łatwy do realizacji w pętli:

w=x+a

1

for k=2 to n

w=wx+a

k

P(x)=w

Po zakończeniu pętli mamy obliczoną wartość wielomianu.

background image

Obliczanie sum

Sumę nieskończoną w obliczeniach numerycznych zastępujemy

sumą skończoną:

k

0

k

k

dok

a

S

Obliczenia numeryczne:

 

N

k

1

k

k

p

a

N

S

Błąd obliczeń szacujemy:

 

 

 

 

100

kN

S

kN

S

N

S

N

er

p

p

p

gdzie k najczęściej przyjmuje się =2.

Przykład:

125

.

0

1

k

4

k

0

S

k

1

k

2

2

background image

i porównajmy błędy:

ep N

( )

Sp N

( ) Sp 2 N

(

)

Sp 2 N

(

)

100



gdzie

 

N

k

1

k

2

2

1

k

4

k

N

Sp

z błędem: ep0N

( )

Sp N

( ) S0

S0

100



0

2.5

5

7.5 10

0

7.510

4

0.0015

0.00225

0.003

ep K

( )

ep0K

( )

K 10

3

background image

0

25

50

75 100

0

0.075

0.15

0.23

0.3

ep K

( )

ep0K

( )

K

dla K=10,20..100

Kolejność sumowania

 

1

k

k

1

k

k

x

1

)

x

1

ln(

i obliczmy dla x=1 czyli

 

1

k

1

k

k

1

)

2

ln(

background image

i obliczamy:

Sg N

( )

1

N

n

1

( )

n 1

n



oraz

Sd N

( )

N

1

n

1

( )

n 1

n



ln 2

( )

0.693147180559945

Sg 100

(

)

0.688172179310195

Sd 100

(

)

0.688172179310195

background image

ln 2

( )

0.693147180559945

Sg 1000

(

)

0.692647430559822

Sd 1000

(

)

0.69264743055982

Sg 5000

(

)

0.693047190559951

Sd 5000

(

)

0.693047190559945

Sg 10000

(

)

0.693097183059958

Sd 10000

(

)

0.693097183059945

Sg 20000

(

)

0.693122181184958

Sd 20000

(

)

0.693122181184945

background image

Przyśpieszenie zbieżności:

 

 

N

k

1

k

1

k

1

k

1

k

1

k

1

k

1

k

2

k

2

1

)

N

(

0

S

1

k

2

k

2

1

1

k

2

1

k

2

1

k

1

0

S

ln 2

( )

0.693147180559945

S0 100

(

)

0.690653430481824

Sg 100

(

)

0.688172179310195

S0 1000

(

)

0.692897243059939

Sg 1000

(

)

0.692647430559822

S0 10000

(

)

0.693122181184947

background image

Stabilność algorytmu

Przykład niestabilnego algorytmu (Kincaid i Cheney, 1996r)

Rozpatrzmy ciąg liczbowy:

2

k

x

3

4

x

3

13

x

3

1

x

1

x

2

k

1

k

k

1

0

równoważny ciągowi:

0

k

3

1

x

k

k

Dowód metodą

indukcji matematycznej

Algorytm I

Algorytm II

background image

Wyniki obliczeń w arytmetyce 32 bitowej według:

Algorytmu I

Algorytmu II

x

1

=1.00000000000000

x

1

=1.00000000000000

x

2

=0.333333333333333

x

2

=0.333333333333333

x

3

=0.111111111111111

x

3

=0.111111111111111

x

4

=0.037037037037036

x

4

=0.037037037037037

………………………..

………………………..

x

10

=0.000016935074827 x

10

=0.000016935087808

x

20

=-0.000013611585443 x

20

=0.000000000000000

x

30

=-14.273082546213100x

30

=0.000000000000000

background image

Algorytmu I

Algorytmu II

x

40

=-1.496641180397794e7

x

40

=0.000000000000000

x

100

=-4.973443391573326e42

x

100

=0.000000000000000

Algorytm obliczeń rekurencyjnych:

2

k

x

3

4

x

3

13

x

3

1

x

1

x

2

k

1

k

k

1

0

jest numerycznie niestabilny

i nie może być zastosowany do

obliczeń numerycznych.

background image

Układy równań liniowych

N

M

NM

k

Nk

2

2

N

1

1

N

k

M

kM

k

kk

2

2

k

1

1

k

2

M

M

2

k

k

2

2

22

1

21

1

M

M

1

k

k

1

2

12

1

11

b

x

a

...

x

a

...

x

a

x

a

.

..

..........

..........

..........

b

x

a

...

x

a

...

x

a

x

a

.

........

..........

..........

b

x

a

...

x

a

...

x

a

x

a

b

x

a

...

x

a

...

x

a

x

a

Jeżeli N<M, układ równań jest nieokreślony,

N=M – określony

N>M - nadokreślony

Rozważymy tylko przypadek N=M

background image

Układ NxM liczb rzeczywistych bądź zespolonych zapisujemy

w formie tablicy.

Taką tablicę nazywamy macierzą NM wymiarową

lub macierzą prostokątną.

NM

Nk

2

N

1

N

kM

kk

2

k

1

k

M

2

k

2

22

21

M

1

k

1

12

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

wiersz macierzy

wiersz k-ty macierzy

kolumna
macierzy

k-ta kolumna
macierzy

a

ik

– wyraz macierzy położony we wierszu i-tym i kolumnie k-tej

background image

NM

Nk

2

N

1

N

kM

kk

2

k

1

k

M

2

k

2

22

21

M

1

k

1

12

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

A

Macierz symbolicznie zapisujemy w postaci jednego znaku, np.: A

podając liczbę wierszy i kolumn w opisie.

Inny skrócony zapis to:

 

ik

a

A

i=(1,N); k=(1,M)

Jeżeli N=M, to macierz jest macierzą o jednakowej liczbie wierszy

i kolumn. Mówimy, że jest to macierz kwadratowa stopnia N,

lub macierz stopnia N.

background image

NN

Nk

2

N

1

N

kN

kk

2

k

1

k

N

2

k

2

22

21

N

1

k

1

12

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

A

Macierz kwadratowa stopnia N.

Operacje na macierzach

Mnożenie macierzy przez liczbę c.
c – liczba rzeczywista lub zespolona.

Dwie macierze A i B są równe czyli A=B, jeżeli mają jednakową
liczbę wierszy i kolumn i zachodzi a

ij

=b

ij

dla wszystkich par (i,j).

background image

NM

Nk

2

N

1

N

kM

kk

2

k

1

k

M

2

k

2

22

21

M

1

k

1

12

11

ca

.

ca

.

ca

ca

.

.

.

.

.

.

ca

.

ca

.

ca

ca

.

.

.

.

.

.

ca

.

ca

.

ca

ca

ca

.

ca

.

ca

ca

cA

lub krótko B=cA=[ca

ik

]

wymiary macierzy B są identyczne jak wymiary macierzy A.

Dodawanie (odejmowanie) dwóch macierzy A i B.

Obie macierze muszą mieć tę samą liczbę wierszy i kolumn.

background image

NM

Nk

2

N

1

N

kM

kk

2

k

1

k

M

2

k

2

22

21

M

1

k

1

12

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

A

NM

Nk

2

N

1

N

kM

kk

2

k

1

k

M

2

k

2

22

21

M

1

k

1

12

11

b

.

b

.

b

b

.

.

.

.

.

.

b

.

b

.

b

b

.

.

.

.

.

.

b

.

b

.

b

b

b

.

b

.

b

b

B

background image

suma:

NM

NM

Nk

Nk

2

N

2

N

1

N

1

N

kM

kM

kk

kk

2

k

2

k

1

k

1

k

M

2

M

2

k

2

k

2

22

22

21

21

M

1

M

1

k

1

k

1

12

12

11

11

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

.

b

a

.

b

a

b

a

B

A

lub krótko C =A+B=[a

ij

+b

ij

]

lub w postaci realizacji na maszynie: c

ij

=a

ij

+b

ij

dla i=(1,N), j=(1,M):
for i:=1 to N do
for j:=1 to M do
C[i,j]:=A[i,j]+B[i,j]

Suma macierzy jest przemienna, czyli A+B=B+A

background image

różnica:

NM

NM

Nk

Nk

2

N

2

N

1

N

1

N

kM

kM

kk

kk

2

k

2

k

1

k

1

k

M

2

M

2

k

2

k

2

22

22

21

21

M

1

M

1

k

1

k

1

12

12

11

11

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

.

b

a

.

b

a

b

a

B

A

C

lub krótko C =A-B=[a

ij

-b

ij

]

lub w postaci realizacji na maszynie: c

ij

=a

ij

-b

ij

dla i=(1,N), j=(1,M):
for i:=1 to N do
for j:=1 to M do
C[i,j]:=A[i,j]-B[i,j]

background image

Iloczyn dwóch macierzy

Dane dwie macierze prostokątne:

A o wymiarze N

A

xM

A

i B o wymiarze N

B

xM

B

Obliczyć iloczyn C=AB.

Macierz będącą iloczynem można obliczyć tylko wtedy, jeżeli

liczba kolumn pierwszego czynnika – czyli M

A

– jest równa

liczbie wierszy drugiego czynnika – czyli N

B

, a więc warunkiem

wykonalności mnożenia dwóch macierzy prostokątnych jest

M

A

=N

B

Macierz C będzie miała N

A

wierszy i M

B

kolumn.

Jeżeli A i B są macierzami kwadratowi tego samego stopnia N

mnożenie jest zawsze wykonalne.

background image

Wyrazy macierzy C=[c

ik

] będącej iloczynem macierzy AB

obliczamy z zależności:

B

A

M

n

1

n

nk

in

ik

M

1,

k

oraz

N

1,

i

dla

b

a

c

A

Przykład:

1

0

0

1

2

0

3

0

2

0

3

1

A

liczba wierszy 4
liczba kolumn 3

1

2

0

0

0

0

0

4

3

0

0

1

2

0

2

B

liczba wierszy 3
liczba kolumn 5

background image

Macierz C=AB będzie macierzą o 4 wierszach i 5 kolumnach

1

0

0

1

2

0

3

0

2

0

3

1

A

1

2

0

0

0

0

0

4

3

0

0

1

2

0

2

B

c

11

=a

11

b

11

+a

12

b

21

+a

13

b

31

=1·2+3 ·0+0 ·0=2

c

12

=a

11

b

12

+a

12

b

22

+a

13

b

32

=1 ·0+3 ·3+0 ·0=9

c

13

=a

11

b

13

+a

12

b

23

+a

13

b

33

=1 ·(-2)+3 ·4+0 ·0=10

c

14

=a

11

b

14

+a

12

b

24

+a

13

b

34

=1 ·1+3 ·0+0 ·2=1

c

15

=a

11

b

15

+a

12

b

25

+a

13

b

35

=1 ·0+3 ·0+0 ·1=0

c

21

=a

21

b

11

+a

22

b

21

+a

23

b

31

=(-2) ·2+0 ·0+3 ·0=-4

itd…

background image

1

2

0

0

0

1

2

8

6

0

3

4

4

0

4

0

1

10

9

2

C

Iloczyn dwóch macierzy, również kwadratowych,

nie jest przemienny czyli AB≠BA

4

3

2

0

5

0

0

4

2

A

1

2

0

2

0

2

0

2

0

B

10

4

6

10

0

10

8

4

8

AB

4

7

2

8

2

0

0

10

0

BA

background image

Jeżeli zachodzi AB=BA mówimy, że macierze są przemienne.

Macierz jednostkowa I – jest to macierz kwadratowa o wymiarze
N, której wyraz δ

ik

jest zdefiniowany następująco:

k

i

dla

0

k

i

dla

1

ik

czyli np. macierz jednostkowa 5-go stopnia ma postać:

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

I

Wykazać, że AI=IA=A

background image

Ograniczymy nasze rozważania tylko do macierzy kwadratowych

stopnia N

O wyrazach a

ii

macierzy A mówimy, że leżą na głównej przekątnej

NN

kk

22

11

a

.

0

.

0

0

.

.

.

.

.

.

0

.

a

.

0

0

.

.

.

.

.

.

0

.

0

.

a

0

0

.

0

.

0

a

A

a macierz A, która ma niezerowe wyrazy tylko na głównej

przekątnej nazywamy macierzą diagonalną

background image

NN

Nk

2

N

1

N

kN

kk

2

k

1

k

N

2

k

2

22

21

N

1

k

1

12

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

A

Jeżeli w macierzy A

NN

kN

N

2

N

1

Nk

kk

k

2

k

1

2

N

2

k

22

12

1

N

1

k

22

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

A

zamienimy wiersze z kolumnami, to tak otrzymaną macierz
nazywamy macierzą transponowaną i oznaczamy A

T

background image

zapisując symbolicznie możemy napisać: [a

ik

]

T

=[a

ki

]

Przykład:

3

2

0

0

0

0

0

1

2

1

0

4

0

2

3

1

A

3

0

2

0

2

0

1

2

0

0

0

3

0

1

4

1

T

A

Zachodzą związki:

T

T

T

A

B

AB

Przykład:

4

1

1

2

0

3

2

1

3

A

3

1

1

0

5

2

4

1

0

B

16

10

6

18

5

2

18

0

0

AB

16

18

18

10

5

0

6

2

0

T

AB

background image

4

1

1

2

0

3

2

1

3

A

4

2

2

1

0

1

1

3

3

T

A

3

1

1

0

5

2

4

1

0

B

3

0

4

1

5

1

1

2

0

T

B

16

18

18

10

5

0

6

2

0

T

T

A

B

16

18

18

10

5

0

6

2

0

T

AB

 

A

A

T

T

Dla każdej macierzy zachodzi

background image

  

T

T

T

T

T

T

T

T

T

AA

AA

AA

A

A

AA

Macierz B, dla której zachodzi równość: nazywamy

macierzą symetryczną

T

B

B

Macierz B=AA

T

jest macierzą symetryczną.

5

1

1

3

0

4

3

1

0

0

2

4

0

0

1

2

A

5

0

0

0

1

4

0

0

1

3

2

1

3

1

4

2

T

A

30

2

14

7

2

26

10

5

14

10

20

10

7

5

10

5

T

AA

background image

Wyznacznik

Dla danej macierzy kwadratowej A:

NN

Nk

2

N

1

N

kN

kk

2

k

1

k

N

2

k

2

22

21

N

1

k

1

12

11

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

.

.

.

.

.

.

a

.

a

.

a

a

a

.

a

.

a

a

A

definiujemy liczbę:

 

N

1

j

ij

ij

j

i

det

a

1

det

A

A

gdzie detA

ij

jest wyznacznikiem macierzy stopnia N-1 otrzymanej

przez skreślenie z macierzy A wiersza i-go i kolumny j-ej.

background image

Jest to definicja rekurencyjna i dlatego musimy zdefiniować
wyznacznik macierzy kwadratowej stopnia N=1, czyli A
=[a

11

].

Wyznacznik tej macierzy jest: detA=a

11

.

Dla macierzy drugiego stopnia mamy:

22

21

12

11

a

a

a

a

det

A

Zgodnie ze wzorem

 

N

1

j

ij

ij

j

i

det

a

1

det

A

A

mamy:

 

 

 

 

21

12

2

1

22

11

1

1

a

det

a

1

a

det

a

1

det

A

czyli dla macierzy drugiego stopnia mamy:

21

12

22

11

a

a

a

a

det

A

Wyznacznik drugiego stopnia obliczamy bezpośrednio:

12

21

22

11

22

21

12

11

a

a

a

a

a

a

a

a

dla obliczenia wyznacznika
musimy wykonać dwa mnożenia

background image

Wyznacznik macierzy trzeciego stopnia:

33

32

31

23

22

21

13

12

11

a

a

a

a

a

a

a

a

a

A

Zgodnie ze wzorem:

 

N

1

j

ij

ij

j

i

det

a

1

det

A

A

mamy:

 

 

 

12

21

33

11

23

32

13

22

31

32

21

13

31

23

12

33

22

11

22

31

32

21

13

23

31

33

21

12

23

32

33

22

11

32

31

22

21

13

3

1

33

31

23

21

12

2

1

33

32

23

22

11

1

1

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

1

a

a

a

a

a

1

a

a

a

a

a

1

det

A

Liczba mnożeń, którą trzeba wykonać wynosi 9=3!

Wyznacznik 3-go stopnia możemy łatwo obliczyć metodą Sarrusa

12

21

33

11

23

32

13

22

31

32

21

13

31

23

12

33

22

11

32

31

33

32

31

22

21

23

22

21

12

11

13

12

11

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

a

+ +

+

-

-

-

background image

Obliczenie wyznacznika N-go stopnia wymaga wykonania N!
mnożeń.
Obliczanie wyznaczników stopnia 4-go i wyższych jest operacją
czasochłonną,

Macierz odwrotna

Macierz odwrotną do macierzy kwadratowej A będziemy

oznaczać A

-1

.

Macierz A

-1

jest macierzą odwrotną do macierzy A tylko

wtedy jeżeli

I

i

I

1

1

A

A

AA

Jeżeli wyrazy macierz odwrotnej oznaczymy przez b

ik

a wyrazy

macierzy A przez a

ik

, to dla wyznaczenia wyrazów macierzy

odwrotnej mamy N

2

równań:

k

i

dla

0

k

i

dla

1

b

a

N

j

1

j

jk

ij

background image

Wyrazy macierzy odwrotnej można wyznaczyć ze wzorów
analitycznych:

 

A

A

det

det

1

b

ij

j

i

ij

gdzie detA – wyznacznik macierzy A,
A

ij

– oznacza macierz stopnia N-1 otrzymaną z macierzy

A przez skreślenie i-go wiersza i j-ej kolumny, a

detA

ij

jest wyznacznikiem macierzy A

ij

.

Z powyższego wzoru wynika, że warunkiem istnienia macierzy

odwrotnej jest aby wyznacznik główny detA≠0

Podanego wzoru praktycznie nigdy nie stosujemy do obliczenia
macierzy odwrotnej, gdyż prowadzi on do olbrzymiej liczby
obliczeń. Szacując tylko liczbę mnożeń mamy dla obliczenia
wyznacznika głównego N!. Dla obliczenia N

2

wyrazów macierzy

odwrotnej (N-1)! mnożeń, a więc N!+N

2

(N-1)!=(N+1)! mnożeń.

background image

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

Dany jest układ równań liniowych:

B

AX

A – macierz (tablica) o wymiarze NxN,
a

ij

– element macierzy A leżący w i-tym wierszu i j-tej kolumnie

.

.

.

.

.

.

.

.

.

.

.

.

a

.

.

.

.

.

.

.

.

.

.

.

.

wiersz

ty

i

kolumna

ta

j

ij

background image

X – wektor (tablica jednokolumnowa) niewiadomych
o N składowych

Zapis:

 







.

x

.

x

x

i

1

i

X

Często wygodniej zapisywać w postaci:

N

i

1

T

x

.

x

.

x

X

Formalnie rozwiązanie równania AX=B możemy zapisać w postaci:

B

A

X

1

i ponieważ obliczenie macierzy odwrotnej wymaga (N+1)! mnożeń,
więc w przybliżeniu taki byłby nakład pracy przy rozwiązaniu w ten
sposób. Niestety jest to niewykonalne dla dużych układów równań.

background image

Przestrzeń R

n

jest utworzona przez n - wymiarowe wektory X

Definiujemy normy dla wektora:

 







.

x

.

x

x

i

1

i

X

jako

n

2

1

1

x

x

x

X

lub norma euklidesowa:

2

1

2

n

2

2

2

1

2

x

x

x

X

norma maksimum:

n

2

1

x

,

,

x

,

x

max

X

Normy wektorów są równoważne, co oznacza, że jeżeli ciąg
norm jest zbieżny do zera według jednej z norm
to jest zbieżny również względem pozostałych.

 

 

,

x

,

x

2

1

background image

Macierz A o m wierszach i n kolumnach:

 

 

m

n

AX

X

wektorom X

(m)

przestrzeni R

m

przyporządkowuje wektory X

(n)

przestrzeni R

n

. Mówimy, że mamy operator liniowy A

przekształcający przestrzeń R

m

w R

n

.

Normę operatora definiujemy:

m

n

nm

max

X

AX

A

0

X

Jeżeli przyjmiemy w obu przestrzeniach normę

n

2

1

1

x

x

x

X

to

m

i

1

i

ij

n

,

,

2

,

1

j

1

a

max

A

maksymalna suma
modułów w kolumnie

background image

Jeżeli w obu przestrzeniach jest stosowana norma euklidesowa:

2

1

2

n

2

2

2

1

2

x

x

x

X

to normę macierzy najczęściej ocenia się za pomocą normy:

 

 

m

1

i

n

1

j

2

ij

E

a

A

zwanej normą euklidesową.

Dla normy maksimum w obu przestrzeniach

n

2

1

x

,

,

x

,

x

max

X

norma macierzy jest

m

j

1

j

ij

m

,

,

2

,

1

i

a

max

A

maksymalna suma
we wierszu

background image

Metoda Gaussa

bez wyboru elementu wiodącego

5

10

0

30

x

x

x

x

4

1

2

0

1

10

0

2

.

0

2

0

5

1

0

2

.

0

1

4

4

3

2

1

Przykład:

5

4

1

2

0

10

1

10

0

2

.

0

0

2

0

5

1

30

0

2

.

0

1

4

Zapisujemy w postaci macierzy dołączonej:

background image

157894737

.

8

578947368

.

3

021052632

.

1

0

0

421052632

.

8

021052632

.

1

989473684

.

9

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

0

2

.

0

1

4

/

1

5

4

1

2

0

5

.

8

1

99

.

9

05

.

0

0

5

.

7

2

05

.

0

75

.

4

0

5

.

7

0

05

.

0

25

.

0

1

5

4

1

2

0

10

1

10

0

2

.

0

0

2

0

5

1

30

0

2

.

0

1

4

background image

157894737

.

8

578947368

.

3

021052632

.

1

0

0

421052632

.

8

021052632

.

1

989473684

.

9

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

5

4

1

2

0

5

.

8

1

99

.

9

05

.

0

0

5

.

7

2

05

.

0

75

.

4

0

5

.

7

0

05

.

0

25

.

0

1

2

05

.

0

75

.

4

/

1

2971549

.

7

474582663

.

3

0

0

0

842992624

.

0

102212856

.

0

1

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

background image

100152913

.

2

1

0

0

0

842992624

.

0

102212856

.

0

1

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

Redukcja górnej trójkątnej:

W wyniku przeprowadzonej redukcji otrzymujemy układ
równań w postaci:

1

.

2

x

843

.

0

x

102

.

0

x

5789

.

1

x

421

.

0

x

0105

.

0

x

5

.

7

x

0

x

05

.

0

x

25

.

0

x

4

4

3

4

3

2

4

3

2

1

background image

100152913

.

2

1

0

0

0

628329997

.

0

0

1

0

0

45660828

.

2

0

0

1

0

185835002

.

7

0

0

25

.

0

1

100152913

.

2

1

0

0

0

628329997

.

0

0

1

0

0

46322228

.

2

0

010526316

.

0

1

0

5

.

7

0

5

.

0

25

.

0

1

1

.

2

x

628

.

0

x

463

.

2

x

0105

.

0

x

5

.

7

x

05

.

0

x

25

.

0

x

4

3

3

2

3

2

1

1

.

2

x

628

.

0

x

4566

.

2

x

5

.

7

x

25

.

0

x

4

3

2

2

1

background image

3897439

.

2

1

0

0

0

5987301

.

0

0

1

0

0

5788529

.

2

0

0

1

0

1147767

.

8

0

0

0

1

ostatnia kolumna zawiera rozwiązanie:

=

X

8.1147767
2.5788529
0.5987301
2.3897439

1

.

2

x

628

.

0

x

4566

.

2

x

5

.

7

x

4

3

2

1

background image

Liczba działań w metodzie Gaussa:
mnożeń: n

3

/3+n

2

-n/3n

3

i dodawań: n

3

/3+n

2

/2-5n/6n

3

ogólnie około n

3

działań.

Licząc ze wzorów Cramera
(wyznaczniki) potrzeba
działań

!

1

n

np. n=100 w metodzie Gaussa daje 10

6

działań. Jeżeli maszyna

wykonuje 10

7

mnożeń na sekundę, to układ zostanie rozwiązany

w czasie 0.1s.
Wzorami Cramera potrzeba

159

3

.

2

101

203

5

.

101

10

51

.

2

10

10

51

.

2

101

exp

101

2

!

101

t.j. około 10

152

s,

rok około 3.1·10

7

s

a więc około 145 lat

background image

30

10

0

5

x

x

x

x

0

2

.

0

1

4

1

10

0

2

.

0

2

0

5

1

4

1

2

0

4

3

2

1

Rozważmy układ równań

który jest układem już rozwiązanym po zmianie pierwszego
i ostatniego wiersza:

5

10

0

30

x

x

x

x

4

1

2

0

1

10

0

2

.

0

2

0

5

1

0

2

.

0

1

4

4

3

2

1

Nie może układ wierszy wpłynąć na istnienie rozwiązania!

background image

Metoda Gaussa z częściowym wyborem elementu

podstawowego

30

10

0

5

x

x

x

x

0

2

.

0

1

4

1

10

0

2

.

0

2

0

5

1

4

1

2

0

4

3

2

1

Największy element w kolumnie pierwszej znajduje się we wierszu

czwartym i dlatego zamieniamy te dwa wiersze miejscami:

5

10

0

30

x

x

x

x

4

1

2

0

1

10

0

2

.

0

2

0

5

1

0

2

.

0

1

4

4

3

2

1

background image

Przeprowadzamy eliminację:

157894737

.

8

578947368

.

3

021052632

.

1

0

0

421052632

.

8

021052632

.

1

989473684

.

9

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

0

2

.

0

1

4

/

1

5

4

1

2

0

5

.

8

1

99

.

9

05

.

0

0

5

.

7

2

05

.

0

75

.

4

0

5

.

7

0

05

.

0

25

.

0

1

background image

2971549

.

7

474582663

.

3

0

0

0

842992624

.

0

102212856

.

0

1

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

100152913

.

2

1

0

0

0

842992624

.

0

102212856

.

0

1

0

0

578947368

.

1

421052632

.

0

010526316

.

0

1

0

5

.

7

0

05

.

0

25

.

0

1

Jeszcze raz rzut oka na otrzymany układ równań:

1

.

2

x

843

.

0

x

102

.

0

x

5789

.

1

x

421

.

0

x

0105

.

0

x

5

.

7

x

0

x

05

.

0

x

25

.

0

x

4

4

3

4

3

2

4

3

2

1

background image

3897439

.

2

1

0

0

0

5987301

.

0

0

1

0

0

5788529

.

2

0

0

1

0

1147767

.

8

0

0

0

1

100152913

.

2

1

0

0

0

628329997

.

0

0

1

0

0

45660828

.

2

0

0

1

0

185835002

.

7

0

0

25

.

0

1

100152913

.

2

1

0

0

0

628329997

.

0

0

1

0

0

46322228

.

2

0

010526316

.

0

1

0

5

.

7

0

5

.

0

25

.

0

1

i redukcja górnej trójkątnej:

i ostatnia kolumna zawiera
rozwiązanie.

background image

Rozkład LU. Metoda Croute’a.
Rozkład na macierze trójkątne

Dana jest macierz A i przedstawiamy ją w postaci:

A=LU

gdzie macierz L jest macierzą dolną trójkątną:

55

54

53

52

51

44

43

42

41

33

32

31

22

21

11

l

l

l

l

l

0

l

l

l

l

0

0

l

l

l

0

0

0

l

l

0

0

0

0

l

L

background image

lub ogólnie:

 

i

j

dla

obliczane

i

j

dla

0

u

u

ij

ij

U

Macierz U górna trójkątna:

55

45

44

35

34

33

25

24

23

22

15

14

13

12

11

u

0

0

0

0

u

u

0

0

0

u

u

u

0

0

u

u

u

u

0

u

u

u

u

u

U

lub ogólnie:

 



j

i

dla

obliczane

j

i

dla

1

j

i

dla

0

l

l

ij

ij

L

background image

Jeżeli

A=LU

, to dla układu równań

AX=b

mamy:

b

LY

Y

UX

b

LUX

Rozwiązanie układu LY=b z dolną macierzą trójkątną jest łatwe:

 

1

i

1

j

j

ij

i

ii

i

11

1

1

y

l

b

l

1

y

l

b

y

i=2,3,...,N

background image

i rozwiązanie równania UX=Y z górną macierzą trójkątną
jest łatwe:

 

N

1

i

j

j

ij

i

ii

i

NN

N

N

x

u

y

u

1

x

u

y

x

i=N-1,N-2,...,1

Duża zaleta:
Znając rozkład LU
możemy go wykorzystać wielokrotnie dla
różnych prawych stron.

background image

Obliczanie wyrazów macierzy L i U

NN

kN

kk

N

2

k

2

22

N

1

k

1

12

11

1

N

,

N

Nj

1

N

1

k

,

k

1

k

21

u

0

0

0

0

0

.

.

.

.

.

.

u

.

u

.

0

0

.

.

.

.

.

.

u

.

u

.

u

0

u

.

u

.

u

u

1

l

.

l

.

l

.

.

.

.

.

.

0

.

1

l

.

l

.

.

.

.

.

.

0

0

0

0

1

l

0

0

0

0

0

1

w wyniku mnożenia obu macierzy mamy macierz B=[b

ij

]

Zaczynamy kolejno:
pierwszy wiersz macierzy L
razy k-ta kolumna macierzy U:

k

1

k

1

u

b

k-ty wiersz macierzy L razy pierwszy wiersz macierzy U:

1

k

11

1

k

b

u

l

background image

NN

kN

kk

N

2

k

2

22

N

1

k

1

12

11

1

N

,

N

Nj

1

N

1

k

,

k

1

k

21

u

0

0

0

0

0

.

.

.

.

.

.

u

.

u

.

0

0

.

.

.

.

.

.

u

.

u

.

u

0

u

.

u

.

u

u

1

l

.

l

.

l

.

.

.

.

.

.

0

.

1

l

.

l

.

.

.

.

.

.

0

0

0

0

1

l

0

0

0

0

0

1

k-ty wiersz macierzy L razy j-ta (jk) kolumna macierzy U:

kj

kj

1

k

i

1

i

ij

ki

b

u

u

l

j-ty wiersz (j>k) macierzy L razy k-ta kolumna macierzy U:

jk

k

i

1

i

ik

ji

b

u

l

background image

ponieważ musi zachodzić B=A, czyli b

ij

=a

ij

dla (i,j=1,2,...,N)

stąd otrzymujemy kolejno:

Pierwszy wiersz macierzy U:

k

1

k

1

a

u

pierwsza kolumna macierzy L:

11

1

k

1

k

u

a

l

k-ty wiersz macierzy U:

1

k

i

1

i

ij

ki

kj

kj

u

l

a

u

dla j=k,k+1,...,N

k-ta kolumna macierz L:

1

k

i

1

i

ik

ji

jk

kk

jk

u

l

a

u

1

l

dla j=k+1,k+2,...,N

background image

Przykład:

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

Zgodnie z:

k

1

k

1

a

u pierwszy wiersz macierzy U:

.

0

0

0

0

.

.

0

0

0

.

.

.

0

0

.

.

.

.

0

0

0

2

1

4

U

background image

Pierwsza kolumna macierzy L zgodnie z

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

11

1

k

1

k

u

a

l

gdzie u

11

=4

1

.

.

.

0

0

1

.

.

0

0

0

1

.

0

0

0

0

1

5

.

0

0

0

0

0

1

L

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

drugi wiersz macierzy U zgodnie ze wzorem:

1

i

1

i

ij

i

2

j

2

j

2

u

l

a

u

j=2,3,4,5

.

0

0

0

0

.

.

0

0

0

.

.

.

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

1

.

.

.

0

0

1

.

.

0

0

0

1

.

0

0

0

0

1

5

.

0

0

0

0

0

1

L

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

j=3,4,5

.

0

0

0

0

.

.

0

0

0

.

.

.

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

1

.

.

0

0

0

1

.

0

0

0

0

1

18182

.

0

0

0

0

0

1

5

.

0

0

0

0

0

1

L

1

i

1

i

2

i

ji

2

j

22

2

j

u

l

a

u

1

l

Druga kolumna macierzy L:

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

trzeci wiersz macierzy U zgodnie ze wzorem:

2

i

1

i

ij

i

3

j

3

j

3

u

l

a

u

j=3,4,5

.

0

0

0

0

.

.

0

0

0

1

54545

.

8

36364

.

2

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

1

.

.

0

0

0

1

.

0

0

0

0

1

18182

.

0

0

0

0

0

1

5

.

0

0

0

0

0

1

L

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

.

0

0

0

0

.

.

0

0

0

1

54545

.

8

36364

.

2

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

1

.

0

0

0

0

1

692308

.

1

0

0

0

0

1

18182

.

0

0

0

0

0

1

5

.

0

0

0

0

0

1

L

j=4,5

2

i

1

i

3

i

ji

3

j

33

3

j

u

l

a

u

1

l

trzecia kolumna macierzy L:

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

czwarty wiersz macierzy U zgodnie ze wzorem:

3

i

1

i

ij

i

4

j

4

j

4

u

l

a

u

j=4,5

background image

1

.

0

0

0

0

1

692308

.

1

0

0

0

0

1

18182

.

0

0

0

0

0

1

5

.

0

0

0

0

0

1

L

.

0

0

0

0

30769

.

2

46158

.

6

0

0

0

1

54545

.

8

36364

.

2

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

j=5

3

i

1

i

4

i

ji

4

j

44

4

j

u

l

a

u

1

l

czwarta kolumna macierzy L:

background image

1

15476

.

0

0

0

0

0

1

692308

.

1

0

0

0

0

1

18182

.

0

0

0

0

0

1

5

.

0

0

0

0

0

1

L

.

0

0

0

0

30769

.

2

46158

.

6

0

0

0

1

54545

.

8

36364

.

2

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

background image

Dla sprawdzenia czy nie popełniliśmy błędu obliczamy: B=LU

1

15476

.

0

0

0

0

0

1

692308

.

1

0

0

0

0

1

18182

.

0

0

0

0

0

1

5

.

0

0

0

0

0

1

L

35714

.

10

0

0

0

0

30769

.

2

46158

.

6

0

0

0

1

54545

.

8

36364

.

2

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

B

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

B

Mając macierz A=LU możemy rozwiązać równanie LUX=b
dla dowolnego wektora prawej strony.

background image

Znając rozkład LU macierzy łatwo obliczyć wyznacznik
główny |A
| macierzy A=LU. Mamy:

U

L

LU

A

ale

1

L

a

N

1

i

ii

u

U

i ostatecznie:

N

i

1

i

ii

u

A

background image

10

1

0

0

0

4

8

4

0

0

1

8

2

1

0

0

3

1

5

2

0

0

2

1

4

A

35714

.

10

0

0

0

0

30769

.

2

46158

.

6

0

0

0

1

54545

.

8

36364

.

2

0

0

0

3

2

5

.

5

0

0

0

2

1

4

U

3480

A


Document Outline


Wyszukiwarka

Podobne podstrony:
Wyklad mn no 8 piątek

więcej podobnych podstron