Uwarunkowanie zadania

by Jerry Sky

2020-10-13



1. DEF: Złe uwarunkowanie zadania

Jeśli niewielkie względne zmiany danych powodują dużę względne odkształcenia wyników, to zadanie nazywamy źle uwarunkowanym.


2. Przykład (obliczanie wartości funkcji)

Zbadajmy uwarunkowanie zadania obliczania wartości funkcji f(x)≠0f(x) \neq 0 w punkcie xx. W tym celu zaburzymy dane xx, x~=x(1+δ)=x+xδ\widetilde{x} = x(1 + \delta) = x + x\delta. Oszacujmy względną zmianę wyniku.

∣f(x~)−f(x)∣∣f(x)∣=∣f(x+xδ)−f(x)∣∣f(x)∣≈∣f′(x)⋅xδ∣∣f(x)∣=cond(x)∣δ∣ \frac{|f(\widetilde{x}) - f(x)|}{|f(x)|} = \frac{|f(x + x\delta) - f(x)|}{|f(x)|} \approx \frac{|f'(x)\cdot x \delta|}{|f(x)|} = cond(x) |\delta|

cond(x)=∣f′(x)⋅x∣∣f(x)∣cond(x) = \frac{|f'(x) \cdot x|}{|f(x)|} jest wskaźnikiem uwarunkowania zadania.

Jeśli cond(x)\bold{cond(x)} jest mały (∣f′(x)∣\bold{|f'(x)|} jest mała), to zadanie jest dobrze uwarunkowane.


3. DEF: Wskaźniki uwarunkowania

Wielkości charakteryzujące wpływ zaburzeń danych na odkształcenia wyników nazywamy wskaźnikami uwarunkowania.


4. Przykład (iloczyn skalarny)

Mamy:

Zaburzamy dane:

Oszacujmy względną zmianę wyniku:

∣S(a~,b~)−S(a,b)∣∣S(a,b)∣=∣∑i=1naibi(1+αi)(1+βi)−∑i=1naibi∣∣∑i=1naibi∣=∣∑i=1naibi(1+αi+βi+αiβi)−∑i=1naibi∣∣∑i=1naibi∣≈≈∣∑i=1naibi(αi+βi)∣∣∑i=1naibi∣≤max⁡1≤i≤n∣αi+βi∣∑i=1n∣aibi∣∣∑i=1naibi∣=cond(a,b)⋅max⁡1≤i≤n∣αi+βi∣ \frac{|S(\widetilde{a}, \widetilde{b}) - S(a,b)|}{|S(a,b)|} = \frac{|\sum_{i=1}^{n} a_i b_i (1 + \alpha_i)(1 + \beta_i) - \sum_{i=1}^{n} a_i b_i|}{|\sum_{i=1}^{n} a_i b_i|}\\ = \frac{|\sum_{i=1}^{n} a_i b_i(1 + \alpha_i + \beta_i + \alpha_i\beta_i) - \sum_{i=1}^{n} a_i b_i|}{|\sum_{i=1}^{n} a_i b_i|} \approx\\ \approx \frac{|\sum_{i=1}^{n} a_i b_i(\alpha_i + \beta_i)|}{|\sum_{i=1}^{n} a_i b_i|}\\ \le \max_{1 \le i \le n} |\alpha_i + \beta_i|\frac{\sum_{i=1}^{n} |a_i b_i|}{|\sum_{i=1}^{n} a_i b_i|} = cond(a,b) \cdot \max_{1 \le i \le n}|\alpha_i + \beta_i|

Jeśli ai,bia_i, b_i, i=1,…,ni = 1, \dots, n są tego samego znaku, wówczas cond(a,b)=1cond(a,b) = 1 i zadanie jest dobrze uwarunkowane.


5. Normy wektorów

5.1. Definicja

Normą w Rn\mathbb{R}^n nazywamy funkcję rzeczywistą o własnościach:

5.1.1. Przykład

Mamy x=(x1,…,xn)x = (x_1, \dots, x_n).


6. Normy macierzy

6.1. Definicja

Normą w Rm×n\mathbb{R}^{m\times n} nazywamy funkcję rzeczywistą o własnościach:

6.2. Normy

Ważną podklasę norm macierzy stanowią normy macierzy indukowane przez normy wektorów definiowane jako ∣∣A∣∣=sup⁡{∣∣Ax∣∣:x∈Rn, ∣∣x∣∣=1} ||A|| = \sup\{ ||Ax||: x \in \mathbb{R}^n,~ ||x|| = 1 \}

Z powyższego wynika następująca nierówność ∣∣Ax∣∣≤∣∣A∣∣ ∣∣x∣∣ ||Ax|| \le ||A||~ ||x||

6.2.1. Przykład

Mamy A∈Rm×nA \in \mathbb{R}^{m\times n}.


6.3. Przykład (Ax=bAx = b)

Zbadajmy uwarunkowanie zadania rozwiązywania układu równań liniowych Ax=b Ax = b

o danej nieosobliwej macierzy A (n×n)A~ (n\times n) i o niezerowym wektorze bb.

Zaburzymy wektor bb otrzymując b~=(b1(1+δ1),…,bn(1+δn))\tilde{b} = (b_1 (1+\delta_1), \dots, b_n(1 + \delta_n)). Jeśli xx oraz x~\tilde{x} spełniają Ax=bAx = b oraz Ax~=b~A\tilde{x} = \tilde{b}, to oszacujmy względną zmianę wyniku.

∣∣x−x~∣∣=∣∣A−1b−A−1b~∣∣=∣∣A−1(b−b~)∣∣≤∣∣A−1∣∣ ∣∣b−b~∣∣=∣∣A−1∣∣ ∣∣b∣∣ ∣∣b−b~∣∣∣∣b∣∣=∣∣A−1∣∣ ∣∣Ax∣∣∣∣b−b~∣∣b∣∣≤∣∣A−1∣∣ ∣∣x∣∣∣∣b−b~∣∣∣∣b∣∣ ||x - \tilde{x}|| = ||A^{-1}b - A^{-1}\tilde{b}|| = ||A^{-1}(b - \tilde{b})|| \le ||A^{-1}||~ ||b - \tilde{b}|| =\\ ||A^{-1}||~||b||~\frac{||b - \tilde{b}||}{||b||} = ||A^{-1}||~||Ax|| \frac{||b-\tilde{b}}{||b||} \le ||A^{-1}||~||x||\frac{||b - \tilde{b}||}{||b||}

∣∣x−x~∣∣x∣∣≤∣∣A−1∣∣ ∣∣A∣∣∣∣b−b~∣∣∣∣b∣∣=cond(A)∣∣b−b~∣∣∣∣b∣∣ \frac{||x - \tilde{x}}{||x||} \le \bold{||A^{-1}||~||A||} \frac{||b - \tilde{b}||}{||b||} = cond(A) \frac{||b - \tilde{b}||}{||b||}

Oczywiście cond(A)cond(A) to wskaźnik uwarunkowania macierzy.

W Julia lang mamy cond(M, p::Real=2) z pakietu LinearAlgebra.


6.4. Przykład (Macierz Hilberta)

Przykładem macierzy bardzo źle uwarunkowanej jest macierz Hilberta Hn=[1i+j−1]i,j=1nH_n = \left[\frac{1}{i + j - 1}\right]_{i,j=1}^{n}.

Wskaźniki cond(H6)≈1.5⋅107cond(H_6) \approx 1.5 \cdot 10^7, cond(H10)≈1.6⋅1013cond(H_{10}) \approx 1.6 \cdot 10^{13}.


6.5. Przykład (Zaburzenia macierzy w zadaniu Ax=bAx = b)

Rozważmy teraz uwarunkowanie zadania Ax=bAx = b ze względu na zaburzenia macierzy układu A~=A+δA\tilde{A} = A + \delta A. Oszacujmy względną zmianę wyniku. Oszacowanie podamy bez dowodu.

Jeśli ∣∣A∣∣ ∣∣δA∣∣<1||A||~||\delta A|| < 1 oraz ∣∣l∣∣=1||l|| = 1, to ∣∣x−x~∣∣∣∣x∣∣≤∣∣A−1∣∣ ∣∣A∣∣∣∣A−A~∣∣∣∣A∣∣1−∣∣A−1∣∣ ∣∣A∣∣∣∣A−A~∣∣∣∣A∣∣=cond(A)∣∣A−A~∣∣∣∣A∣∣1−cond(A)∣∣A−A~∣∣∣∣A∣∣. \frac{||x - \tilde{x}||}{||x||} \le \frac{||A^{-1}||~||A||\frac{||A - \tilde{A}||}{||A||}}{1 - ||A^{-1}||~||A||\frac{||A-\tilde{A}||}{||A||}} = \frac{cond(A)\frac{||A-\tilde{A}||}{||A||}}{1 - cond(A)\frac{||A-\tilde{A}||}{||A||}}.


7. „Złośliwy wielomian” (Wilkinson)

Dany jest wielomian ω(x)=∏i=120(xi−i)=x20+a19x19+⋯+a1x+a0 \omega(x) = \prod{i=1}^{20}(x_i - i) = x^{20} + a_{19}x^{19} + \dotsb + a_1x + a_0 gdzie a19=−210a_{19} = -210. Zaburzymy teraz a19a_{19}.

ωϵ(x)=ω(x)−ϵx19=x20−(210+ϵ)x19+⋯+a1x+a0 \omega_\epsilon(x) = \omega(x) - \epsilon x^{19} = x^{20} - (210 + \epsilon)x^{19} + \dotsb + a_1 x + a_0 gdzie ϵ=2−23\epsilon = 2^{-23}.

a19(ϵ)=−210−ϵ=a19(1+1223⋅210)=a19(1+δ) a_{19}(\epsilon) = -210 - \epsilon = a_{19}\left( 1 + \frac{1}{2^{23}\cdot 210} \right) = a_{19}(1+\delta) względne zaburzenie δ<2−30\delta < 2^{-30}.

Dla tak niewielkiego względnego zaburzenia a19a_{19} wielomian ωϵ(x)\omega_\epsilon(x) ma zera zespolone.


7.1. Uwarunkowanie zadania ω(x)=0\omega(x) = 0

Załóżmy, że ω′(r)≠0\omega'(r) \neq 0, gdzie rr jest pierwiastkiem ω\omega, tj. ω(r)=0\omega(r) = 0.

Zaburzymy ω\omega: ω~=ω−ϵz \tilde{\omega} = \omega - \epsilon z gdzie z∈C2z \in C^2.

Pytanie: Jaki jest pierwiastek ω~\tilde{\omega}, tj. r+hr + h taki, że ω~(r+h)=0\tilde{\omega}(r+h) = 0?

Rozwijamy ω~\tilde{\omega} w szereg Taylora: ω(r)+hω′(r)+12h2ω′′(η)−ϵ(z(r)+hz′(r)+12h2z′′(ξ))=0. \omega(r) + h\omega'(r) + \frac{1}{2}h^2\omega''(\eta) - \epsilon\left( z(r) + hz'(r) + \frac{1}{2}h^2z''(\xi) \right) = 0. Stąd h=≈ϵz(r)ω′(r)−ϵz′(r)≈ϵz(r)ω′(r). h = \approx \epsilon\frac{z(r)}{\omega'(r) - \epsilon z'(r)} \approx \epsilon\frac{z(r)}{\omega'(r)}.

ω(x)=∏i=120(xi−i) \omega(x) = \prod_{i=1}^{20} (x_i - i)

Zaburzenie z(x)=ϵx19z(x) = \epsilon x^{19}, ϵ=2−23\epsilon = 2^{-23}.

Pytanie: jak powyższe zaburzenie wpływa na pierwiastek r=20r = 20? h≈ϵz(20)ω′(20)≈ϵ201919!≈ϵ108≈102.76 h \approx \epsilon\frac{z(20)}{\omega'(20)} \approx \epsilon \frac{20^{19}}{19!} \approx \epsilon10^8 \approx 102.76

7.1.1. Wniosek

Zadanie wyznaczania pierwiastków wielomianu jest źle uwarunkowane ze względu na zaburzenia współczynników.