Elementy Analizy Numerycznej - opracowanie pytań egzaminacyjnych
baszmen, entereczek, JG, kubked, MK, PajdziuPaj Vertyk
WI-INFA
22 września 2012
Spis treści
1 Teoria 1
1.1 Co to znaczy, że algorytm obliczeniowy jest numerycznie stabilny? . . . 1
1.2 Sformułować zadanie interpolacyjne Lagrange’a i udowodnić jednoznaczność jego rozwiązania. . . 1
1.2.1 Sformułowanie zadania . . . 1
1.2.2 Twierdzenie . . . 1
1.2.3 Dowód - zbędne na egzaminie . . . 2
1.2.4 Wykazanie jednoznaczności rozwiązania . . . 2
1.3 Sformułować zadanie interpolacyjne Hermite’a. Co można o nim powiedzieć? 2 1.4 Sformułować zadanie interpolacji wymiernej. Co można o nim powiedzieć? . . 3
1.4.1 Sformułowanie zadania. . . 3
1.4.2 Co można o nim powiedzieć? . . . 3
1.5 Sformułować zadanie interpolacji trygonometrycznej. Co można o nim powie- dzieć? . . . 3
1.5.1 Sformułowanie zadania. . . 3
1.5.2 Co można o nim powiedzieć? . . . 3
1.6 Opisać algorytm wyznaczania naturalnej funkcji sklejanej stopnia trzeciego. Jaka jest postać układu równań liniowych, który trzeba rozwiązać i jaką metodę można zastosować do jego rozwiązania? . . . 4
1.6.1 Definicja . . . 4
1.6.2 Algorytm - część ogólna . . . 4
1.6.3 Algorytm - funkcja naturalna . . . 4
1.7 Opisać algorytm wyznaczania okresowej funkcji sklejanej stopnia trzeciego. Jaka jest postać układu równań liniowych, który trzeba rozwiązać i jaką metodę można zastosować do jego rozwiązania? . . . 5
1.7.1 Definicja . . . 5
1.7.2 Algorytm - część ogólna . . . 5
1.7.3 Algorytm - okresowa funkcja sklejana . . . 5
1.8 Opisać algorytm eliminacji Gaussa z pełnym wyborem elementu podstawowego. 6 1.9 Co to znaczy, że rzeczywista macierz kwadratowa A jest dodatnio określona? Jak można zastosować jej rozkład A = LLT do rozwiązania układu równań liniowych Ax = b? . . . 7
1.9.1 Definicja macierzy dodatnio określonej: . . . 7
1.9.2 Jak można zastosować rozkład Choleskiego takiej macierzy do rozwią- zania układu równań liniowych? . . . 7
1.10 W jaki sposób otrzymuje się metody iteracyjne rozwiązywania układów równań
liniowych? Jakie znasz metody i co możesz o nich powiedzieć? . . . 8
1.11 Opisać metodę połowienia służącą do określenia znajdowania pierwiastka rów- nania nieliniowego . . . 9
1.12 Opisać metodę regula-falsi służącą do wyznaczania pierwiastka równania nie- liniowego f(x) = 0. . . 9
1.13 Opisać metodę Newtona służącą do rozwiązywania układu równań nieliniowch f (x) = 0. W jakim przypadku i jak można ją uprościć? . . . . 10
1.14 Opisać metodę Bairstowa wyznaczania pierwiastków wielomianu. . . 11
1.15 Podać definicję ciągu Sturma. . . 11
1.16 Opisać metodę numerycznego wyznaczania macierzy A−1 . . . 12
1.17 Opisać zagadnienie aproksymacji średniokwadratowej wielomianami. W jaki sposób można rozwiązać powstały układ Haara? W jakim przypadku zagad- nienie to jest interpolacją wielomianową? . . . 12
2 Dowody 13 2.1 Wykazać, że jeśli x oznacza liczbę maszynową, to dla dowolnego naturalnego k jest f l(xk) = xk(1 + ε)k−1, gdzie |ε| < eps. . . . 13
2.2 Udowodnić, że jeżeli f (x) = (x−x0)(x−x1) . . . (x−xp), to [x0, x1, . . . , xn; f ] = 0 dla n ¬ p. Jaka jest wartość tego ilorazu, gdy n = p + 1? . . . . 14
2.3 Udowodnić, że jeśli funkcja g interpoluje funkcję f w węzłach x0, x1, . . . , xn−1, a funkcja h interpoluje funkcję f w węzłach x1, x2, . . . , xn, to funkcja g(x) + x0− x xn− x0[g(x) − h(x)] interpoluje funkcję f we wszystkich węzłach x0, x1, . . . , xn (funkcje g i h nie muszą być wielomianami). . . 14
2.4 Udowodnić, że jeśli funkcja g (wielomian lub nie) interpoluje funkcję f w wę- złach x0, x1, . . . , xn−1, a funkcja h jest funkcją taką, że h(xi) = δin(0 ¬ i ¬ n), to istnieje stała c, dla której funkcja g + ch interpoluje funkcję f w punktach x0, x1, . . . , xn . . . 15
3 Zadania 15 3.1 Na przykładzie trzech, matematycznie równoważnych zapisów funkcji f zmien- nej rzeczywistej x oraz przedziału [x] = [−12,32] pokazać, że rozszerzenia prze- działowe tej funkcji mogą być różne. Jaka jest wartość funkcji przedziałowej na tym przedziale? . . . 15
3.2 W arytmetyce przedziałowej dla dowolnych przedziałów [x], [y] i [z] prawdziwe jest zawieranie [x] · ([y] + [z]) ⊆ [x] · [y] + [x] · [z] Podaj przykład takich przedziałów [x], [y] i [z], aby w powyższej zależności przedział lewostronny był całkowicie zawarty w przedziale prawostronnym. . 16
3.3 Dane są dwa różne algorytmy obliczania różnicy kwadratów dwóch liczb: A1(a, b) = a2− b2 oraz A2(a, b) = (a − b) · (a + b). Realizacja, którego z tych algorytmów na komputerze jest lepsza i dlaczego? . . . 17
3.4 Za pomocą algorytmu Hornera znaleźć iloraz z dzielenia wielomianu w(x) przez dwumian x + 1 . . . . 17
3.5 Za pomocą algorytmu Hornera znaleźć iloraz dzielenia wielomianu w(x) przez dwumian x − 1 . . . . 18
3.6 Za pomocą algorytmu Hornera znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 2. . . . 18
3.7 Za pomocą algorytmu Hornera znaleźć wartości wszystkich znormalizowanych
pochodnych wielomianu w(x) w punkcie x = 1. . . . 19
3.8 Za pomocą algorytmu Shaw-Trauba znaleźć wartości wszystkich znormalizo- wanych pochodnych wielomianu w(x) w punkcie x = 1 . . . . 20
3.9 Za pomocą algorytmu Shaw-Trauba znaleźć wartości wszystkich znormalizo- wanych pochodnych wielomianu w(x) w punkcie x = 2 . . . . 21
3.10 Za pomocą algorytmu Neville’a znaleźć wartość wielomianu interpolacyjnego w punkcie x = 12, który w punktach 0,1,2 przyjmuje wartości odpowiednio 1,1,3. 22 3.11 Dane są wartości f (0) = −1, f0(0) = −2, f (1) = 0, f0(1) = 10, f ”(1) = 40. Znaleźć wielomian interpolacyjny Hermite’a. . . 22
3.12 Wielomian p(x) interpoluje cztery początkowe punkty z poniższej tablicy. Do- dając do wielomianu p jeden składnik, wyznaczyć wielomian interpolujący wszystkie dane. . . 25
3.13 Dla jakich wartości a, b, c funkcja S(x) może być w przedziale [0, 3) naturalną funkcją sklejaną stopnia trzeciego? . . . 25
3.14 Dla jakich wartości a, b, c i d funkcja S(x) jest funkcją sklejaną stopnia trzeciego? 26 3.15 Dla jakich wartości a, b funkcja S(x) jest funkcją sklejaną stopnia trzeciego . 28 3.16 Dla jakich wartości a, b, c i d funkcja S(x) może być w przedziale [−1, 1) naturalną funkcją sklejaną stopnia trzeciego? . . . 28
3.17 Znaleźć rozkład A = LLT, jeśli macierz A ma postać: . . . . 29
3.17.1 Rozwiązanie 1: . . . 29
3.17.2 Rozwiązanie 2: . . . 29
3.17.3 Wynik: . . . 30
3.18 Dla jakich wartości parametru α macierz A jest dodatnio określona? . . . . . 30
3.19 Zbadać wpływ zaburzenia wektora b na dokładność rozwiązania x układu rów- nań liniowych Ax = b . . . 31
3.20 Zbadać zbieżność metody Jacobiego dla układu równań liniowych. . . 32
3.21 Zbadać zbieżność metody Gaussa-Siedla dla układu równań liniowych. . . 32
3.22 Zbadać zbieżność metod Jacobiego i Gaussa-Siedla dla układu równań linio- wych z macierzą . . . 33
3.22.1 Metoda Jacobiego . . . 33
3.22.2 Metoda Gausa–Seidla . . . 34
3.23 Wykazać, że dla poniższej macierzy metoda Gaussa–Seidla nie gwarantuje zbieżności przy dowolnym wyborze początkowego przybliżenia rozwiązania ukła- du równań liniowych Ax = b. . . . 34
3.24 Zastosować twierdzenie Sturma do określenia liczby dodatnich pierwiastków rzeczywistych wielomianu: . . . 35
3.24.1 Wstęp: . . . 35
3.24.2 Rozwiązanie . . . 36
3.24.3 Zmiany znaków . . . 36
3.24.4 Liczba pierwiastków w x = 0 . . . . 36
3.24.5 Liczba dodatnich pierwiastków rzeczywistych . . . 36
3.25 Zastosować twierdzenie Sturma do określenia liczby pierwiastków rzeczywi- stych wielomianu. . . 36
3.25.1 Rozwiązanie: . . . 37
3.25.2 Zmiany znaków: . . . 38
3.25.3 Liczba pierwiastków rzeczywistych: . . . 38
3.26 Zastosować twierdzenie Sturma do określenia liczby ujemnych pierwiastków rzeczywistych wielomianu: . . . 38
3.26.1 Rozwiązanie: . . . 38
3.26.2 Zmiany znaków: . . . 39
3.26.3 Liczba ujemnych pierwiastków rzeczywistych: . . . 39
3.27 Wykonać pierwszą iterację w metodzie Newtona zastosowanej do rozwiązywa- nia układu równań nieliniowych przyjmując punkt początkowy (0,0,1) . . . . 39 3.28 Wykonać pierwsze dwie iteracje w metodzie Newtona zastosowanej do rozwią-
zywania układu równań nieliniowych przyjmując punkt początkowy (0,1) . . 40 3.29 Stosując metodę Gaussa z częściowym wyborem elementu podstawowego, wy-
znaczyć macierz A−1. . . 41 3.30 Znaleźć przybliżenie funkcji F (x) = sin(x) na przedziale [0,π2] wielomianem
stopnia drugiego (wskazówka: przyjąć x0= π2 ). Jaki jest błąd aproksymacji? 42
4 Zadania z wykładów 43
4.1 Znaleźć wielomian interpolacyjny Lagrange’a, który w punktach -2,1,2,4 przyj- muje wartości odpowiednio 3,1,-3,8. Jaka jest wartość tego wielomianu w punk- cie x = 0? . . . . 43 4.2 Stosując metodę Newtona, znaleźć wielomian interpolacyjny, który w punktach
0, 1, 2 przyjmuje wartości odpowiednio 1, 1, 3. . . 44 4.3 Utworzyć wielomian interpolacyjny Newtona dla funkcji f (x) opisanej poniższą
tabelą. . . 45 4.4 Różnice progresywne i wsteczne wielomianu . . . 45 4.5 Z jaką dokładnością można obliczyć ln 100, 5 za pomocą wzoru interpolacyjnego
Lagrange’a mając wartości ln 100, ln 101, ln 102, ln 103,? . . . 45
1 Teoria
1.1 Co to znaczy, że algorytm obliczeniowy jest numerycznie stabilny?
2006
Algorytm ϕ jest numerycznie stabilny, jeśli dla dowolnie wybranych danych x0 ∈ D istnieje taka dokładność obliczeń δ0, że dla dokładności δ < δ0 mamy x0 ∈ D(δ) oraz
lim
δ→0ϕ(x0, δ) = ϕ(x0),
gdzie ϕ oznacza algorytm ϕ zależy od rodzaju arytmetyki komputera.
Innymi słowy powyższa definicja mówi, że algorytm jest numerycznie stabilny wtedy, gdy zwiększając dokładność obliczeń można wyznaczyć (z dowolną dokładnością) dowolne istnie- jące rozwiązania zadania.
1.2 Sformułować zadanie interpolacyjne Lagrange’a i udowodnić jedno- znaczność jego rozwiązania.
2006, 2007, 2008, 2009, 2011, 2011zp, 2012zp, 2012
1.2.1 Sformułowanie zadania
Zadanie interpolacyjne Lagrange’a polega na znalezieniu dla danej funkcji wielomianu stop- nia nie wyższego niż n, którego wartość w n + 1 punktach xi są takie same jak wartości interpolowanej funkcji
Ln(xi) = f (xi), i = 0, 1, . . . , n oraz xi 6= xj dla i 6= j
1.2.2 Twierdzenie
Zadanie interpolacyjne Lagrange’a ma dokładnie jedno rozwiązanie
1.2.3 Dowód - zbędne na egzaminie
Niech x0, x1, . . . , xn będą węzłami interpolacji funkcji f takie, że znane są wartości f (x0) = y0, f (x1) = y1, . . . , f (xn) = yn Można zdefiniować funkcję li:
li(x)def=
n
Y
j=0
j6=i
x − xj
xi− xj, i = 0, 1, . . . , n
są to wielomiany stopnia n, takie że δij - symbol Kro-
necker’a
li(xj) = δij =
(1 dla i = j 0 dla i 6= j Stąd wynika, że
Ln(x) =
n
X
i=0
f (xi)li(xi) =
n
X
i=0
f (xi)
n
Y
j=0
j6=i
x − xj
xi− xj (1)
jest wielomianem stopnia co najwyżej n przyjmującym w węzłach interpolacyjnych xi war- tości f (xi), co dowodzi istnienia rozwiązania. Wzór (1) nazywamy wzorem interpolacyjnym Lagrange’a.
1.2.4 Wykazanie jednoznaczności rozwiązania
Załóżmy, że istnieją dwa tożsamościowo różne wielomiany L1n(x) i L2n(x) stopnia n, przyj- mujące w węzłach x0, x1, . . . , xn takie same wartości. Niech L3n(x) = L1n(x) − L2n(x) będzie wielomianem. Jest on stopnia co najwyżej n (co wynika z własności odejmowania wielomia- nów). (*)
Ponieważ L1n(x) i L2n(x) w węzłach xi : i ∈ 0, 1, . . . , n interpolują tę samą funkcję, to L1n(xi) = L2n(xi), a więc L3n(xi) = 0 (węzły interpolacji są pierwiastkami L4n(x)). Ale każdy niezerowy wielomian stopnia n ma co najwyżej n pierwiastków rzeczywistych, a ponieważ z (*) wiadomo, że L3n(x) ma n+1 pierwiastków, to L3n(x) musi być wielomianem tożsamościowo równym zeru. A ponieważ
L3n(x) = L1n(x) − L2n(x) ≡ 0 to
L1n(x) ≡ L2n(x) co jest sprzeczne z założeniem, że L1n(x) i L2n(x) są różne.
1.3 Sformułować zadanie interpolacyjne Hermite’a. Co można o nim po- wiedzieć?
2006, 2007, 2007p, 2008, 2008z, 2009, 2011, 2011z, 2012z, 2012
Zadanie interpolacyjne Hermite’a polega na znalezieniu dla danej funkcji f oraz k + 1 węzłów x0, x1, . . . , xk wielomianu Hnstopnia nie większego niż n, takiego że
Hn(j)(xi) = f(j)(xi), i = 0, 1, . . . , k; j = 0, 1, . . . , mi− 1 (2) czyli że w węzłach interpolacji pochodne rzędu j tego wielomianu są równe pochodnym funkcji intepolowanej, przy czym
k
X
i=0
mi= n + 1, mi ∈ N Liczbę mi nazywamy krotnością węzła xi.
Właściwości:
• Jeżeli ∀0¬i¬kmi= 1, to interpolacja Hermite’a sprowadza się do interpolacji Lagrange’a.
• Zadanie interpolacyjne Hermite’a (2) ma jednoznaczne rozwiązanie.
1.4 Sformułować zadanie interpolacji wymiernej. Co można o nim powie- dzieć?
1.4.1 Sformułowanie zadania.
2005
Zadanie interpolacji wymiernej polega na znalezieniu dla danej funkcji f funkcji wymiernej Wmn postaci
Wmn(x) = Pm
k=0akxk Pn
k=0bkxk,
w której stopień licznika jest równy co najwyżej m, a stopień mianownika - co najwyżej n, spełniającej dla danych węzłów xi i wartości funkcji w tych węzłach f (xi)(i = 0, 1, . . . , m + n) warunki
Wmn(xi) = f (xi).
1.4.2 Co można o nim powiedzieć?
Zadanie interpolacji wymiernej nie zawsze jest rozwiązalne.
Prawie każde rozwiązanie powyższego układu jest rozwiązaniem układu
m
X
k=0
akxki − f (xi)
n
X
k=0
bkxki = 0, i = 0, 1, . . . , m + n
1.5 Sformułować zadanie interpolacji trygonometrycznej. Co można o nim powiedzieć?
2006
1.5.1 Sformułowanie zadania.
Zadanie interpolacji trygonometrycznej polega na znalezieniu dla danej funkcji okresowej f o okresie 2π wielomianu trygonometrycznego:
Tn(x) = β0+ β1exi+ β2e2xi... + βn−1e(n−1)xi, (3) eαi = cos α + i sin α (wzór Eulera; i oznacza jednostkę urojoną), takiego że:
Tn(xk) = f (xk), k = 0, 1, ..., n − 1. (4) Funkcja f jest funkcją zmiennej rzeczywistej o wartościach zespolonych. Współczynniki βkw ogólności mogą być liczbami zespolonymi.
1.5.2 Co można o nim powiedzieć?
Jeżeli dana jest funkcja g o okresie T , tj. g(y + T ) = g(y), to dokonując zmiany zmiennej według zależności x = 2πT y otrzymamy f (x) = g(yT2π), a więc funkcję okresową o okresie 2π.
Bez zmniejszania ogólności możemy zatem rozważać tylko funkcje o okresie 2π.
Istnieje dokładnie jeden wielomian (3) spełniający warunki (4)
1.6 Opisać algorytm wyznaczania naturalnej funkcji sklejanej stopnia trze- ciego. Jaka jest postać układu równań liniowych, który trzeba rozwią- zać i jaką metodę można zastosować do jego rozwiązania?
2005, 2006, 2008p, 2009, 2010p, 2011
1.6.1 Definicja
Funkcję sklejaną S stopnia 2m − 1 z węzłami (∆) nazywamy naturalną funkcją sklejaną, jeśli w przedziałach (−∞, x0) i (xn, +∞) dana jest wielomianami stopnia m − 1.
Sm(∆) - klasa funkcji sklejanych stopnia m z węzłami (∆),
N2m−1(∆) - klasa naturalnych funkcji sklejanych stopnia 2m − 1 z węzłami (∆)
1.6.2 Algorytm - część ogólna
Szukaną funkcję sklejaną można przedstawić w każdym z podprzedziałów w postaci
S(x) = ai+ bit + cit2+ dit3, (5) gdzie t = x − xi dla x ∈ [xi, xi+1], i = 0, 1, . . . , n − 1. Ponadto S ∈ N3(∆) lub S ∈ P3(∆) oraz S(xi) = f (xi) w węzłach (∆).
Ze wzoru (5) wynika, że należy wyznaczyć 4n współczynników (jeśli przedział [a, b] podzielony jest na n podprzedziałów). Z definicji (5) oraz jej warunków wynika, że
ai= f (xi), i = 1, 2, . . . , n (6) gdyż dla x = xi mamy t = 0.
Do wyznaczenia pozostaje zatem 3n współczynników. Ponieważ S, S0 i S00 mają być ciągłe w węzłach xi (i = 1, 2, . . . , n−1) otrzymujemy 3n−3 równania. Pozostałe równania uzyskujemy z faktu, że S jest naturalną lub okresową funkcją sklejaną.
Wprowadźmy pomocnicze zmienne hi:
hi= xi+1− xi, i = 0, 1, . . . , n − 1 (7)
Współczynniki bi i di określone są następująco:
bi = f (xi+1) − f (xi) hi
−hi
3(ci+1+ 2ci), i = 0, 1, . . . , n − 1 (8) di= ci+1− ci
3hi , i = 0, 1, . . . , n − 1 (9)
1.6.3 Algorytm - funkcja naturalna
Jeśli funkcja S jest naturalną funkcją sklejaną, to poza przedziałem [a, b] jest ona wielomianem stopnia m − 1, a w przedziale [a, b] - stopnia 2m − 1. W naszym przypadku 2m − 1 = 3, a zatem m = 2. Oznacza to, że w przedziałach (−∞, a) i (b, +∞) funkcja S jest wielomianem stopnia pierwszego, a stąd S00(x) = 0 dla x /∈ [a, b]. Z drugiej strony funkcja S00 musi być ciągła w punktach x0 = a i xn = b, czyli S00(x0) = S00(xn) = 0. Zatem c0 = 0, bo S00(x) =
2c0 + 6d0(x − x0) dla x ∈ [x0, x1) oraz cn = 0 z warunku 2cn = S00(xn− 0). Znalezienie współczynników c sprowadza się zatem do rozwiązania układu równań liniowych:
2 w1 0 · · · · · · · · · · 0 u2 2 w2 0 · · · · · · · · · 0 0 u3 2 w3 · · · · · · · · · 0 ... ... ... ... . .. ... ... ... 0 · · · un−2 2 wn−2
0 · · · · 0 un−1 2
c1 c2 c3
... cn−2
cn−1
=
v1 v2 v3
... vn−2
vn−1
gdzie
ui = hi−1
hi−1+ hi, i = 2, 3, . . . , n − 1 (10) wi= hi
hi−1+ hi, i = 1, 2, . . . , n − 2 (11) vi= 3
hi−1+ hi
f (xi+1) − f (xi) hi
−f (xi) − f (xi−1) hi−1
, i = 1, 2, . . . , n − 1 (12) a następnie wyznaczenie pozostałych współczynników szukanej funkcji sklejanej ze wzorów (8) i (9).
Układ równań ma postać macierzy trójdiagonalnej. Istnieje kilka metod rozwiązywania ukła- dów tego typu, m.in metoda Crouta.
1.7 Opisać algorytm wyznaczania okresowej funkcji sklejanej stopnia trze- ciego. Jaka jest postać układu równań liniowych, który trzeba rozwią- zać i jaką metodę można zastosować do jego rozwiązania?
2005, 2006, 2008p, 2009,
2010p 1.7.1 Definicja
Funkcję sklejaną S stopnia m z węzłami (∆) nazywamy okresową o okresie b − a, jeśli S(i)(a + 0) = S(i)(b − 0) dla i = 0, 1, . . . , m − 1.
Sm(∆) - klasa funkcji sklejanych stopnia m z węzłami (∆),
Pm(∆) - klasa okresowych funkcji sklejanych stopnia m z węzłami (∆)
1.7.2 Algorytm - część ogólna
Patrz punkt 1.6.2.
1.7.3 Algorytm - okresowa funkcja sklejana
Jeśli funkcja S jest okresową funkcją sklejaną stopnia trzeciego, to muszą być spełnione warunki
S(i)(x0+ 0) = S(i)(xn− 0), i = 0, 1, 2 a stąd dla i = 0 otrzymujemy
f (x0) = f (xn), dla i = 1:
b0 = bn−1+ 2cn−1hn−1+ 3dn−1h2n−1, oraz dla i = 2:
c0= cn
Znalezienie współczynników sprowadza się zatem do rozwiązania układu równań liniowych:
2 w1 0 · · · · · · · 0 u1 u2 2 w2 0 · · · · · · · · · 0
0 u3 2 w3 · · · · · · · · · 0 ... ... ... ... . .. ... ... ... 0 · · · un−1 2 wn−1 wn 0 · · · · 0 un 2
c1 c2
c3 ... cn−1
cn
=
v1 v2
v3 ... vn−1
vn
gdzie
un= hn−1
hn−1+ h0 wn= h0
hn−1+ h0
vn= 3
hn−1+ h0
f (x1) − f (xn) h0
−f (xn) − f (xn−1) hn−1
a pozostałe wielkości ui, wi i vi (i = 1, 2, . . . , n − 1) są określone jak w (10), (11) i (12) Macierz ta jest macierzą zbliżoną do trójdiagonalnej, różni się od niej jedynie o niezerowe elementy u1 i wn. W celu rozwiązania takiego układu równań, macierz można rozłożyć na iloczyn LU np. metodą eliminacji Gaussa. Chcąc rozwiązać układ równań Ax = d, wystarczy rozwiązać kolejno dwa układy równań Ly = d i U x = y.
1.8 Opisać algorytm eliminacji Gaussa z pełnym wyborem elementu pod- stawowego.
2005, 2006, 2007, 2007p, 2008, 2008z, 2011, 2011z, 2012z, 2012
Algorytm eliminacji Gaussa jest algorytmem rozwiązywania układu n równań z n niewiado- mymi.
Układ równań
a1,1x1+ a1,2x2+ · · · + a1,nxn= b1 a2,1x1+ a2,2x2+ · · · + a2,nxn= b2
. . .
an,1x1+ am,2x2+ · · · + an,nxn= bn
przekształcany jest do postaci A(1)x = b(1)
a1,1 . . . a1,n
... ... ... an,1 . . . an,n
x1
... xn
=
b1
... bn
Przed wykonaniem algorytmu dla wygody warto kolumny podpisać kolejnymi zmiennymi, a wiersze wyrazami wolnymi. Ułatwia to orientację w zmianach w układzie równań podczas zamiany kolumn (zmiana kolejności zmiennych) oraz wierszy (zmiana kolejności wyrazów wolnych). Wyrazy wolne podlegają tym samym operacjom co reszta macierzy.
Algorytm zaczynamy od macierzy W = A;
1. W macierzy W znajdź element s o maksymalnej wartości bezwzględnej.
2. Zamień wiersze macierzy W tak aby s znajdowała się w pierwszym wierszu.
3. Zamień kolumny macierzy W tak aby s znajdowała się na pozycji (1, 1).
4. Odejmij od każdego z pozostałych wierszy wiersz pierwszy pomnożony przez wwi,1
1,1, gdzie i to numer wiersza.
5. Nową macierzą W jest macierz W bez pierwszego wiersza i pierwszej kolumny.
6. Jeżeli otrzymałeś macierz zerową → STOP - brak jednoznacznego rozwiązania.
7. Jeżeli wykonałeś n iteracji utwórz z odrzuconych wierszy, kolumn i etykiet macierz kwadratową o rozmiarze n i przejdź do odczytywanie kolejnych zmiennych.
8. Wróć do punktu 1.
Otrzymujemy macierz górnotrójkątną postaci:
i1 i2 . . . in q1,1 q1,2 . . . q1,n
0 q2,2 . . . q2,n ... ... . .. ... 0 0 . . . qn,n
=
c1
c2 ... cn
gdzie i1, i2, . . . , in to zapamiętane przez nas indeksy zmiennych w oryginalnej macierzy, a c1, c2, . . . , cn to przekształcone wyrazy wolne. Wartości zmiennych odczytujemy w następu- jący sposób:
1. Z ostatniego wiersza wyznaczamy
xin = cn qn,n
2. W analogiczny sposób, znając już wartości xi+1, xi+2, . . . , xnobliczamy kolejne wartości xi
xia = ca−Pnk=a+1(xik · qa,k) qa,a
1.9 Co to znaczy, że rzeczywista macierz kwadratowa A jest dodatnio okre- ślona? Jak można zastosować jej rozkład A = LLT do rozwiązania ukła- du równań liniowych Ax = b?
2006, 2007, 2007p, 2008, 2008p, 2009, 2010p, 2011, 2012
1.9.1 Definicja macierzy dodatnio określonej:
Zespoloną macierz A stopnia n nazywamy dodatnio określoną, gdy:
1. jest macierzą hermitowską, tj. A = AH( ¯AT) 2. xHAx > 0 dla wszystkich wektorów x ∈ Cn, x 6= 0.
Dla rzeczywistej macierzy A stopnia n mamy uproszczone warunki:
A ≡ AT ∧ ∀x ∈ Rn: (x 6≡ 0 ⇒ xTAx > 0)
1.9.2 Jak można zastosować rozkład Choleskiego takiej macierzy do rozwiązania układu równań liniowych?
W metodzie Choleskiego rozwiązujemy dwa układy równań liniowych z macierzami trójkąt- nym. Rozkład rzeczywistej macierzy A na iloczyn LLT wykonujemy na podstawie następu- jących wzorów:
lk,k = v u u u tak,k−
k−1
X
j=1
|lk,j|2, k = 1, 2, . . . , n,
li,k = ai,k−Pk−1j=1li,jlk,j¯ lk,k¯
, i = k + 1, k + 2, . . . , n.
Dla macierzy rzeczywistej wzory upraszczają się:
lk,k= v u u u tak,k−
k−1
X
j=1
l2k,j, k = 1, 2, . . . , n
li,k = ai,k−Pk−1j=1li,jlk,j
lk,k i = k + 1, k + 2, . . . , n
Powyższe wzory wynikają bezpośrednio z przedstawienia macierzy A jako iloczyn LLT, a następnie iterowania wierszami po kolejnych elementach macierzy L.
Żeby rozwiązać układ równań Ax = LLTx = b z taką macierzą wystarczy rozwiązać naj- pierw układ równań z macierzą dolnotrójkątną Ly = b, a następnie układ równań z macierzą górnotrójkątną LTx = y (liczby sprzężone zastępujemy odpowiednimi liczbami rzeczywisty- mi).
1.10 W jaki sposób otrzymuje się metody iteracyjne rozwiązywania ukła- dów równań liniowych? Jakie znasz metody i co możesz o nich po- wiedzieć?
2006, 2007, 2007p, 2008, 2008p, 2008zp, 2009, 2010p, 2011, 2011zp, 2012zp, 2012
Aby skonstruować metodę iteracyjną do rozwiązywania układów równań liniowych Ax = b wystarczy tak dobrać macierz M , by był spełniony warunek zbieżności %(M ) < 1 i warunek zgodności ¯x = M ¯x + w, gdzie ¯x jest rozwiązaniem układu równań Ax = b. Teoretycznie wystarczy zatem wziąć dowolną macierz M taką, by ρ(M ) < 1, a następnie obliczyć wektor w = (I − M )A−1b wynikający z warunku zgodności. Ponieważ wymagałoby to obliczenia wyrażenia A−1b, więc w praktyce postępujemy odwrotnie: przyjmujemy, że wektor w jest równy N b, gdzie N jest pewną macierzą kwadratową. Z warunku zgodności mamy wówczas M = I − N A i w ten sposób otrzymujemy rodzinę metod iteracyjnych postaci:
x(i+1) = (I − N A)x(i)+ N b
Znane metody opierają się na równości A = L + D + U , gdzie L jest macierzą dolnotrójkątną, D diagonalną, a U górnotrójkątną.
metoda Jacobiego
N = D−1 MJ = −D−1(L + U )
Dx(i+1) = −(L + U )x(i)+ b, i = 0, 1, 2, . . . metoda Gaussa–Seidla
N = (D + L)−1 MGS= −(D + L)−1U
Dx(i+1) = −Lx(i+1)− U x(i)+ b, i = 0, 1, 2, . . .
1.11 Opisać metodę połowienia służącą do określenia znajdowania pier- wiastka równania nieliniowego
2006
Załóżmy, że w przedziale [a, b] równanie f (x) = 0 ma dokładnie jeden pierwiastek i na którego końcach funkcja ma przeciwna znaki tj. f (a)f (b) < 0. W celu znalezienia przybliżonej wartości pierwiastka, dzielimy przedział [a, b] na połowy punktem
x(1)= a + b 2 .
Jeżeli f (x(1)) = 0, to punkt x(1) jest szukanym pierwiastkiem. Jeśli natomiast tak nie jest, to z dwóch przedziałów [a, x(1)] i [x(1), b] wybieramy ten, na którego końcach funkcja ma przeciwne znaki. Przedział ten dzielimy na połowy punktem x(2), badamy wartość funkcji w punkcie x(2) i znaki funkcji na końcach przedziału itd.
Po pewnej liczbie kroków otrzymamy albo pierwiastek dokładny, albo ciąg przedziałów, ta- kich, że:
f (x(i))f (x(i+1)) < 0,
gdzie [x(i), x(i+1)] oznacza tu i-ty przedział, którego długość wynosi:
|x(i+1)− x(i)| = 1
2i(b − a)
Można zauważyć, że lewe końce ciągu przedziałów tworzą ciąg niemalejący i ograniczony z góry, a prawe końce - ciąg nierosnący i ograniczony z dołu, więc wynika z tego, że istnieje ich wspólna granica, która jest szukanym pierwiastkiem
1.12 Opisać metodę regula-falsi służącą do wyznaczania pierwiastka rów- nania nieliniowego f(x) = 0.
2006, 2007, 2007p, 2008,
2009, 2011, 2012 Załóżmy, że w przedziale [a, b] równanie f (x) = 0 ma dokładnie jeden pierwiastek, a funkcja f ma na końcach tego przedziału przeciwne znaki. Załóżmy ponadto, że f ∈ C2[a, b] (prze- strzeń funkcji ciągłych wraz z pochodnymi do rzędu drugiego) oraz że pochodne pierwszego i drugiego rzędu funkcji f mają stąły znak w tym przedziale. Przy takich założeniach funkcja może mieć jedną z czterech postaci:
Pierwsza pochod- na mówi nam o tym, czy funkcja jest rosnąca czy malejąca, druga czy wklęsła czy tez wypukła
1. rosnąca + wklęsła 2. rosnąca + wypukła 3. malejąca + wklęsła 4. malejąca + wypukła
Pokażemy przykład f0(x), f00(x) > 0 (w pozostałych przypadkach jest analogicznie). Przez punkty A(a, f (a)) oraz B(b, f (b)) poprowadzimy cięciwę o równaniu :
y − f (a) = f (b) − f (a)
b − a (x − a).
Stąd
x(1)= a − f (a)
f (b) − f (a)(b − a).
Teraz musimy przeanalizować wyniki. Jeśli f (x(1)) = 0, to liczba x(1) jest szukanym pier-
rzędna - y
wiastkiem. Jeśli natomiast f (x(1)) 6= 0 to przez punkt C(x(1), f (x(1))) oraz ten z punktów A i B, którego rzędna ma przeciwny znak niż f (x(1)) prowadzimy następną cięciwę itd.
1.13 Opisać metodę Newtona służącą do rozwiązywania układu równań nieliniowch f (x) = 0. W jakim przypadku i jak można ją uprościć?
2006, 2007, 2008p, 2008zp, 2009, 2011, 2011zp, 2012zp, 2012
Rozwiązanie
f (x) =
f1(x1, x2, · · · , xn) f2(x1, x2, · · · , xn)
· · ·
fn(x1, x2, · · · , xn)
= 0
Zakładając, że:
1. punkt ξ jest pierwiastkiem powyższego równania 2. wektor x(0) jest przybliżoną wartością ξ
Przy powyższych założeniach można zapisać wzory, będące uogólnieniem klasycznej metody Newtona:
0 = f (ξ) ≈ f (x(0)) + Df (x(0))(ξ − x(0))
Df (x(0)) =
∂f1
∂x1
∂f1
∂x2 · · · ∂x∂f1
n
∂f2
∂x1
∂f2
∂x2 · · · ∂x∂f2
n
... ... . .. ...
∂fn
∂xn
∂fn
∂x2 · · · ∂f∂xn
n
, ξ − x(0)=
ξ1− x(0)1 ... ξn− x(0)n
O ile macierz Df (x(0)) jest nieosobliwa to:
x(i+1)= x(i)− [Df (x(i))]−1f (x(i))
Ze względu na niewygodne obliczenia wynikające z powyższego wzoru w praktyce wzór prze- kształca się do postaci:
Df (x(i))
| {z }
A
x(i+1)= Df (x(i))x(i)− f (x(i))
| {z }
b
Do rozwiązania powyższego układu równań liniowych można zastosować dowolną metodę.
Metodę tę można uprościć. Zakładając, że 0 < ω < 2, otrzymujemy następujące wzory TO-CHECK Czy ω na pewno
< 2?
iteracyjne na kolejne elementy rozwiązania x:
x(i+1)1 = x(i)1 − ω f1(x(i)1 , x(i)2 , . . . , x(i)n )
∂f1
∂x1(x(i)1 , x(i)2 , . . . , x(i)n )
x(i+1)2 = x(i)2 − ω f2(x(i+1)1 , x(i)2 , . . . , x(i)n )
∂f2
∂x2(x(i+1)1 , x(i)2 , . . . , x(i)n ) . . .
x(i+1)n = x(i)n − ω fn(x1(i+1), x(i+1)2 , . . . , x(i+1)n−1 , x(i)n )
∂fn
∂xn(x(i+1)1 , x(i+1)2 , . . . , x(i+1)n−1 , x(i)n )
1.14 Opisać metodę Bairstowa wyznaczania pierwiastków wielomianu.
2005, 2007, 2008, 2009, 2011, 2012
Metoda Bairstowa wyznaczania pierwiastków wielomianu (również zespolonych), polega na tym, że pierwiastki wielomianu
x2− rx − q,
gdzie r i q oznaczają liczby rzeczywiste, są także wtedy i tylko wtedy pierwiastkami danego wielomianu rzeczywistego
p(x) = a0xn+ a1xn−1+ · · · + an, a06= 0,
gdy wielomian p(x) jest podzielny bez reszty przez trójmian kwadratowy x2 − rx − q. W takim przypadku
p(x) = p1(x)(x2− rx − q) + Ax + B,
gdzie stopień wielomianu p1(x) jest nie większy niż n − 2, przy czym wyrażenie Ax + B jest resztą powstałą przy dzieleniu przez trójmian x2− rx − q.
Współczynniki A i B są zależne od r i q, tzn. A = A(r, q) i B = B(r, q). Ponieważ reszta ma być zerem, należy zatem rozwiązać równania:
( A(r, q) = 0 B(r, q) = 0 Stosujemy w tym celu metodę Newtona:
"
r(i+1) q(i+1)
#
=
"
r(i) q(i)
#
−
∂A
∂r
∂A
∂q
∂B
∂r
∂B
∂q
−1
r=r(i) q=q(i)
·
"
A(r(i), q(i)) B(r(i), q(i))
#
1.15 Podać definicję ciągu Sturma.
2006, 2007, 2008, 2012
Ciąg
p(x) = p0(x), p1(x), . . . , pn(x) wielomianów rzeczywistych nazywamy ciągiem Sturma gdy:
1. wielomian p0(x) stopnia n ma tylko pojedyncze pierwiastki
2. signp1(ξ) = −signp00(ξ) dla wszystkich rzeczywistych pierwiastków ξ wielomianu p0(x) 3. dla i = 1, 2, . . . , n − 1 mamy
TO-CHECK Czy te wielomia- ny to na pewno pi−1i pi+1?
pi+1(ξ)pi−1(ξ) < 0 gdzie ξ oznacza pierwiastek rzeczywisty wielomianu pi(x) 4. ostatni wielomian pn(x) nie zmienia swojego znaku
Ciąg tworzymy w następujący sposób: Pierwszy wielomian (po(x)) to dana funkcja, drugi (p1(x)) to pochodna pierwszego wielomianu z przeciwnym znakiem (p1(x) = −p00(x)). Kolej- ne wielomiany pi(x) (i = 2, 3, . . . , n) są resztą z dzielenia wielomianu pi−2(x) przez wielomian pi−1(x), wziętą ze znakiem przeciwnym, ewentualnie przemnożoną przez dowolną stałą do- datnią.
1.16 Opisać metodę numerycznego wyznaczania macierzy A−1
2007, 2008, 2009, 2011, 2012
Do wyznaczania macierzy A−1 stosuje się metodę eliminacji Gaussa z częściowym wyborem elementu podstawowego. Algorytm składa się z dwóch etapów:
1. wyznaczamy rozkład LU macierzy A (uwzględniając ewentualne przestawienia wierszy macierzy A)
2. rozwiązujemy n razy układ równań
LU x(i)= e(i), i = 1, 2, . . . , n gdzie e(i) oznacza i-ty wersor w przestrzeni Rn, tj.
e(i) = [0, . . . , 1
|{z}
i-ta pozycja
, . . . , 0]T
Rozwiązania x(i) są kolumnami macierzy A−1, przy czym należy ustawić je w kolejności wynikającej z przestawień wierszy macierzy. Można też równocześnie rozwiązywać n układów równań z prawymi stronami równymi e(i) (i = 1, 2, . . . , n).
1.17 Opisać zagadnienie aproksymacji średniokwadratowej wielomianami.
W jaki sposób można rozwiązać powstały układ Haara? W jakim przypadku zagadnienie to jest interpolacją wielomianową?
Rozwiązanie: W aproksymacji średniokwadratowej dla funkcji F (x) określonej na przedziale 2007p, 2009, 2011, 2012
[a,b] minimalizujemy ||F (x) − f (x)||, czyli szukamy minimum całki:
||F (x) − f (x)|| = Zb
a
w(x)[F (x) − f (x)]2dx
gdzie: w(x) jest funkcją wagową F (x) jest funkcją aproksymowaną
f (x) jest funkcją aproksymującą
natomiast dla funkcji F (x) danej na dyskretnym zbiorze argumentów będziemy poszukiwać minimum sumy:
||F (x) − f (x)|| =
m
X
i=0
w(xi)[F (xi) − f (xi)]2 przy czym w(xi) 0 dla i = 0, 1, ..., m Niech:
1. funkcja y = F (x) przyjmuje na pewnym zbiorze X=x0, x1, ..., xm wartości y0, y1, ..., ym
2. ϕi(x), i = 0, 1, ..., n oznacza układ funkcji bazowych podprzestrzeni Xn+1
Poszukujemy takiej funkcji f (x), która będzie najlepszym przybliżeniem średniokwadroto- wym funkcji F (x) na zbiorze X tj. funkcji:
f (x) =
m
X
i=0
aiϕi(x)
ai są tak określone, by minimalizować
Przyjmijmy:
H(a0, a1, ..., an) =
m
X
j=0
w(xj)[F (xj) −
n
X
i=0
aiϕi(xj)]2 =
m
X
j=0
w(xj)R2j
Obliczamy współczynniki ai:
∂H
∂ak = −2
m
X
j=0
w(xj)[F (xj) −
n
X
i=0
aiϕi(xj)]ϕk(xj) = 0
Otrzymaliśmy w ten sposób układ n+1 równań liniowych z n+1 niewiadomymi aizwany ukła- dem normalnym. Jeżeli jako funkcje bazowe przyjmiemy ciąg jednomianów xi (i = 0, 1, ..., n) to po przekształceniach otrzymamy wówczas układ normalny w postaci:
n
X
i=0
αikai = βk Objaśnienie do powyższych wzorów:
w(x) jest ustalona z góry i taka, że w(xj) > 0 dla j = 0, 1, ..., m Rj - odchylenie w punkcie xj
k = 0, 1, ..., n
αik =Pmj=0xi+kj , βk=Pmj=0F (xj)xkj Jeżeli:
1. n ¬ m i punkty x0, x1, ..., xn są różne, to wyznacznik układu jest różny od zera, a więc układ ten ma dokładnie jedno rozwiązanie
2. n = m, to wielomian aproksymacyjny f (x) pokrywa się z wielomianem interpolacyjnym dla punktów x0, x1, ..., xn i wówczas H = 0
2 Dowody
2.1 Wykazać, że jeśli x oznacza liczbę maszynową, to dla dowolnego natu- ralnego k jest f l(xk) = xk(1 + ε)k−1, gdzie |ε| < eps.
2009, 2011
Wstęp:
• f l(α) oznacza wartość wyrażenia α w arytmetyce zmiennopozycyjnej,
• eps oznacza dokładność maszynową.
Dowód indukcyjny.
1. Dla k = 1:
wartość wyr. w ar. zm. dla l.
maszynowej to ta liczba
f l(x) = x Dla k = 2 z definicji wynika, że:
f l(x2) = f l(x · x) = (x · x)(1 + ε) = x2(1 + ε) 2. Jeżeli przyjmiemy, że f l(xk−1) = xk−1(1 + ε)k−2 to:
f l(xk) = f l(xk−1· x) = (f l(xk−1) · x)(1 + ε) = xk−1(1 + ε)k−2x(1 + ε) = xk(1 + ε)k−1 Wniosek: na mocy zasady indukcji matematycznej można stwierdzić, że podane twierdzenie jest prawdziwe.