Elementy Analizy Numerycznej - opracowanie pytań egzaminacyjnych

Transkrypt

Elementy Analizy Numerycznej - opracowanie pytań egzaminacyjnych
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 powiedzieć? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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
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ć? . . . . . . . . .
1.11 Opisać metodę połowienia służącą do określenia znajdowania pierwiastka równania nieliniowego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.12 Opisać metodę regula-falsi służącą do wyznaczania pierwiastka równania nieliniowego f(x) = 0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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ć? . . . . . . . . . . . . .
1.14 Opisać metodę Bairstowa wyznaczania pierwiastków wielomianu. . . . . . . .
1.15 Podać definicję ciągu Sturma. . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.16 Opisać metodę numerycznego wyznaczania macierzy A−1 . . . . . . . . . . .
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ą? . . . . . . . . . . . . . . . . . . . .
8
9
9
10
11
11
12
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) +
2.4
x0 − x
[g(x) − h(x)]
xn − x0
interpoluje funkcję f we wszystkich węzłach x0 , x1 , . . . , xn (funkcje g i h nie
muszą być wielomianami). . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
14
15
3 Zadania
15
3.1 Na przykładzie trzech, matematycznie równoważnych zapisów funkcji f zmiennej rzeczywistej x oraz przedziału [x] = [− 21 , 32 ] pokazać, że rozszerzenia przedział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]
3.3
3.4
3.5
3.6
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
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
Za pomocą algorytmu Hornera znaleźć iloraz z dzielenia wielomianu w(x) przez
dwumian x + 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Za pomocą algorytmu Hornera znaleźć iloraz dzielenia wielomianu w(x) przez
dwumian x − 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Za pomocą algorytmu Hornera znaleźć wartości wszystkich znormalizowanych
pochodnych wielomianu w(x) w punkcie x = 2. . . . . . . . . . . . . . . . . . 18
2
3.7
3.8
3.9
3.10
3.11
3.12
3.13
3.14
3.15
3.16
3.17
3.18
3.19
3.20
3.21
3.22
3.23
3.24
3.25
3.26
Za pomocą algorytmu Hornera znaleźć wartości wszystkich znormalizowanych
pochodnych wielomianu w(x) w punkcie x = 1. . . . . . . . . . . . . . . . . .
Za pomocą algorytmu Shaw-Trauba znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 1 . . . . . . . . . . . . .
Za pomocą algorytmu Shaw-Trauba znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 2 . . . . . . . . . . . . .
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.
Dane są wartości f (0) = −1, f 0 (0) = −2, f (1) = 0, f 0 (1) = 10, f ”(1) = 40.
Znaleźć wielomian interpolacyjny Hermite’a. . . . . . . . . . . . . . . . . . . .
Wielomian p(x) interpoluje cztery początkowe punkty z poniższej tablicy. Dodając do wielomianu p jeden składnik, wyznaczyć wielomian interpolujący
wszystkie dane. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dla jakich wartości a, b, c funkcja S(x) może być w przedziale [0, 3) naturalną
funkcją sklejaną stopnia trzeciego? . . . . . . . . . . . . . . . . . . . . . . . .
Dla jakich wartości a, b, c i d funkcja S(x) jest funkcją sklejaną stopnia trzeciego?
Dla jakich wartości a, b funkcja S(x) jest funkcją sklejaną stopnia trzeciego .
Dla jakich wartości a, b, c i d funkcja S(x) może być w przedziale [−1, 1)
naturalną funkcją sklejaną stopnia trzeciego? . . . . . . . . . . . . . . . . . .
Znaleźć rozkład A = LLT , jeśli macierz A ma postać: . . . . . . . . . . . . .
3.17.1 Rozwiązanie 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.2 Rozwiązanie 2: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.17.3 Wynik: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dla jakich wartości parametru α macierz A jest dodatnio określona? . . . . .
Zbadać wpływ zaburzenia wektora b na dokładność rozwiązania x układu równań liniowych Ax = b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zbadać zbieżność metody Jacobiego dla układu równań liniowych. . . . . . .
Zbadać zbieżność metody Gaussa-Siedla dla układu równań liniowych. . . . .
Zbadać zbieżność metod Jacobiego i Gaussa-Siedla dla układu równań liniowych z macierzą . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.1 Metoda Jacobiego . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.22.2 Metoda Gausa–Seidla . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wykazać, że dla poniższej macierzy metoda Gaussa–Seidla nie gwarantuje
zbieżności przy dowolnym wyborze początkowego przybliżenia rozwiązania układu równań liniowych Ax = b. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zastosować twierdzenie Sturma do określenia liczby dodatnich pierwiastków
rzeczywistych wielomianu: . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.1 Wstęp: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.2 Rozwiązanie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.3 Zmiany znaków . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.24.4 Liczba pierwiastków w x = 0 . . . . . . . . . . . . . . . . . . . . . . .
3.24.5 Liczba dodatnich pierwiastków rzeczywistych . . . . . . . . . . . . . .
Zastosować twierdzenie Sturma do określenia liczby pierwiastków rzeczywistych wielomianu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.1 Rozwiązanie: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.2 Zmiany znaków: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.25.3 Liczba pierwiastków rzeczywistych: . . . . . . . . . . . . . . . . . . . .
Zastosować twierdzenie Sturma do określenia liczby ujemnych pierwiastków
rzeczywistych wielomianu: . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.1 Rozwiązanie: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.2 Zmiany znaków: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.26.3 Liczba ujemnych pierwiastków rzeczywistych: . . . . . . . . . . . . . .
3
19
20
21
22
22
25
25
26
28
28
29
29
29
30
30
31
32
32
33
33
34
34
35
35
36
36
36
36
36
37
38
38
38
38
39
39
3.27 Wykonać pierwszą iterację w metodzie Newtona zastosowanej do rozwiązywania układu równań nieliniowych przyjmując punkt początkowy (0,0,1) . . . .
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) . .
3.29 Stosując metodę Gaussa z częściowym wyborem elementu podstawowego, wyznaczyć macierz A−1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
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?
4 Zadania z wykładów
4.1 Znaleźć wielomian interpolacyjny Lagrange’a, który w punktach -2,1,2,4 przyjmuje wartości odpowiednio 3,1,-3,8. Jaka jest wartość tego wielomianu w punkcie x = 0? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Stosując metodę Newtona, znaleźć wielomian interpolacyjny, który w punktach
0, 1, 2 przyjmuje wartości odpowiednio 1, 1, 3. . . . . . . . . . . . . . . . . .
4.3 Utworzyć wielomian interpolacyjny Newtona dla funkcji f (x) opisanej poniższą
tabelą. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Różnice progresywne i wsteczne wielomianu . . . . . . . . . . . . . . . . . . .
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,? . . . . . . . . . . . .
1
39
40
41
42
43
43
44
45
45
45
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 ϕ(x0 , δ) = ϕ(x0 ),
δ→0
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 istniejące rozwiązania zadania.
1.2
2006,
2007,
2008, 2009, 2011,
2011zp, 2012zp,
2012
1.2.1
Sformułować zadanie interpolacyjne Lagrange’a i udowodnić jednoznaczność jego rozwiązania.
Sformułowanie zadania
Zadanie interpolacyjne Lagrange’a polega na znalezieniu dla danej funkcji wielomianu stopnia 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 ),
1.2.2
i = 0, 1, . . . , n oraz xi 6= xj dla i 6= j
Twierdzenie
Zadanie interpolacyjne Lagrange’a ma dokładnie jedno rozwiązanie
4
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 :
def
li (x) =
n
Y
x − xj
j=0
xi − xj
, i = 0, 1, . . . , n
j6=i
są to wielomiany stopnia n, takie że
δij - symbol Kronecker’a
(
1 dla i = j
0 dla i 6= j
li (xj ) = δij =
Stąd wynika, że
Ln (x) =
n
X
f (xi )li (xi ) =
i=0
n
X
f (xi )
i=0
n
Y
x − xj
j=0
xi − xj
(1)
j6=i
jest wielomianem stopnia co najwyżej n przyjmującym w węzłach interpolacyjnych xi wartoś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, przyjmują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 wielomianó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 powiedzieć?
Zadanie interpolacyjne Hermite’a polega na znalezieniu dla danej funkcji f oraz k + 1 węzłów
x0 , x1 , . . . , xk wielomianu Hn stopnia 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
mi = n + 1,
i=0
Liczbę mi nazywamy krotnością węzła xi .
Właściwości:
5
mi ∈ N
2006,
2007,
2007p,
2008,
2008z,
2009,
2011,
2011z,
2012z, 2012
• Jeżeli ∀0¬i¬k mi = 1, to interpolacja Hermite’a sprowadza się do interpolacji Lagrange’a.
• Zadanie interpolacyjne Hermite’a (2) ma jednoznaczne rozwiązanie.
1.4
2005
1.4.1
Sformułować zadanie interpolacji wymiernej. Co można o nim powiedzieć?
Sformułowanie zadania.
Zadanie interpolacji wymiernej polega na znalezieniu dla danej funkcji f funkcji wymiernej
Wmn postaci
Pm
ak xk
Wmn (x) = Pk=0
,
n
k
k=0 bk x
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
ak xki − f (xi )
bk xki = 0,
i = 0, 1, . . . , m + n
k=0
k=0
1.5
n
X
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 + β1 exi + β2 e2xi ... + βn−1 e(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 βk w
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
yT
według zależności x = 2π
T y otrzymamy f (x) = g( 2π ), 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)
6
1.6
1.6.1
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?
2005,
2006,
2008p,
2009,
2010p, 2011
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 + bi t + ci t2 + di t3 ,
(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, S 0 i S 00 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
− (ci+1 + 2ci ),
hi
3
di =
1.6.3
ci+1 − ci
,
3hi
i = 0, 1, . . . , n − 1
i = 0, 1, . . . , n − 1
(8)
(9)
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 S 00 (x) = 0 dla x ∈
/ [a, b]. Z drugiej strony funkcja S 00 musi być
00
ciągła w punktach x0 = a i xn = b, czyli S (x0 ) = S 00 (xn ) = 0. Zatem c0 = 0, bo S 00 (x) =
7
2c0 + 6d0 (x − x0 ) dla x ∈ [x0 , x1 ) oraz cn = 0 z warunku 2cn = S 00 (xn − 0). Znalezienie
współczynników c sprowadza się zatem do rozwiązania układu równań liniowych:
2 w1 0 · · ·
u
 2 2 w2 0

2 w3
 0 u3
.
.
..
..
.
..
.
.
.

 0 ··· ··· ···
0 ··· ··· ···

···
···
···
..
.
···
···
···
..
.
···
···
···
..
.
· · · un−2
2
···
0
un−1
0
0
0
..
.


c1
c2
c3
..
.

v1
v2
v3
..
.


 


 


 


 


=


 


 


 





vn−2 
wn−2 cn−2
2
cn−1
vn−1
gdzie
3
vi =
hi−1 + hi
ui =
hi−1
,
hi−1 + hi
i = 2, 3, . . . , n − 1
(10)
wi =
hi
,
hi−1 + hi
i = 1, 2, . . . , n − 2
(11)
f (xi+1 ) − f (xi ) f (xi ) − f (xi−1 )
−
,
hi
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ładów tego typu, m.in metoda Crouta.
1.7
2005,
2008p,
2010p
2006,
2009,
1.7.1
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?
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−1 hn−1 + 3dn−1 h2n−1 ,
oraz dla i = 2:
c0 = cn
8
Znalezienie współczynników sprowadza się zatem do rozwiązania układu równań liniowych:

2
u
 2

 0
 .
 .
 .

 0
wn
w1 0
2 w2
u3 2
..
..
.
.
··· ···
0 ···
···
0
w3
..
.
···
···
···
..
.
···
···
···
..
.
0
···
···
..
.
· · · · · · un−1 2
··· ···
0
un
u1
0
0
..
.

c1
c2
c3
..
.


v1
v2
v3
..
.


 


 


 


 


=


 


 


 

wn−1  cn−1  vn−1 
cn
2
vn
gdzie
3
vn =
hn−1 + h0
un =
hn−1
hn−1 + h0
wn =
h0
hn−1 + h0
f (x1 ) − f (xn ) f (xn ) − f (xn−1 )
−
h0
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 podstawowego.
Algorytm eliminacji Gaussa jest algorytmem rozwiązywania układu n równań z n niewiadomymi.
Układ równań
a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1
a2,1 x1 + a2,2 x2 + · · · + a2,n xn = b2
...
an,1 x1 + am,2 x2 + · · · + an,n xn = bn
przekształcany jest do postaci A(1) x = b(1)
a1,1
 ..
 .

an,1
. . . a1,n
x1
b1
..
..   ..  =  .. 
.
.  .   . 
. . . an,n xn
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.
9
2005, 2006, 2007,
2007p,
2008,
2008z,
2011,
2011z,
2012z,
2012
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
i to numer wiersza.
wi,1
w1,1 ,
gdzie
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
q
 1,1 q1,2

q2,2
 0

..
 ..
 .
.
0
0



. . . in
 
. . . q1,n 
  c1 
  
. . . q2,n  =  c2 
 
.. 
 .
..
.
.   .. 
cn
. . . qn,n
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ępujący sposób:
1. Z ostatniego wiersza wyznaczamy
x in =
cn
qn,n
2. W analogiczny sposób, znając już wartości xi+1 , xi+2 , . . . , xn obliczamy kolejne wartości
xi
P
ca − nk=a+1 (xik · qa,k )
x ia =
qa,a
1.9
2006,
2007p,
2008p,
2010p,
2012
2007,
2008,
2009,
2011,
1.9.1
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?
Definicja macierzy dodatnio określonej:
Zespoloną macierz A stopnia n nazywamy dodatnio określoną, gdy:
1. jest macierzą hermitowską, tj. A = AH (ĀT )
2. xH Ax > 0 dla wszystkich wektorów x ∈ C n , x 6= 0.
Dla rzeczywistej macierzy A stopnia n mamy uproszczone warunki:
A ≡ AT
1.9.2
∧
∀x ∈ Rn : (x 6≡ 0 ⇒ xT Ax > 0)
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ątnym. Rozkład rzeczywistej macierzy A na iloczyn LLT wykonujemy na podstawie następujących wzorów:
10
v
u
k−1
u
X
u
lk,k = tak,k −
|lk,j |2 ,
k = 1, 2, . . . , n,
j=1
ai,k −
li,k =
Pk−1
¯
j=1 li,j lk,j
¯
lk,k
,
i = k + 1, k + 2, . . . , n.
Dla macierzy rzeczywistej wzory upraszczają się:
v
u
k−1
u
X
u
2 ,
lk,k = tak,k −
lk,j
k = 1, 2, . . . , n
j=1
li,k =
ai,k −
Pk−1
j=1 li,j lk,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 = LLT x = b z taką macierzą wystarczy rozwiązać najpierw układ równań z macierzą dolnotrójkątną Ly = b, a następnie układ równań z macierzą
górnotrójkątną LT x = y (liczby sprzężone zastępujemy odpowiednimi liczbami rzeczywistymi).
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ć?
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−1 b wynikający z warunku zgodności. Ponieważ wymagałoby to obliczenia
wyrażenia A−1 b, 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)−1 U
Dx(i+1) = −Lx(i+1) − U x(i) + b,
11
i = 0, 1, 2, . . .
2006,
2007,
2007p,
2008,
2008p,
2008zp,
2009,
2010p,
2011,
2011zp,
2012zp, 2012
1.11
Opisać metodę połowienia służącą do określenia znajdowania pierwiastka 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, takich, ż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
(b − a)
2i
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ównania 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 ∈ C 2 [a, b] (przestrzeń 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
Pierwsza pochod- może mieć jedną z czterech postaci:
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 f 0 (x), f 00 (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)
(x − a).
b−a
x(1) = a −
f (a)
(b − a).
f (b) − f (a)
Stąd
rzędna - y
Teraz musimy przeanalizować wyniki. Jeśli f (x(1) ) = 0, to liczba x(1) jest szukanym pierwiastkiem. 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.
12
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,
2008p,
2009,
2011zp,
2012
Rozwiązanie


f1 (x1 , x2 , · · · , xn )
 f (x , x , · · · , x ) 
 2 1 2
n 
f (x) = 
=0


···
fn (x1 , x2 , · · · , xn )
2007,
2008zp,
2011,
2012zp,
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) )
 ∂f
1
∂x1

 ∂f2
 ∂x1

Df (x(0) ) = 
 ..
 .

 ∂fn
∂xn
∂f1
∂x2
∂f2
∂x2
···
..
.
..
∂fn
∂x2
···
∂f1
∂xn

∂f2 
∂xn 


···

ξ − x(0)
,



∂fn 
..
.
.
(0)

ξ1 − x 1


..

=
.


(0)
ξn − x n
∂xn
O ile macierz Df (x(0) ) jest nieosobliwa to:
x(i+1) = x(i) − [Df (x(i) )]−1 f (x(i) )
Ze względu na niewygodne obliczenia wynikające z powyższego wzoru w praktyce wzór przekształca się do postaci:
Df (x(i) ) x(i+1) = Df (x(i) )x(i) − f (x(i) )
|
{z
}
A
|
{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
iteracyjne na kolejne elementy rozwiązania x:
< 2?
(i)
(i+1)
x1
(i)
= x2 − ω
(i)
(i) (i)
(i)
∂f1
∂x1 (x1 , x2 , . . . , xn )
(i+1)
(i+1)
x2
(i)
f1 (x1 , x2 , . . . , xn )
(i)
= x1 − ω
f2 (x1
(i)
(i)
, x2 , . . . , xn )
(i+1) (i)
(i)
∂f2
, x2 , . . . , xn )
∂x2 (x1
...
(i+1)
x(i+1)
n
=
x(i)
n
−ω
fn (x1
(i+1)
, x2
(i+1)
(i)
, . . . , xn−1 , xn )
(i+1) (i+1)
(i+1) (i)
∂fn
, x2
, . . . , xn−1 , xn )
∂xn (x1
13
1.14
Opisać metodę Bairstowa wyznaczania pierwiastków wielomianu.
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) = a0 xn + a1 xn−1 + · · · + an ,
a0 6= 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)
1.15
2006, 2007, 2008,
2012
#
"
=
r(i)
q (i)

#
−
∂A
 ∂r
∂B
∂r

∂A −1
∂q

∂B
∂q r=r(i)
q=q (i)
"
#
A(r(i) , q (i) )
·
B(r(i) , q (i) )
Podać definicję ciągu Sturma.
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
0
2. signp1 (ξ) = −signp0 (ξ) dla wszystkich rzeczywistych pierwiastków ξ wielomianu p0 (x)
TO-CHECK
Czy te wielomiany to na pewno
pi−1 i pi+1 ?
3. dla i = 1, 2, . . . , n − 1 mamy
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)). Kolejne 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łą dodatnią.
14
2005, 2007,
2009, 2011,
Opisać metodę numerycznego wyznaczania macierzy A−1
1.16
2008, 2009,
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}
, . . . , 0]T
i-ta pozycja
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
w(x)[F (x) − f (x)]2 dx
a
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
w(xi )[F (xi ) − f (xi )]2
i=0
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 średniokwadrotowym funkcji F (x) na zbiorze X tj. funkcji:
f (x) =
m
X
ai ϕi (x)
i=0
ai są tak określone, by minimalizować
15
Przyjmijmy:
H(a0 , a1 , ..., an ) =
m
X
w(xj )[F (xj ) −
j=0
n
X
ai ϕi (xj )]2 =
i=0
m
X
w(xj )Rj2
j=0
Obliczamy współczynniki ai :
m
n
X
X
∂H
= −2
w(xj )[F (xj ) −
ai ϕi (xj )]ϕk (xj ) = 0
∂ak
j=0
i=0
Otrzymaliśmy w ten sposób układ n+1 równań liniowych z n+1 niewiadomymi ai zwany układem 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
αik ai = βk
i=0
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
P
Pm
i+k
k
αi k = m
j=0 xj , βk =
j=0 F (xj )xj
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 naturalnego 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.
wartość wyr. w
ar. zm. dla l.
maszynowej to ta
liczba
1. Dla k = 1:
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−2 x(1 + ε) = xk (1 + ε)k−1
Wniosek: na mocy zasady indukcji matematycznej można stwierdzić, że podane twierdzenie
jest prawdziwe.
16
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?
2007, 2008, 2009,
2011, 2012
Definicja ilorazu różnicowego:
[xl , xl+1 , . . . , xl+k ; f ] =
l+k
X
i=l
f (xi )
j=l (xi − xj )
Ql+k
j6=i
Dowód. Z definicji wynika zatem, że przy założeniu n ¬ p, każdy składnik sumy będzie równy
0, gdyż ponieważ wartość f (x) w punktach x0 , x1 , . . . , xn wynosi 0. Zatem wartość całej sumy,
a tym samym ilorazu różnicowego wyniesie 0.
Trochę
inaczej
niż w rozwiazanie.pdf, ale o
wiele prościej
Dla n = p + 1, n − 1 pierwszych składników powyższej sumy będzie równych 0, natomiast
składnik n-ty będzie wyglądał następująco (przyjmując p = n − 1):
f (xn )
(xn − x0 )(xn − x1 ) . . . (xn − xp )
= 1
=
(xn − x0 )(xn − x1 ) . . . (xn − xp )
j=0 (xn − xj )
Qp
Ostatecznie wartość ilorazu różnicowego [x0 , x1 , . . . , xn ; f ] = 0 dla n = p + 1 to 1.
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
[g(x) − h(x)]
xn − x0
interpoluje funkcję f we wszystkich węzłach x0 , x1 , . . . , xn (funkcje g i h
nie muszą być wielomianami).
2007,
2008,
2008z,
2011z,
2012z, 2012
Dowód.
Oznaczmy przez k(x) funkcję:
k(x) = g(x) +
x0 − x
[g(x) − h(x)]
xn − x0
1. Dla x = x0 :
x0 − x0
[g(x0 ) − h(x0 )]
xn − x0
= g(x0 ) + 0 · [g(x0 ) − h(x0 )]
k(x0 ) = g(x0 ) +
(13)
= g(x0 )
2. Dla x = xn :
x0 − xn
[g(xn ) − h(xn )]
xn − x0
= g(xn ) − 1 · [g(xn ) − h(xn )]
k(xn ) = g(xn ) +
= g(xn ) − g(xn ) + h(xn )
= h(xn )
17
(14)
3. Dla x = xi (i = 1, 2, . . . , n − 1):
g(xi ) = h(xi ),
zatem
x0 − xi
[g(xi ) − h(xi )]
xn − x0
x0 − xi
= g(xi ) −
·0
xn − x0
= g(xi )
k(xi ) = g(xi ) +
(15)
Ponieważ funkcja g(x) interpoluje funkcję f w węzłach x0 , x1 , . . . , xn−1 , a funkcja h interpoluje
funkcję f w węźle xn , zatem na podstawie równań (13), (14) i (15) funkcja k(x) interpoluje
funkcję f w węzłach x0 , x1 , . . . , xn .
2.4
2007, 2008, 2012
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
Wstęp:
• Symbol Kronecker’a:
(
δij =
1,
0,
i=j
i 6= j
Dowód.
Oznaczmy przez k(x) następującą funkcję:
k(xi ) = g(xi ) + c · h(xi ) = g(xi ) + c · δin
Dla i = 0, 1, . . . , n − 1, wartość symbolu Kronecker’a δin wynosi 0, gdyż i 6= n, zatem k(xi ) =
g(xi ), z czego wynika, że dla i = 0, 1, . . . , n − 1 funkcja k(x) interpoluje funkcję f w punktach
Być może to po- x0 , x1 , . . . , xn−1 .
winno być przez
negację, że taka
stała nie istnieje i
dojść do sprzeczności..
Dla i = n, wartość symbolu Kronecker’a δin wynosi 1, a więc k(xn ) = g(xn ) + c. Ponieważ
funkcja k(x) ma interpolować funkcję f (x) w węźle xn , zatem k(xn ) = f (xn ). Znając wartość
funkcji interpolowanej f (x) i funkcji g(x) w węźle xn , można wyliczyć c na podstawie wzoru:
c = f (xn ) − g(xn )
Istnieje zatem taka stała c, dla której funkcja k(x) = g(x) + c · h(x) interpoluje funkcję f w
węzłach x0 , x1 , . . . , xn .
3
3.1
Zadania
Na przykładzie trzech, matematycznie równoważnych zapisów funkcji
f zmiennej rzeczywistej x oraz przedziału [x] = [− 12 , 32 ] pokazać, że rozszerzenia przedziałowe tej funkcji mogą być różne. Jaka jest wartość
funkcji przedziałowej na tym przedziale?
2007p
f (x) =
1
1
4
4
+
=
=
,
2−x 2+x
4−x·x
4 − x2
Wstęp:
18
|x| < 2
• f[] - oznaczenia rozszerzenia przedziałowego funkcji
• Jeżeli mamy kilka równoważnych zapisów matematycznych, to funkcję przedziałową
należy wyznaczyć z wyrażenia, w którym x występuję namniejszą liczbę razy
• h[x]i = min {|x| : x ∈ [x]}
• |[x]| = max {|x| : x ∈ [x]}
h
• [x]2 = h[x]i2 , |[x]|2
i
Rozwiązanie:
1
(1)
f[] ([x]) =
2−
h
− 21 , 32
1
i+
2+
h
− 12 , 23
2
24 8
2 2
= ,2 + ,
=
,
5
7 3
30 3
4−
h
4
(2)
f[] ([x]) =
=h
− 12 , 32
4
·
7 19
4, 4
4
4−
h
− 21 , 32
i2 =
4
1
1 5
2, 2
i+h
1
3 7
2, 2
i
(16)
i =
4
4 − − 43 , 94
i
4 4
16 16
=
,
,
19 7
19 7
− 12 , 23
i = [4, 4] ·
(3)
f[] ([x]) =
i h
i = h
h
(17)
4
h
4 − 0, 94
i
16
1 4
i = [4, 4] ·
=h
,
= 1,
7
4 7
7
4, 4
(18)
Wartość funkcji przedziałowej odpowiada wartości jej rozszerzenia przedziałowego danego
równaniem (18).
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.
Wstęp:
[a] = [a, a]
[a] + [b] = [a + b, a + b]
h
n
o
n
oi
[a] · [b] = min a · b, a · b, a · b, a · b , max a · b, a · b, a · b, a · b
1 1
[a]/[b] = [a] · ,
,0 ∈
/ [b]
b b
Rozwiązanie:
Przyjmując:
1
[x] = −1, −
2
[y] = [1, 2]
19
2007p,
2008,
2009, 2011
Ważne!
Końce
przedziałów nie
mogą być sobie równe (ani
jeden)!
[z] = −1, −
1
2
Otrzymujemy:
1
1
L = −1, − · [1, 2] + −1, −
2
2
1
3
3
= −1, − · 0,
= − ,0
2
2
2
1
1
1
1
7 1
1
P = −1, − · [1, 2] + −1, − · −1, − = −2, − + , 1 = − ,
2
2
2
2
4
4 2
Zatem:
L⊆P
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?
2005, 2009, 2011
Przy realizacji pierwszego z nich w arytmetyce zmiennoprzecinkowej otrzymujemy
f l(a2 − b2 ) = [(a · a)(1 + ε1 ) − (b · b)(1 + ε2 )] (1 + ε3 ) =
!
(a2 ε1 − b2 ε2 )
= (a2 − b2 ) 1 +
(1 + ε3 ) =
(a2 − b2 )
= (a2 − b2 )(1 + δ1 )
gdzie
a2 ε1 − b2 ε2
(1 + ε3 ) + ε3 ,
a2 − b2
a ε1 , ε2 , ε3 są błędami wytworzonymi w poszczególnych działaniach arytmetycznych i zgodnie
z zależnością |εi | 6 2−t (i = 1, 2, 3). Jeśli a2 jest odpowiednio bliskie b2 , a ε1 i ε2 mają
przeciwne znaki, to błąd względny δ1 wyniku otrzymanego algorytmem A1 może być dowolnie
duży. Nie jest tak w przypadku drugiego algorytmu, gdyż
δ1 =
f l((a − b)(a + b)) = ((a − b)(1 + ε1 )(a + b)(1 + ε2 ))(1 + ε3 ) =
= (a2 − b2 )(1 + δ2 )
gdzie
|δ2 | 6 |ε1 | + |ε2 | + |ε3 |
i błąd względny δ2 jest zawsze nie większy od 3·2−t . (Oszacowanie δ2 jest podane w pierwszym
przybliżeniu tj. traktuje iloczyny kilku ε jako 0).
Jak widzimy z porównania wartości δ1 i δ2 algorytm drugi jest znacznie lepszy.
3.4
Za pomocą algorytmu Hornera znaleźć iloraz z dzielenia wielomianu
w(x) przez dwumian x + 1
2006
w(x) = x3 − 2x2 − 5x + 5
Wstęp:
wn = a n
wk = wk+1 · x + an ,
k = n − 1, n − 2, . . . , 0
w0 = w(k)
20
Iloraz z dzielenia uzyskujemy, wyznaczając kolejne współczynniki wk . Ostatni współczynnik
(w0 ) jest resztą z dzielenia.
v(x) =
n
X
wi xi−1
i=1
Rozwiązanie:
v(x) =
w(x)
x+1
w3 = 1
w2 = 1 · (−1) − 2 = −3
w1 = −3 · (−1) − 5 = −2
w0 = −2 · (−1) + 5 = 7
v(x) = x2 − 3x − 2,
3.5
r=7
Za pomocą algorytmu Hornera znaleźć iloraz dzielenia wielomianu w(x)
przez dwumian x − 1
4
3
2
w(x) = x + x − 4x − 3x + 3
2006,
2008zp,
2011zp, 2012zp
w4 = 1
w3 = 1 · 1 + 1 = 2
w2 = 2 · 1 − 4 = −2
w1 = (−2) · 1 − 3 = −5
w0 = (−5) · 1 + 3 = −2
v(x) = x3 + 2x2 − 2x − 5,
3.6
r = −2
Za pomocą algorytmu Hornera znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 2.
w(x) = x3 − 2x2 − 5x + 5
Wstęp:
Wyznaczamy kolejne ilorazy z dzielenia wielomianu w(x) przez dwumian x − C, gdzie C w
przypadku tego zadania wynosi 2. Wyznaczanie przerywamy, gdy wielomian będzie stały.
Kolejne reszty z dzielenia, począwszy od drugiej, wyznaczają znormalizowane pochodne w
punkcie x = C.
Rozwiązanie:
• w1 (x) = x3 − 2x2 − 5x + 5
w3 = 1
w2 = 1 · 2 − 2 = 0
w1 = 0 · 2 − 5 = −5
w0 = (−5) · 2 + 5 = −5
21
2006, 2007, 2008,
2012
• w2 (x) = x2 − 5
w2 = 1
w1 = 1 · 2 + 0 = 2
w0 = 2 · 2 − 5 = −1 =
w0 (2)
1!
• w3 (x) = x + 2
w1 = 1
w0 = 1 · 2 + 2 = 4 =
• w4 (x) = 1
w0 = 1 =
w00 (2)
2!
w000 (2)
3!
Ostatecznie znormalizowane pochodne wielomianu w(x) w punkcie x = 2 to -1, 4 i 1.
3.7
Za pomocą algorytmu Hornera znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 1.
2007, 2008, 2012
w(x) = x4 + x3 − 4x2 − 3x + 3
• w1 (x) = x4 + x3 − 4x2 − 3x + 3
w4 = 1
w3 = 1 · 1 + 1 = 2
w2 = 2 · 1 − 4 = −2
w1 = (−2) · 1 − 3 = −5
w0 = (−5) · 1 + 3 = −2
• w2 (x) = x3 + 2x2 − 2x − 5
w2 = 1
w1 = 1 · 1 + 2 = 3
w1 = 3 · 1 − 2 = 1
w0 = 1 · 1 + −5 = −4
• w3 (x) = x2 + 3x + 1
w2 = 1
w1 = 1 · 1 + 3 = 4
w0 = 4 · 1 + 1 = 5
• w4 (x) = x + 4
w1 = 1
w0 = 1 · 1 + 4 = 5
22
• w5 (x) = 1
w0 = 1
Ostatecznie znormalizowane pochodne wielomianu w(x) w punkcie x = 1 to -4, 5, 5 i 1.
3.8
Za pomocą algorytmu Shaw-Trauba znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 1
2007p
4
3
2
w(x) = x + x − 4x − 3x + 3
Wstęp:
• wyznaczamy m pierwszych znormalizowanych pochodnych wielomianu
• pq = n + 1, gdzie p, q - liczby naturalne
• s(j) = (n − j) mod q,
(
• r(j) =
0
q
j = 0, 1, . . . , n
dla j mod q 6= 0
,
dla j mod q = 0
• Ti−1 = an−i−1 xs(i+1) ,
• Tjj = an xs(0) ,
j = 0, 1, . . . , m
• Okazuje się, że Tnj =
wzorem
j = 0, 1, . . . , n
i = 0, 1, . . . , n − 1
j
j−1
xr(i−j) ,
+ Ti−1
• Tij = Ti−1
Tnj
xj mod q
dla p = 1 minimalna liczba
mnożeń
,
j = 0, 1, . . . , m;
w(j) (x) j mod q
,
j! x
i = j + 1, j + 2, . . . , n
zatem j-ta znormalizowana pochodna wyraża się
j = 1, 2, . . . , m
Rozwiązanie:
• n=4
• pq = 5 ⇒ p = 1, q = 5
• s(j):
j
0
1
2
3
4
s(j)
4
3
2
1
0
j
0
1
2
3
4
r(j)
5
0
0
0
0
• r(j):
• Tij :
23
Ponieważ x = 1
można
pominąć
liczenie
wszystkich potęg
aa
i
aaj -1
a
0
1
2
3
4
1
-4
-3
3
0
1
2
3
4
1
2
-2
-5
-2
1
3
1
-4
1
4
5
1
5
1
Przykłady:
T0−1 = 1 · 13 = 1
T22 = 1 · 14 = 1
T20 = T1−1 + T10 = −4 + 2 = −2
T43 = T32 + T33 = 4 + 1 = 5
• Znormalizowane pochodne:
rząd
1
2
3
4
3.9
wartość
-4
5
5
1
Za pomocą algorytmu Shaw-Trauba znaleźć wartości wszystkich znormalizowanych pochodnych wielomianu w(x) w punkcie x = 2
2006
w(x) = x3 − 2x2 − 5x + 5
• n=3
• pq = 4 ⇒ p = 1, q = 4
• s(j):
j
0
1
2
3
s(j)
3
2
1
0
j
0
1
2
3
r(j)
4
0
0
0
• r(j):
elementy na przekątnej Tjj są zawsze takie same
• Tij :
aa
i a j
a
a
0
1
2
3
-1
0
22
23
−2 · = −8
−5 · 21 = −10
5 · 20 = 5
1· =8
−8 + 8 · 20 = 0
−10 + 0 · 20 = −10
5 − 10 · 20 = −5
24
1
2
3
8
0 + 8 · 20 = 8
−10 + 8 · 20 = −2
8
8 + 8 · 20 = 16
8
• Znormalizowane pochodne:
rząd
wartość
−2
21
1
3.10
= −1
2
16
22
=4
3
8
23
=1
Za pomocą algorytmu Neville’a znaleźć wartość wielomianu interpolacyjnego w punkcie x = 21 , który w punktach 0,1,2 przyjmuje wartości
odpowiednio 1,1,3.
2006, 2007p
Wstęp:
• Pi0 = f (xi )
W
mianowniku
różnica
między
skrajnymi
węzłami
•
(x − xi−k )Pi,k−1 − (x − xi )Pi−1,k−1
xi − xi−k
Pi,k−1 − Pi−1,k−1
= Pi,k−1 +
,
1 ¬ k ¬ i,
x−xi−k
x−xi − 1
Pik =
i = 0, 1, . . .
Rozwiązanie:
k=0
Pi0 = f (xi )
P00 = 1
xi
0
i
0
k=1
Pi1
>
=1
>
>
2
1
1−0
P10 = 1
1
1
P11 =
k=2
Pi2
P21 =
0
2−1
P22 =
3
2
2−0
=
3
4
=0
P20 = 3
2
Przykład:
P11 =
Ostatecznie L2
3.11
1
2
=
1
2
− x0 · P10 −
1
2
− x1 · P00
x1 − x0
=
1
2
· 1 − − 12 · 1
1
=1
3
4
Dane są wartości f (0) = −1, f 0 (0) = −2, f (1) = 0, f 0 (1) = 10, f ”(1) = 40.
Znaleźć wielomian interpolacyjny Hermite’a.
2005
Wstęp:
• Oznaczenia
– n - stopień wielomianu Hermite’a
– mi - krotność i-tego węzła (i = 0, 1, . . . , n) (czyli ile ma zdefiniowanych pochodnych)
– k + 1 - ilość węzłów
– zobacz również 1.3
25
• Funkcja pomocniczna s(i) (suma krotności i początkowych węzłów interpolacji):
(
s(i) =
0
m0 + m1 + · · · + mi−1
dla i = 0,
dla i > 0
• Każdą liczbę l = 0, 1, . . . , n można jednoznacznie przestawić w postaci l = s(i) + j,
gdzie 0 ¬ i ¬ k oraz 0 ¬ j ¬ mi − 1.
• Wielomian ps(i)+j :
ps(0) (x) = 1
ps(i)+j (x) = (x − x0 )m0 (x − x1 )m1 . . . (x − xi )j ,
j = 1, 2, . . . , mi − 1
i = 0, 1, . . . , k;
• Szukany wielomian Hn :
Hn (x) =
n
X
bl pl (x) =
k mX
i −1
X
bs(i)+j ps(i)+j (x)
i=0 j=0
l=0
• Uogólnionym ilorazem różnicowym funkcji f nazywamy:
1. dla i-krotnego węzła xl :
[xl , i; f ] =
f (i−1) (xl )
(i − 1)!
(19)
2. dla różnych węzłów xl , xl+1 , . . . , xl+k o krotnościach odpowiednio il , il+1 , . . . , il+k
[xl , il ; xl+1 , il+1 ; . . . ; xl+k , il+k ; f ] =
(20)
[xl , il − 1; xl+1 , il+1 ; . . . ; xl+k , il+k ; f ] − [xl , il ; xl+1 , il+1 ; . . . ; xl+k , il+k − 1; f ]
xl+k − xl
• Współczynniki bl wielomianu interpolacyjnego Hermite’a są równe ilorazom różnicowym interpolowanej funkcji opartym na początkowych węzłach z uwzględnieniem ich
krotności, tzn.
bl = [x0 , m0 ; x1 , m1 ; . . . ; xi−1 , mi−1 ; xi , j + 1; f ]
Rozwiązanie:
• Dane:
k=1
i
xi
mi
f (xi )
f 0 (xi )
f 00 (xi )
0
0
2
-1
-2
-
1
1
3
0
10
40
• Suma krotności węzłów wynosi 5, zatem szukany wielomian będzie stopnia co najwyżej
czwartego.
H4 (x) =
4
X
bl pl (x) =
2 mX
i −1
X
i=0 j=0
l=0
• Funkcja s(i):
26
bs(i)+j ps(i)+j (x)
i
0
1
s(i)
0
m0 = 2
• Wartość l:
l
0
1
2
3
4
i
0
0
1
1
1
j
0
1
0
1
2
• Wielomian ps(i)+j :
p0 (x) = (x − 0)0 = 1
p1 (x) = (x − 0)1 = x
p2 (x) = (x − 0)2 (x − 1)0 = x2
p3 (x) = (x − 0)2 (x − 1)1 = x2 (x − 1)
p4 (x) = (x − 0)2 (x − 1)2 = x2 (x − 1)2
• Współczynniki b:
i=0
x0 = 0
[x0 , 1; f ] = −1
x0 = 0
[x0 , 1; f ] = −1
x1 = 1
[x1 , 1; f ] = 0
x1 = 1
[x1 , 1; f ] = 0
i=1
i=2
i=3
i=4
[x0 , 2; f ] = −2
[x0 , 2; x1 , 1; f ] = 3
[x0 , 1; x1 , 1; f ] = 1
[x0 , 2; x1 , 2; f ] = 6
[x0 , 1; x1 , 2; f ] = 9
[x1 , 2; f ] = 10
[x0 , 2; x1 , 3; f ] = 5
[x0 , 1; x1 , 3; f ] = 11
[x2 , 3; f ] = 20
[x1 , 2; f ] = 10
x1 = 1
[x1 , 1; f ] = 0
Wyjaśnienie: Komórki powyższej wypełniamy tak, aby utworzony iloraz różnicowy był zgodny ze wzorem (19), w przypadku gdy ”lewy górny” i ”lewy dolny” iloraz składa się z jednego
węzła, lub wzorem (20).
Przykłady:
[x2 , 3; f ] =
40
= 20
2!
[x0 , 1; x1 , 1; f ] =
0+1
=1
1−0
[x0 , 2; x1 , 2; f ] =
9−3
=6
1−0
• Ostateczny wielomian Hermite’a:
Współczynniki bl wielomianu znajdują się na górnej przekątnej tabeli:
H4 (x) = b0 p0 + b1 p1 + · · · + bn pn = −1 − 2x + 3x2 + 6x2 (x − 1) + 5x2 (x − 1)2
27
3.12
Wielomian p(x) interpoluje cztery początkowe punkty z poniższej tablicy. Dodając do wielomianu p jeden składnik, wyznaczyć wielomian
interpolujący wszystkie dane.
p(x) = 2 − (x + 1) + x(x + 1) − 2x(x + 1)(x − 1)
x
y
-1
2
0
1
1
2
2
-7
3
10
Aby wielomian interpolował wszystkie dane zawarte w tabeli, musi być w postaci (wielomianu
interpolacyjnego) Newtona. Postać dotychczasowego wielomianu p(x) wynika z podstawienia
wyliczonych ilorazów różnicowych do wzoru interpolacyjnego Newtona dla wielomianu stopnia
trzeciego:
p(x) = f (x0 ) + [x0 , x1 ; f ](x − x0 ) + [x0 , x1 , x2 ; f ](x − x0 )(x − x1 )+
+[x0 , x1 , x2 , x3 ; f ](x − x0 )(x − x1 )(x − x2 )
Składnik, który musi zostać dodany do wielomianu p(x) ma postać:
q(x) = [x0 , x1 , x2 , x3 , x4 ; f ](x − x0 )(x − x1 )(x − x2 )(x − x3 ) = a(x + 1)(x − 0)(x − 1)(x − 2)
Wielomian interpolujący wszystkie dane zawarte w tabeli oznaczymy jako r(x) i będzie wyrażał się wzorem:
r(x) = p(x) + q(x)
Na podstawie tabeli wiemy, że p(3) + q(3) = 10, stąd też możemy wyznaczyć współczynnik
a:
10 = 2 − (3 + 1) + 3(3 + 1) − 2 ∗ 3(3 + 1)(3 − 1) + 3a(3 + 1)(3 − 1)(3 − 2) =
= 2 − 4 + 12 − 48 + 24a
24a = 48
a=2
Szukany wielomian jest więc następujący:
r(x) = 2 − (x + 1) + x(x + 1) − 2x(x + 1)(x − 1) + 2x(x + 1)(x − 1)(x − 2)
Alternatywnym sposobem rozwiązania zadania jest konstrukcja tablicy ilorazów różnicowych
dla wszystkich danych zawartych w tabeli.
3.13
Dla jakich wartości a, b, c funkcja S(x) może być w przedziale [0, 3)
naturalną funkcją sklejaną stopnia trzeciego?
2007, 2008, 2009,
2011, 2012
(
S(x) =
x3
1
3
2
2 (x − 1) + a(x − 1) + b(x − 1) + c
x ∈ [0, 1)
x ∈ [1, 3)
• Funkcja ma być naturalną funkcją stopnia trzeciego, zatem 2m − 1 = 3 ⇒ m = 2 (por.
definicja naturalnej funkcji sklejanej 1.6.1). W przedziałach (−∞, 0) i [3, +∞) funkcja
ta będzie stopnia m − 1, czyli funkcją liniową.
• Pełny zapis funkcji:
S(x) =


ex + f


 x3
1

(x − 1)3 + a(x − 1)2 + b(x − 1) + c


 2
gx + h
28
x ∈ (−∞, 0)
x ∈ [0, 1)
x ∈ [1, 3)
x ∈ [3, +∞)
2007, 2008,
2012
• Pierwsza pochodna:
S 0 (x) =


e


 3x2
3
2


2 (x − 1) + 2a(x − 1) + b


g
x ∈ (−∞, 0)
x ∈ [0, 1)
x ∈ [1, 3)
x ∈ [3, +∞)
• Druga pochodna:
S 00 (x) =


0


 6x
x ∈ (−∞, 0)
x ∈ [0, 1)
x ∈ [1, 3)
x ∈ [3, +∞)

3(x − 1) + 2a



0
• Warunki:
– S 00 (0+ ) = S 00 (0− ) ⇒ 0 = 6 · 0
– S 00 (1− ) = S 00 (1+ ) ⇒ 2a = 6 ⇒ a = 3
– S 00 (3− ) = S 00 (3+ ) ⇒ 6 + 2a = 0 ⇒ a = −3
sprzeczne z powyższym
Ostatecznie nie istnieją takie parametry, dla których funkcja S(x) może być w przedziale
[0, 3) naturalną funkcją sklejaną.
3.14
Dla jakich wartości a, b, c i d funkcja S(x) jest funkcją sklejaną stopnia
trzeciego?
S(x) =


 1 − 2x
a + bx +
cx2
+
dx3

 157 − 32x
2007,
2008,
2008z,
2011z,
2012z, 2012
x ∈ (−∞, −3)
x ∈ [−3, 4)
x ∈ [4, ∞)
• Z definicji funkcja sklejana stopnia trzeciego musi być ciągła i posiadać ciągłe pochodne
rzędu 1, 2
• Dla podanej funkcji
S(x) =


 1 − 2x
a + bx +
cx2
+
dx3

 157 − 32x
x ∈ (−∞, −3)
x ∈ [−3, 4)
x ∈ [4, ∞)
należy sprawdzić jej ciągłość w węzłach:
S(−3− ) = S(−3+ )
S(−3− ) = 1 − 2 · (−3) = 7
S(−3+ ) = a + (−3) · b + 9 · c + (−27) · d
a − 3b + 9c − 27d = 7
(21)
S(4− ) = S(4+ )
S(4− ) = a + 4 · b + 16 · c + 64 · d
S(4+ ) = 157 − 32 · (4) = 29
a + 4b + 16c + 64d = 29
29
(22)
• Pierwsza pochodna:
0
S (x) =


 −2
b + 2cx +
x ∈ (−∞, −3)
x ∈ [−3, 4)
x ∈ [4, ∞)
3dx2

 32
Co daje nam następujące zależności:
S 0 (−3− ) = S 0 (−3+ )
S 0 (−3− ) = −2
S 0 (−3+ ) = b + 2 · (−3) · c + 3 · 9 · d
b − 6c + 27d = −2
(23)
S 0 (4− ) = S 0 (4+ )
S 0 (4− ) = b + 2 · 4 · c + 3 · 16 · d
S 0 (4+ ) = 32
b + 8c + 48d = 32
(24)
• Druga pochodna:
S 0 (x) =


 0
2c + 6dx

 0
x ∈ (−∞, −3)
x ∈ [−3, 4)
x ∈ [4, ∞)
I wynikające z niej zależności:
S 00 (−3− ) = S 00 (−3+ )
S 00 (−3− ) = 0
S 00 (−3+ ) = 2c − 18d
2c − 18d = 0
(25)
S 00 (4− ) = S 00 (4+ )
S 00 (4− ) = 2c + 24d
S 00 (4+ ) = 0
2c + 24d = 0
(26)
Rozwiązując układ równań (25) i (26) otrzymamy c = 0 i d = 0. Podstawiając te wyniki
do równania (24) otrzymujemy b = 32, a z równania (23) b = −2. Otrzymujemy tym
samym sprzeczność, a więc nie istnieją takie wartości parametrów a, b, c i d, dla których
funkcja S(x) byłaby funkcją sklejaną stopnia trzeciego.
30
3.15
Dla jakich wartości a, b funkcja S(x) jest funkcją sklejaną stopnia
trzeciego
2008, 2012
S(x) =

3
2

 (x − 2) + a(x − 1)
(x − 2)3 − (x − 3)2

 (x − 3)3 + b(x − 2)2
x ∈ (−∞, 2)
x ∈ [2, 3)
x ∈ [3, ∞)
Z definicji wynika, że funkcja sklejana stopnia trzeciego musi być ciągła i posiadać ciągłe
pochodne rzędu 1, 2. Sprawdzenie ciągłości funkcji S(x) i jej pochodnych:
S(2)− = (2 − 2)3 + a(2 − 1)2 = a
S(2)+ = (2 − 2)3 − (2 − 3)2 = −1
a = −1
(27)
S(3)− = (3 − 2)3 + (3 − 3)2 = 1
S(3)+ = (3 − 3)3 + b(3 − 2)2 = b
b=1
(28)
Pierwsza pochodna:
S 0 (x) =

2

 3(x − 2) + 2a(x − 1)
3(x − 2)2 − 2(x − 3)

 3(x − 3)2 + 2b(x − 2)
x ∈ (−∞, 2)
x ∈ [2, 3)
x ∈ [3, +∞)
S(2)− = 3(2 − 2)2 + 2a(2 − 1) = 2a
S(2)+ = 3(2 − 2)2 − 2(2 − 3) = −2
a=1
(29)
Jak widzimy zachodzi sprzeczność, ponieważ z równań 1 i 3 wynika, że
−1=a=1
(30)
co jest oczywistą nieprawdą. Na tej podstawie możemy stwierdzić, że nie istnieją takie parametry a i b, dla których funkcja S(x) byłaby funkcją sklejaną trzeciego stopnia.
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?
2007, 2008, 2012
(
S(x) =
x3
a + bx + cx2 + dx3
x ∈ [−1, 0)
x ∈ [0, 1)
• Funkcja ma być naturalną funkcją stopnia trzeciego, zatem 2m − 1 = 3 ⇒ m = 2 (por.
definicja naturalnej funkcji sklejanej 1.6.1). W przedziałach (−∞, −1) i [1, +∞) funkcja
ta będzie stopnia m − 1, czyli funkcją liniową.
• Pełny zapis funkcji:
S(x) =


ex + f


 x3

a + bx + cx2 + dx3



gx + h
31
x ∈ (−∞, −1)
x ∈ [−1, 0)
x ∈ [0, 1)
x ∈ [1, +∞)
• Pierwsza pochodna:
S 0 (x) =


e


 3x2
x ∈ (−∞, −1)
x ∈ [−1, 0)
x ∈ [0, 1)
x ∈ [1, +∞)

b + 2cx + 3dx2



g
• Druga pochodna:
S 00 (x) =


0


 6x

2c + 6dx



0
x ∈ (−∞, −1)
x ∈ [−1, 0)
x ∈ [0, 1)
x ∈ [1, +∞)
• Warunki:
– S 00 (−1− ) = S 00 (−1+ ) ⇒ 0 = 6 · (−1) ⇒ sprzeczność
Ostatecznie nie istnieją takie parametry, dla których funkcja S(x) może być w przedziale
[−1, 1) naturalną funkcją sklejaną.
3.17
2008zp,
2012zp
Znaleźć rozkład A = LLT , jeśli macierz A ma postać:
2011zp,


4 2 2


A = 2 5 3
2 3 6
3.17.1
Rozwiązanie 1:
Korzystamy ze wzorów:
v
u
k−1
u
X
u
|lkj |2
lkk = takk −
k = 1, 2, . . . , n
j=1
lik =
aik −
Pk−1
j=1 lij lkj
i = k + 1, k + 2, . . . , n
lkk
Najpierw liczymy wartości z przekątnej macierzy, a następnie korzystając z nich pozostałe
wartości z danej kolumny.
l11 =
l22 =
l33 =
3.17.2
√
2−0
2−0
= 1 l31 =
=1
2
2
3−1·1
=
=1
2
4 − 0 = 2 l21 =
p
5 − 12 = 2 l32
q
6 − (12 + 12 ) = 2
Rozwiązanie 2:
A = LLT
32



 

L11 L21 L31
L11 0
0
4 2 2

 
 

0  ·  0 L22 L32 
2 5 3 = L21 L22
0
0 L33
L31 L32 L33
2 3 6


L211
L11 L21
L11 L31


2
2
L21 + L22
L21 L31 + L22 L32 
= L11 L12
L11 L31 L21 L31 + L22 L32 L231 + L232 + L233
Z czego wynika, że (pamiętając, że elementy macierzy L na głównej przekątnej są dodatnie):
L211 = 4 ⇒ L11 = 2
L11 L21 = 2 ⇒ L21 = 1
L11 L31 = 2 ⇒ L31 = 1
L221 + L222 = 5 ⇒ L22 = 2
L21 L31 + L22 L32 = 3 ⇒ 1 + 2L32 = 3 ⇒ L32 = 1
L231 + L232 + L233 = 6 ⇒ 1 + 1 + L233 = 6 ⇒ L33 = 2
3.17.3
Wynik:
Otrzymane macierze:



2 0 0


L = 1 2 0
1 1 2
3.18

2 1 1


T
L = 0 2 1
0 0 2
Dla jakich wartości parametru α macierz A jest dodatnio określona?

2009, 2011

1 α α

1 α
α α 1

A = α
Sprawdźmy, czy badana macierz jest macierzą hermitowską, czyli czy jest równa swojej macierzy hermitowskiej, tj. macierzy transponowanej, której wszystkie elementy są sprzężone.
Liczba sprzężona oznaczana jako a, jak Czytelnik może pamiętać z Algebry Liniowej to liczba
której część urojona ma przeciwny znak (w przypadku liczb rzeczywistych to ta sama liczba).
Mamy zatem:
A = AH




1 α α
1 α α

 

α 1 α = α 1 α
α α 1
α α 1
Z powyższego wynika, że α = α, czyli α ∈ R. Uważny czytelnik może zauważyć, że macierz
A jest w takim razie rzeczywista oraz elementy na głównej przekątnej są dodatnie. Pozostaje
zatem sprawdzić, czy wiodące minory główne (tj. wyznaczniki podmacierzy powstałych przez
wykreślenie ostatnich wiersz i kolumn) są dodatnie:
Kryterium Sylvestra
1>0
1 − α2 > 0 ⇒ −1 < α < 1
2α3 − 3α2 + 1 > 0
33
Ostatnia nierówność nie jest trywialna, ale możemy ją tymczasowo sprowadzić do równania:
2α3 − 3α2 + 1 = 0
Łatwo zauważyć, że pierwiastkiem tego równania jest 1, więc możemy schematem Hornera
podzielić powyższy wielomian przez α − 1. Oczywiście otrzymamy wówczas:
(α − 1)(2α2 − α − 1) = 0
Uważny czytelnik zauważy, że wielomian 2α2 − α − 1 również dzieli się bez reszty przez α − 1.
Ostatecznie:
(α − 1)(2α + 1)(α − 1) = 0
Tak więc rozwiązaniem nierówności:
1
(α − 1) > 0
2
(α − 1) α +
jest α ∈ − 12 , 1 ∪ (1, ∞). Oczywiście składając wszystkie warunki otrzymujemy:
1
α ∈ − ,1
2
3.19
2006,
2008p,
2010p,
2012
2007,
2009,
2011,
Zbadać wpływ zaburzenia wektora b na dokładność rozwiązania x
układu równań liniowych Ax = b
Dokładne rozwiązanie x układu równań jest postaci:
Ax = b
Jeśli wektor b będzie zaburzony o wielkość ∆b, otrzymamy:
A(x + ∆x) = b + ∆b
Ax + A∆x = b + ∆b
Ponieważ Ax = b, więc:
A∆x = ∆b
∆x = A−1 ∆b
||∆x|| ¬ ||A−1 || · ||∆b||
||b|| = ||Ax|| ¬ ||A|| · ||x||
||A−1 || · ||∆b||
||∆b||
||∆b||
||∆x||
¬
= ||A|| · ||A−1 || ·
= cond(A) ·
||b||
||x||
||b||
||b||
||A||
Wielkość cond(A) = ||A|| · ||A−1 || jest to wskaźnik uwarunkowania macierzy A - miara wrażliwości względnego błędu rozwiązania x na zaburzenie b.
1 = ||I|| = ||A · A−1 || ¬ ||A|| · ||A−1 || = cond(A)
cond(A) ­ 1
gdzie I jest macierzą jednostkową
34
3.20
Zbadać zbieżność metody Jacobiego dla układu równań liniowych.




√1
3
1
A =  √13

√1
3

√1 
3

1
√1
3
√1
3
1
Metoda Jacobiego:
MJ = −D−1 (L + U)












1 0 0
√1
3
0
D = 0 1 0 , L + U =  √13
0 0 1

−1

0



−1
−1
MJ =  0
0
0
 
0
0
 
 
 
0  ·  √13
−1
(MJ − λ ·
√1
3
0


−D−1 =  0

0
√1
3
0

0
−1

√1
3

√1 
3




0
−1
0
0
√1
3

√1
3

√1 
3


√
0
 √

3
3
 √
√1
√1
0
− 33
3
3

√
√ 
−λ − 33 − 33
 √

√ 

3
3

I) = − 3
−λ − 3 

 √

√
3
3
− 3 − 3
−λ
0
=
−
−
3
3
0
√
−
3
3
√

3
3 
√ 
− 33 

−

0
2
det(MJ − λ · I) = −λ3 + λ − √
3 3
2
−λ3 + λ − √ = 0
3 3
1
1
2
λ1 = √ , −λ2 − √ λ + = 0
3
3
3
2
9
1
1
λ1 = √ , ∆ = − 4 ∗ (−1) ∗ = = 3
3
3
3
3
1
1
2
λ1 = √ , λ2 = √ , λ3 = − √
3
3
3
Otrzymujemy ρ(MJ ) = |λ3 | > 1, tak więc metoda Jacobiego nie jest zbieżna.
3.21
Zbadać zbieżność metody Gaussa-Siedla dla układu równań liniowych.
2005

√1
3
1


A =  √13

1
√1
3
√1
3

√1
3

√1 
3

1
Metoda Gaussa-Siedla:
MGS = −(D + L)−1 U
35
−1

0
 √
 3
√ 3
−(D + L)−1 = 
−1
0
 √

MGS =  33
√
−1
√
3−1
3
3
3
0
√1
3
 
0
 
 
0  · 0
 
0
−1
√1
3

√1 
3
0

−λ


(MGS − λ · I) = 
 0

0
0
−
1
3
−1
√


0
0
√
3
3




−1
3−1
3

0
−
0


=
0

√
3
3
−
√
−λ
√
3− 3
9
−
−
3−1
3
√
6− 3
9
−λ
3
3
√




− 3−1
3 
√ 
6− 3
9
1
3
√
3− 3
9
0
√
3
3
√
3
3






√
√
1
det(MJ − λ · I) = − λ(9λ2 + ( 3 − 9)λ + 3)
9
Teraz trzeba rozwiązać równanie
√
√
1
− λ(9λ2 + ( 3 − 9)λ + 3) = 0
9
λ1 = 0,
λ2 = 0.403775 − 0.171511i,
|λ1 | = 0,
λ3 = 0.403775 + 0.171511i
|λ2 | = |λ3 | = 0.438692..
Otrzymujemy ρ(MJ ) = |λ2 | = 0.438692 < 1, tak więc metoda Gaussa-Siedla jest zbieżna
przy dowolnym wyborze wektora początkowego.
3.22
Zbadać zbieżność metod Jacobiego i Gaussa-Siedla dla układu równań
liniowych z macierzą
2006


1 2 −2


A = 1 1 1 
2 2 1
3.22.1
Metoda Jacobiego
Dla metody Jacobiego macierz M zdefiniowana jest w następujący sposób
MJ = −D−1 (L + U )
gdzie D jest macierzą diagonalną, L dolnotrójkątną, a U macierzą górnotrójkątną. W tym
przypadku:






0 0 0
0 2 −2
1 0 0






D = 0 1 0 , L = 1 0 0 , U = 0 0 1 
0 0 1
2 2 0
0 0 0
Następnie należy znaleźć macierz odwrotną do macierzy D i pomnożyć ją przez −1. Ponieważ
jest to macierz jednostkowa, macierz odwrotna do niej jest taka sama.

D−1

1 0 0


= 0 1 0 ,
0 0 1

−D−1
36

−1 0
0


=  0 −1 0 
0
0 −1
Podstawienie do wzoru:

 



 



0 2 −2
0 0 0
−1 0
0

 
 

MJ =  0 −1 0  · 1 0 0 + 0 0 1  =
0 0 0
2 2 0
0
0 −1

0 −2 2
0 2 −2
−1 0
0

 
 

=  0 −1 0  · 1 0 1  = −1 0 −1
−2 −2 0
2 2 0
0
0 −1
Tworzymy macierz






−λ −2 2
λ 0 0
0 −2 2

 
 

(MJ − λ · I) = −1 0 −1 −  0 λ 0  =  −1 −λ −1 
−2 −2 −λ
0 0 λ
−2 −2 0
Rozwiązując równanie det(MJ − λ · I) = 0 ⇒ (−λ)3 = 0 otrzymamy ρ(MJ ) = λ1,2,3 =
0 < 1. Zatem metoda Jacobiego jest zbieżna przy dowolnym wyborze wektora początkowego.
3.22.2
Metoda Gausa–Seidla
Dla metody Gausa–Seidla macierz M zdefiniowana jest w następujący sposób:
MGS = −(D + L)−1 U
Macierze D, L oraz U pozostają bez zmian.



1 0 0


(D + L) = 1 1 0 ,
2 2 1
(D + L)−1

−(D + L)−1

MGS

1
0 0


= −1 1 0 ,
0 −2 1

−1 0
0


=  1 −1 0 
0
2 −1
 



−1 0
0
0 2 −2
0 −2 2

 
 

=  1 −1 0  · 0 0 1  = 0 2 −3
0
2 −1
0 0 0
0 0
2
Rozwiązując równanie det(MGS − λ · I) = 0 otrzymujemy ρ(MGS ) = λ2,3 = 2 > 1 zatem
metoda Gaussa–Seidla nie gwarantuje zbieżności przy dowolnie wybranym wektorze początkowym.
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ładu równań liniowych Ax = b.
2008p, 2010p


1 2 −2

1
2 2 1

A = 1 1
Konstruujemy macierz dolnotrójkątną L, diagonalną D i górnotrójkątną U :


0 0 0


L = 1 0 0 ,
2 2 0


1 0 0


D = 0 1 0 ,
0 0 1
37


0 2 −2


U = 0 0 1 
0 0 0
Następnie korzystamy ze wzoru ma macierz Gausa–Seidla:
MGS = −(D + L)−1 U.


1 0 0


D + L = 1 1 0
2 2 1


(D + L)−1
1
0 0


= −1 1 0
0 −2 1


−(D + L)−1
−1 0
0


=  1 −1 0 
0
2 −1


0 −2 2


−(D + L)−1 U = 0 2 −3
0 0
2
Odejmujemy od wynikowej macierz macierz λ ∗ I


MGS
−λ −2
2


− λI =  0 2 − λ −3 
0
0
2−λ
Wyznaczamy wielomian i jego pierwiastki
−λ
MGS − λI = 0
0
−2
2 2 − λ −3 = −λ ∗ (2 − λ)2
0
2 − λ
λ=0
∨
λ=2
Stąd widzimy, że ρ(MGS ) = 2 > 0, a więc metoda nie gwarantuje zbieżności.
3.24
Zastosować twierdzenie Sturma do określenia liczby dodatnich pierwiastków rzeczywistych wielomianu:
2007,
2008,
2008p,
2008z,
2010p,
2011z,
2012z, 2012
w (x) = x3 − 2x2 − 5x + 5
3.24.1
UWAGA: zwrócić
uwagę na nawiasy!
Wstęp:
Aby obliczyć liczbę pierwiastków rzeczywistych metodą Sturma w przedziale [a, b) należy
postępować wg następujących kroków:
1. p0 (x) = p(x)
2. p1 (x) = −(p(x))0 [pochodna pierwszego stopnia z p(x) pomnożona przez -1]
3. pi (x) = c · pi−2 modpi−1 [reszta z dzielenia dwóch poprzedzających wielomianów przez
siebie, ewentualnie pomnożona przez jakąś dodatnią stałą c]
4. jeśli pi jest równe 0, postępujemy zgodnie z algorytmem pokazanym w zadaniu nr 24.
38
3.24.2
Rozwiązanie
p0 (x) = x3 − 2x2 − 5x + 5
p1 (x) = −3x2 + 4x + 5
− 31 x +
− 3x2 + 4x + 5
2
9
x3 − 2x2 − 5x + 5
− x3 + 43 x2 + 35 x
− 23 x2 − 10
3 x +5
2 2
8
10
x
−
3
9x − 9
−
38
9 x
+
35
9
p2 (x) = 38x − 35
−
3
38 x
+
38x − 35 − 3x2 + 4x
3x2 − 105
38 x
−
47
38 x
47
38 x
47
1444
+5
+5
+
1645
1444
8865
1444
p3 (x) = −1
3.24.3
Zmiany znaków
x
p0 (x)
p1 (x)
p2 (x)
p3 (x)
3.24.4
0
+
+
-
inf
+
+
-
Liczba pierwiastków w x = 0
Z uwagi na fakt, że musimy znaleźć liczbę pierwiastków dodatnich, bierzemy pod uwagę
przedział (0, inf). Nie jest to jednak zgodne z treścią zadania, gdyż 0 nie jest dodatnie.
Zatem musimy sprawdzić, czy w 0 jest jakiś pierwiastek i ewentualnie odjąć go od końcowego
wyniku.
w(0) = 0
5 6= 0
Brak pierwiastków w punkcie 0.
3.24.5
Liczba dodatnich pierwiastków rzeczywistych
|3 − 1| − 0 = 2
3.25
Zastosować twierdzenie Sturma do określenia liczby pierwiastków rzeczywistych wielomianu.
p(x) = x3 + x2 − x − 1
39
2007,
2008p,
2012
2008,
2010p,
3.25.1
Rozwiązanie:
p0 (x) = x3 + x2 − x − 1
p1 (x) = −p00 (x) = −3x2 − 2x + 1
− 31 x −
− 3x2 − 2x + 1
1
9
x3 + x2 − x − 1
− x3 − 23 x2 + 31 x
−
1 2
3x
1 2
3x
− 32 x − 1
− 92 x + 19
− 98 x −
8
9
p2 (x) = x + 1
3x − 1
x+1
3x2
−
3x2
+ 2x − 1
− 3x
−x−1
x+1
0
Resztą z dzielenia wielomianów jest 0 - uważny czytelnik może zatem zaobserwować, iż
wielomian początkowy ma co najmniej jeden pierwiastek podwójny. Jest to problem, który
musimy rozwiązać, aby otrzymać wynik metodą Sturma. Będziemy postępować następująco:
• Podzielimy wielomian wejściowy przez ostatnią niezerową resztę z dzielenia wielomianów
• Rozpoczniemy liczenie metodą Sturma dla wielomianu będącego wynikiem dzielenia
powyższych wielomianów
• W przypadku, kiedy napotkamy resztę z dzielenia równą 0, wykonujemy dzielenia ponownie.
• UWAGA: To, iż reszta z dzielenia jest równa 0 nie oznacza jednego pierwiastka podwójnego. Może być ich więcej, tego nie wiemy.
x2
x+1
−1
x3 + x2 − x − 1
− x3 − x2
−x−1
x+1
0
p0 (x) = x2 − 1
p1 (x) = −2x
− 21 x
− 2x
40
x2 − 1
− x2
Latex tutaj nie ogarnął, dlatego musimy uwierzyć Wolframowi na słowo, że resztą z tego
dzielenia jest: −1
p2 (x) = 1
3.25.2
Zmiany znaków:
x
p0 (x)
p1 (x)
p2 (x)
3.25.3
− inf
+
+
+
inf
+
+
Liczba pierwiastków rzeczywistych:
|2 − 0| = 2
w tym co najmniej jeden podwójny
3.26
Zastosować twierdzenie Sturma do określenia liczby ujemnych pierwiastków rzeczywistych wielomianu:
2009,2011
p(x) = 12x3 − 16x2 + 7x − 1
3.26.1
Rozwiązanie:
p0 (x) = 12x3 − 16x2 + 7x − 1
p1 (x) = −36x2 + 32x − 7
− 31 x +
− 36x2 + 32x − 7
4
27
12x3 − 16x2
2
− 12x3 + 32
3 x
+ 7x − 1
− 37 x
16 2
3 x
16 2
3 x
+ 14
3 x −1
28
− 128
27 x + 27
−
−
2
27 x
+
1
27
p2 (x) = 2x − 1
− 18x + 7
2x − 1 −
36x2
+ 32x − 7
36x2 − 18x
14x − 7
− 14x + 7
0
Otrzymaliśmy resztę z dzielenia równą 0, co oznacza że istnieje przynajmniej jeden pierwiastek
podwójny.
41
6x2 − 5x + 1
2x − 1
12x3 − 16x2 + 7x − 1
− 12x3 + 6x2
− 10x2 + 7x
10x2 − 5x
2x − 1
− 2x + 1
0
Zatem jako nowy wielomian przyjmiemy p0 (x) = 6x2 − 5x + 1.
p0 (x) = 6x2 − 5x + 1
p1 (x) = −12x + 5
− 76 x +
− 7x
5
7
6x2 − 5x + 1
− 6x2
− 5x
5x
p2 (x) = −1
3.26.2
Zmiany znaków:
x
p0 (x)
p1 (x)
p2 (x)
3.26.3
− inf
+
+
-
0
+
+
-
Liczba ujemnych pierwiastków rzeczywistych:
|1 − 1| = 0
3.27
Wykonać pierwszą iterację w metodzie Newtona zastosowanej do rozwiązywania układu równań nieliniowych przyjmując punkt początkowy (0,0,1)
2009, 2011
xy − z 2 = 1
xyz − x2 + y 2 = 2
ex − ey + z = 3
Rozwiązanie:


f1 (x, y, z) = xy − z 2 − 1


f (x) = f2 (x, y, z) = xyz − x2 + y 2 − 2
x
y
f3 (x, y, z) = e − e + z − 3

p(0)

 
x(0)
0
 (0)   
= y  = 0
1
z (0)
42
Wyznaczamy macierz Df (x(i) ):
∂f1
 ∂x
 ∂f2
 ∂x

 ∂f3
∂x
∂f1
∂y
∂f2
∂y
∂f3
∂y

Df (x(i) ) =
∂f1
∂z 
∂f2 

∂z 
∂f3 
∂z



y
x
−2z


= yz − 2x xz + 2y xy 
ex
−ey
1
Wyznaczamy macierz Df (x(0) ) poprzez podstawienie odpowiednich wartości punktu początkowego:

y=0
−2z = (−2) · 1 = −2

x=0
Df (x(0) ) = 
yz − 2x = 0 · 1 − 2 · 0 = 0 xz + 2y = 0 · 1 + 2 · 0 = 0

ex = e0 = 1
xy = 0 · 0 = 0
ey = e0 = 1



1
Macierz Df (x(0) ) jest macierzą osobliwą - dla takiego punktu początkowego nie da się otrzymać rozwiązania przybliżonego.
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)
2009, 2011
4x21
−
x22
=0
4x1 x22 − x1 = 1
Rozwiązanie:
"
f1 (x1 , x2 ) = 4x21 − x22
f (x) =
f2 (x1 , x2 ) = 4x1 x22 − x1 − 1
" (0) #
x
(0)
#
" #
x
0
= 1(0) =
1
x2
Wyznaczamy macierz Df (x(i) ):

Df (x(i) ) =
∂f1
 ∂x1
 ∂f2
∂x1

∂f1
∂x2 
∂f2 
∂x2
"
8x1
−2x2
=
4x22 − 1 8x1 x2
#
Wyznaczamy macierz Df (x(0) ) poprzez podstawienie odpowiednich wartości punktu początkowego:
"
#
8x
=
8
·
0
=
0
−2x
=
(−2)
·
1
=
−2
1
2
Df (x(0) ) =
4x22 − 1 = 4 · (1)2 − 1 = 3 8x1 x2 = 8 · 0 · 1 = 0
Macierz Df (x(0) ) jest macierzą nieosobliwą, korzystamy ze wzoru:
x(i+1) = x(i) − [Df (x(i) )]−1 f (x(i) ), i = 0, 1, ...
Obliczamy Df (x(0) )−1 :
"
(0) −1
Df (x
)
0 −2
=
3 0
#−1
"
0
=
− 12
1
3
#
0
Obliczamy f (x(0) ):
"
f (x
(0)
)=
4x21 − x22 = 4 · (0)2 − (1)2 = −1
4x1 x22 − x1 − 1 = 4 · 0 · (1)2 − 0 − 1 = −1
43
#
Podstawiamy do wzoru:
" #
(1)
x
"
1
3
# "
#
−1
·
=
0
−1
0
0
=
−
1
− 12
"1#
3
1
2
Obliczamy Df (x(1) ):
Df (x
)=
1
8
3 = 3
( 12 )2 − 1
8x1 = 8 ·
"
(1)
4x22 − 1 = 4 ·
"8
Df (x
(1) −1
)
=
#
1
2 = −1
1 1
4
3 · 2 = 3
−2x2 = (−2) ·
8x1 x2 = 8 ·
=0
#−1
3
−1
0
4
3
"3
9 #
32
3
4
8
=
0
Obliczamy f (x(1) ):
4x21 − x22 = 4 · ( 13 )2 − ( 12 )2 =
"
(1)
f (x
)=
4x1 x22 − x1 − 1 = 4 ·
1
3
· ( 12 )2 −
"
7
36
1
3
7
36
#
− 1 = −1
Podstawiamy do wzoru:
"1#
(2)
x
=
3
1
2
"3
−
8
0
9 #
32
3
4
·
" 13 #
#
−1
=
24
5
4
W ten oto sposób wykonaliśmy dwie iteracje w metodzie Newtona.
3.29
Stosując metodę Gaussa z częściowym wyborem elementu podstawowego, wyznaczyć macierz A−1 .
2007p


1 0 1


A = 3 3 0
0 2 2
Zgodnie z podanym algorytmem w pierwszym etapie rozkładamy macierz A na iloczyn LU .
Najpierw wykonujemy przestawienia wierszy (numery wierszy będziemy zapisywać w oddzielnej kolumnie). Mamy zatem:

 
1 0 1 1

 
3 3 0 2
0 2 2 3
Po przestawieniu wierszy, tak aby element a11 był największym z pierwszej kolumny, mamy:

 
3 3 0 2

 
1 0 1 1
0 2 2 3
Następnie stosujemy metodę eliminacji Gaussa pierwszej zmiennej z drugiego i trzeciego równania za pomocą mnożników l21 = 31 i l31 = 03 = 0 otrzymujemy macierz (w miejscu współczynników zmiennych, które eliminujemy zamiast zera wpisujemy mnożnik). Zatem

3
3
0


 
3 0 2
 
 

1 − 13 · 3 0 − 13 · 3 1 − 13 · 0 =  31 −1 1 1
0−0·3 2−0·3 2−0·0
0 2 2 3
44
3
Analogicznie dla drugiej zmiennej - zamieniamy wiersze

3

0
1
3
 
3 0 2
 
2 2 3
−1 1 1
i odejmujemy drugi wiersz pomnożony przez − 21

3

0
1
3

 

0 2
 
2 3
2 1
3 3
3
0
 
2
2
2
 = 0
1
1
−1 + 12 · 2 1 + 12 · 2
−
3
2
Rozbijamy wynikową macierz na macierz dolnotrójkątną L i górnotrójkątną U .

1

L = 0
1
3
0
1
− 12

0

0 ,
1


3 3 0


U = 0 2 2
0 0 2
W drugim etapie rozwiązujemy równania
LU x(i) = e(i) ,
i = 1, 2, 3
Dla i = 1 równania te mają postać

1

0
1
3
 
0
1
− 21


 

0
1
3 3 0
3 3 0
 



 
0 · 0 2 2 · x(1) = 0 2 2 · x(1) = 0
0
1 0 1
0 0 2
1
Otrzymamy
 1
6
 1
(1)

x = 6

− 16

,

 1
−4


1 
x(2) = 
 4 ,
 1 
2
 1
(3)

x = − 2 

1
4
1
2
Numer 1 w wektorze przestawień
 
2
 
3
1
zajmuje trzecią pozycję, więc jako pierwszą kolumnę macierzy A−1 należy przyjąć x(3) . Numer
2 znajduje się na pierwszej pozycji, więc drugą kolumną macierzy A−1 jest x(1) . Wreszcie,
numer 3 zajmuje drugą pozycję, zatem trzecią kolumną jest x(2) . Ostatecznie otrzymujemy
 1

1
− 14
2
6
1
A−1 = 
− 2

1
2
3.30
1
6
− 16
1
4
1
4



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?
2007p,
2008,
2008p, 2010p
Wzór Taylora
Rozwiazanie:
0
00
F (x0 )
F (x0 )
F n (x0 )
Wn (x) = F (x0 ) +
(x − x0 ) +
(x − x0 )2 + ... +
(x − x0 )n
1!
2!
n!
45
W2 (x) = sin
π
π
π
1
π
π
1
π
1
πx π 2
+ cos · (x − ) − sin · (x − )2 = 1 − · (x − )2 = 1 − x2 +
−
2
2
2
2
2
2
2
2
2
2
8
Ponieważ |F 000 (x)| = | − cos x| ¬ 1 dla x ∈ [0, π2 ] i
1 π 3
( ) < 0, 646
3! 2
|F (x) − W2 (x)| ¬
Zatem maksymalny błąd aproksymacji jest nie większy od 0,646 .
4
Zadania z wykładów
4.1
Znaleźć wielomian interpolacyjny Lagrange’a, który w punktach -2,1,2,4
przyjmuje wartości odpowiednio 3,1,-3,8. Jaka jest wartość tego wielomianu w punkcie x = 0?
EAN-6
Wstęp:
• Wyznaczamy funkcje pomocnicze:
li (x) =
n
Y
x − xj
j=0
xi − xj
, i = 0, 1, . . . , n
j6=i
• Następnie wyznaczamy wielomian Ln :
Ln (x) =
n
X
f (xi )li (x)
i=0
Rozwiązanie:
• Dane:
i
xi
f (xi )
0
-2
3
1
1
1
2
2
-3
3
4
8
• Funkcje pomocnicze:
l0 (x) =
(x − 1)(x − 2)(x − 4)
(x − 1)(x − 2)(x − 4)
=
(−2 − 1)(−2 − 2)(−2 − 4)
−72
l1 (x) =
(x + 2)(x − 2)(x − 4)
(x + 2)(x − 2)(x − 4)
=
(1 + 2)(1 − 2)(1 − 4)
9
l2 (x) =
(x + 2)(x − 1)(x − 4)
(x + 2)(x − 1)(x − 4)
=
(2 + 2)(2 − 1)(2 − 4)
−8
l3 (x) =
(x + 2)(x − 1)(x − 2)
(x + 2)(x − 1)(x − 2)
=
(4 + 2)(4 − 1)(4 − 2)
36
46
• Wielomian Langrange’a
(x − 1)(x − 2)(x − 4)
(x + 2)(x − 2)(x − 4)
+1·
−72
9
(x + 2)(x − 1)(x − 4)
(x + 2)(x − 1)(x − 2)
−3·
+8·
−8
36
2 3 3 2 25
= x − x − x+6
3
2
6
L3 (x) = 3 ·
• Wartość wielomianu Langrange’a w x = 0:
L3 (0) = 6
4.2
Stosując metodę Newtona, znaleźć wielomian interpolacyjny, który w
punktach 0, 1, 2 przyjmuje wartości odpowiednio 1, 1, 3.
EAN-6
Wstęp:
• Wykorzystuje ilorazy różnicowe
• Iloraz różnicowy rzędu zerowego oparty na węźle xl : [xl ; f ] = f (xl )
• Wzór rekurencyjny:
[x0 , x1 , . . . , xk ; f ] =
[x1, x2, . . . , xk ; f ] − [x0 , x1 , . . . , xk−1 ; f ]
xk − x0
• Wielomian interpolacyjny Newtona:
Nn (x) = f (x0 ) + [x0 , x1 ; f ](x − x0 ) + · · · + [x0 , . . . , xn ; f ](x − x0 ) . . . (x − xn )
• Współczynniki wielomianu określa się na podstawie tabeli ilorazów różnicowych:
i
0
xi
x0
k=0
f (x0 ) = [x0 ; f ]
1
x1
f (x1 ) = [x1 ; f ]
k=1
>
x2
..
.
...
[x0 , x1 , x2 ; f ]
..
.
...
[x0 , x1 ; f ]
>
>
2
..
.
k=2
[x1 , x2 ; f ]
..
.
f (x2 ) = [x2 ; f ]
..
.
Współczynniki wielomianu (31) znajdują się w najwyższym ukośnym wierszu.
Rozwiązanie:
i
0
xi
0
k=0
f (x0 ) = 1
k=1
>
1
1
2
1−1
1−0
[1, 2; f ] =
3−1
2−1
=0
f (x1 ) = 1
>
>
2
[0, 1; f ] =
k=2
[0, 1, 2; f ] =
2−0
2−0
=1
=2
f (x2 ) = 3
Szukany wielomian Newtona: 1 + 0 · (x − 0) + 1 · (x − 0)(x − 1) = x2 − x + 1
47
(31)
4.3
Utworzyć wielomian interpolacyjny Newtona dla funkcji f (x) opisanej
poniższą tabelą.
x
0 2 3 4 6
f (x) 1 3 2 5 7
Do utworzenia wielomianu utworzymy tabelę. W pierwszej kolumnie znajduje się licznik i, w
drugiej argumenty xi dla których znamy wartości, które z kolei wpisujemy do trzeciej kolumny
(ponieważ [xi ; f ] = f (xi )). Począwszy od czwartej kolumny korzystamy ze wzoru
[xl , xl+1 , . . . , xl+k ; f ] =
[xl+1 , xl+2 , . . . , xl+k ; f ] − [xl , xl+1 , . . . , xl+k−1 ; f ]
xl+k − xl
i xi [xi ; f ] [xi , xi+1 ; f ] [xi , . . . , xi+2 ; f ] [xi , . . . , xi+3 ; f ] [xi , . . . , xi+4 ; f ]
0 0
1
1 2
3
1
2 3
2
−1
− 23
2
3 4
5
3
2
3
−2
−2
4 6
7
1
− 92
3
3
Pogrubione wartości na przekątnej są kolejnymi współczynnikami wielomianu w postaci Newtona. Końcowy wielomian interpolacyjny Newtona:
Nn (x) =[x0 ; f ] + [x0 , x1 ; f ](x − x0 ) + [x0 , x1 , x2 ; f ](x − x0 )(x − x1 )+
+[x0 , x1 , x2 , x3 ; f ](x − x0 )(x − x1 )(x − x2 )+
+[x0 , x1 , x2 , x3 , x4 ; f ](x − x0 )(x − x1 )(x − x2 )(x − x3 )
2
Nn (x) =1 + 2(x − 0) − (x − 0)(x − 2)+
3
2
2
+ (x − 0)(x − 2)(x − 3) − (x − 0)(x − 2)(x − 3)(x − 4)
3
9
4.4
Różnice progresywne i wsteczne wielomianu
W4 (x) = x4 − x − 1, h = 1
Różnica progresywna:
∆f (x) = f (x + h) − f (x)
Różnica wsteczna:
∇f (x) = f (x) − f (x − h)
Różnice rzędu n oznaczone są z róznic rzędu n − 1:
∆n f (x) = ∆(∆n−1 f (x))
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,?
x0 = 100, x1 = 101, x2 = 102, x3 = 103,
f (x0 ) = ln 100, f (x1 ) = ln 101, f (x2 ) = ln 102, f (x3 ) = ln 103,
48
r(x) – funkcja dokładności przybliżenia
r(x) = f (x) − ln(x)
Wiemy, że:1
|r(x)| ¬
|pn+1 (x)|
supx∈<x0 ;xn > f (n+1) (x)
(n + 1)!
Obliczamy teraz pn ze wzoru:
pn+1 (x) = (x − x0 )(x − x1 )...(x − xn )
p4 (100, 5) = −
15
16
Obliczamy kolejne pochodne ln(x):2
f (1) (x) = x−1
f (2) (x) = −x−2
f (3) (x) = 2x−3
f (4) (x) = −6x−4
|f (4) (x)| = 6x−4
supx∈<100;103> 6x−4 = 6 · 10−8
I wracamy do wzoru na r(x):
|r(x)| ¬
15
| − 16
|
· 6 · 10−8 ≈ 2, 3 · 10−9
24
1
sup to supremum - takie maksimum, ale w przeciwieństwie do maksimum funkcja nie musi osiągać tej
wartości, wystarczy, że w granicy dąży do tej wartości
2
zapis, że to pochodne f (x) został użyty przez niego na labkach, ale powoduje, że wzór na r(x) jest bez
sensu
49