1 Euklidische Approximation Sei V ein reeller euklidischer Vektorraum. Das Skalarprodukt in V wird mit, V und die Norm mit V bezeichnet. V N V sei ein Teilraum der Dimension N < mit Basis {φ n } n=1,...,n. (1.1) Problemstellung: Sei v V. Bestimme v N V mit v v N V = min w N V N v w N V. (1.2) Die Matrix ) A = ( φ n,φ k V n,k=1,...,n RN N ist symmetrisch und positiv definit. (1.3) Problem (1.1) ist eindeutig lösbar. Es gilt N v N = x n φ n, n=1 wobei x R N die eindeutige Lösung des linearen Gleichungssystems Ax = b ) mit b = ( v,φ k V k=1,...,n RN ist. C. Wieners: Einführung in die Numerische Mathematik 1
2 Direkte Lösungsverfahren für lineare Gleichungen (2.1) Sei L R N N eine normierte untere Dreiecksmatrix und b R N, d.h. diagl = I N und L[1 : n,n + 1] = 0 n für n = 1,...,N 1. Dann ist L regulär und das lineare Gleichungssystem Ly = b ist mit O(N 2 ) Operationen lösbar. Entsprechend ist für eine reguläre obere Dreiecksmatrix R R N N (d.h. R[n,n] 0 für alle n und R[n + 1,1 : n] = 0 T n für n < N) das LGS Rx = y in O(N 2 ) Operationen lösbar. (2.2) Die normierten unteren Dreiecksmatrizen bilden eine Gruppe. Die regulären oberen Dreiecksmatrizen bilden eine Gruppe. (2.4) Wenn eine Matrix A R N N eine LR-Zerlegung A = LR mit einer normierten untere Dreiecksmatrix L und einer regulären obere Dreiecksmatrix R besitzt, dann ist A regulär und das LGS Ax = b ist mit O(N 2 ) Operationen lösbar. (2.5) Eine Matrix A R N N besitzt genau dann eine LR-Zerlegung von A, wenn alle Hauptuntermatrizen A[1 : n,1 : n] regulär sind. Die LR-Zerlegung ist eindeutig und lässt sich mit O(N 3 ) Operationen berechnen. (2.6) Eine Matrix A R N N heißt strikt diagonal-dominant, falls a nn > n 1 a nk + N a nk. k=1 k=n+1 (2.7) Wenn A strikt diagonal dominant ist, dann existiert eine LR-Zerlegung. (2.8) Sei A R N N symmetrisch und positiv definit. Dann existiert genau eine Cholesky-Zerlegung A = LL T mit einer regulären unteren Dreiecksmatrix L. C. Wieners: Einführung in die Numerische Mathematik 2
2 Direkte Lösungsverfahren für lineare Gleichungen (2.9) Sei π S N eine Permutation. Dann heißt P π = ( e π 1 (1)... e π (N)) 1 R N N Permutationsmatrix zu π. Es gilt (P π A)[n,k] = A[π(n),k] und (AP π )[n,k] = A[n,π 1 (k)]. (2.10) Die Permutationsmatrizen in R N N bilden eine Gruppe. Es gilt P σ P π = P π σ und P π 1 = Pπ T. (2.11) Sei A R N N regulär. Dann existiert eine Permutationsmatrix P, so dass PA eine LR-Zerlegung PA = LR besitzt und für die Einträge L[m,n] 1 gilt. Sie lässt sich mit O(N 3 ) Operationen berechnen. Die Lösung von Ax = b berechnet sich aus Ly = Pb und Rx = y. Sei eine Vektornorm, und sei eine zugeordete Matrixnorm, d. h., Ax A x, x R N, A R M N. (2.12) Sei A R N N regulär, und sei A R N N so klein, dass A < A 1 1 gilt. Dann ist die Matrix à = A + A regulär. Sei b R N, b 0 N, b R N klein und b = b + b. Dann gilt für die Lösungen x R N von Ax = b und x R N von à x = b x κ(a) ( b x 1 κ(a) A + A ). b A A Dabei ist x = x x, x x der relative Fehler, und κ(a) = A A 1 die Kondition von A. C. Wieners: Einführung in die Numerische Mathematik 3
2 Arithmetische Grundlagen (2.13) a) Eine Gleitkommazahlen zur Basis B {2, 3,...} der Mantissenlänge M und Exponentenlänge E ist die Menge { FL = ± B e M a m B m : e = e E 1 } + c k B k, a m,c k {0,1,...,B 1} m=1 k=0 b) Eine Gleitkommaarithmetik wird durch eine Abbildung fl: R FL mit fl(x) = x für x FL definiert. Sei bestimmt die Rundung: x y = fl(x { + y), x y = fl(x } y), etc. x fl(x) Die zugehörige Maschinengenauigkeit ist eps := max : x FL. x (2.14) Sei f : R N R K eine differenzierbare Funktion und x R N. Dann heißt a) κabs kn = x n f k (x) absolute Konditionszahl. b) κrel kn = x n f k (x) xn f k (x) relative Konditionszahl. C. Wieners: Einführung in die Numerische Mathematik 4
2 Kondition und Stabilität (2.15) a) Ein Problem heißt sachgemäß gestellt, wenn es eindeutig lösbar ist und die Lösung stetig von den Daten abhängt. b) Die Kondition eines Problems ist eine Maß dafür, wie stark die Abhängigkeit der Lösung von den Daten ist. c) Die Stabilität eines numerischen Algorithmus ist eine Maß dafür, wie stark die Daten- Abhängigkeit der numerischen Lösung im Vergeich zu der exakten Lösung ist. (2.16) Wir verwenden für x R N und A R M N N x 1 = x[n] x 2 = x T x x = max x[n] n=1 n=1,...,n Ax und die zugeordnete Operatornorm A p = sup p x 0N x p, d.h. M N A 1 = max A[m,n], A 2 = ρ(a T A), A = max A[m, n] n=1,...,n m=1 m=1,...,m n=1 mit Spekralradius ρ(a) = max{ λ : λ σ(a)} und Spektrum σ(a). C. Wieners: Einführung in die Numerische Mathematik 5
3 Ausgleichsrechnung Sei Q R N N orthogonal, d.h. Q T Q = I N. Dann ist κ 2 (Q) = 1. (3.1) Zu v R N und k n mit v[k] 2 + v[n] 2 > 0 existiert eine Givens-Rotation G R N N mit ( ) ( ) G[k,k] G[k,n] c s =, c G[n, k] G[n, n] s c 2 + s 2 = 1, und G[j][j] = 1 für j k,n und G[i][j] = 0 sonst, so dass en T Gv = 0 gilt: Für v[n] > v[k] setze τ = v[k] v[n], s = 1+τ 1 v[n], c = sτ, sonst setze τ = 2 v[k], c = 1+τ 1, s = cτ. 2 Es gilt G = c(e k ek T + e nen T ) + s(e k en T e n ek T ) + e j ej T. j k,n (2.10) Zu v R N, v 0 N, existiert eine Householder-Spiegelung H = I N 2 w T w ww T R N N mit w R N, w[1] = 1, so dass Hv = σe 1 mit σ R und Hw = w gilt: Falls v[1] > 0, setze σ = v 2, sonst setze σ = v 2. Dann definierte w = 1 v[1] σ (v σe 1). (3.3) Zu A R K N existiert eine QR-Zerlegung A = QR mit einer orthogonalen Matrix Q R K K und eine oberen Dreiecksmatrix R R K N, d.h. QQ T = I K und R[k + 1 : K,k] = 0 K k für k = 1,...,K. (3.4) Sei A R K N und b R K. Dann gilt: x R N minimiert Ax b 2 A T Ax = A T b. C. Wieners: Einführung in die Numerische Mathematik 6
Berechnung der Householder-Vektoren function [v,beta] = householder(y) N = length(y); s = y(2:n) * y(2:n); if N == 1 s = 0; end; v = [1;y(2:N)]; if s == 0 beta = 0; else mu = sqrt(y(1)^2 + s); if y(1) <= 0 v(1) = y(1) - mu; else v(1) = -s/(y(1) + mu); end; beta = 2*v(1)^2/(s + v(1)^2); v = v / v(1); end; return; C. Wieners: Einführung in die Numerische Mathematik 7
QR-Zerlegung [M,N] = size(a); for m = 1:min(N,M-1) [v,beta] = householder(a(m:m,m)); if beta ~= 0 w = beta * v * A(m:M,m:N); A(m:M,m:N) = A(m:M,m:N) - v * w; A(m+1:M,m) = v(2:m-m+1); end; end; for m = 1:min(N,M-1) v = [1;A(m+1:M,m)]; beta = 2 / (v * v); if beta ~= 2 b(m:m) = b(m:m) - beta*(v *b(m:m)) * v; end; end; for n=min(n,m):-1:1 x(n) = (b(n) - A(n,n+1:N) * x(n+1:n)) / A(n,n); end; C. Wieners: Einführung in die Numerische Mathematik 8
3 Ausgleichsrechnung (3.5) Zu A R K N mit R = rang(a) existiert eine Singulärwertzerlegung A = V ΣU T mit Matizen V = (v 1 v R ) R K R, U = (u 1, u R ) R N R, Σ = diag(σ 1,...,σ R ) R R R mit V T V = U T U = I R und den Singulärwerten σ 1,...,σ R > 0. Es gilt A = R σ r u r vr T r=1 und Ax = R σ r (vr T x)u r. r=1 (2.22) A + = UΣ 1 V T ist die Pseudo-Inverse. Es gilt A + = R σr 1 v r ur T und Ax = R σr 1 (ur T x)v r. r=1 r=1 (2.22) x = A + b löst die Normalengleichung A T Ax = A T b. (2.23) Sei A R K N und b R M. Dann gilt für die Tikhonov-Regularisierung mit α > 0: x R N minimiert Ax b 2 2 + α x 2 2 (A T A + αi N )x = A T b. (2.24) Es gilt lim α 0 (AT A + αi N ) 1 A T b = A + b. Diskrepanzprinzip: Sei b Bild(A), x = A + b und b δ eine Störung mit b b δ < δ < b 2. Dann existiert ein α = α(δ) > 0 mit Ax α b δ 2 = δ für x α = (A T A + αi N ) 1 A T b δ. Es gilt α(δ) 0 für δ 0. C. Wieners: Einführung in die Numerische Mathematik 9
4 Eigenwertberechnung (4.3) H R N N heißt Hessenberg-Matrix, wenn H[n + 2 : N,n] = 0 N n 1 für n = 1,...,N 2. (4.4) Sei A R N N. Dann existiert eine orthogonale Matrix Q R N N, so dass H = QAQ T eine Hessenberg-Matrix ist. Die Berechnung benötigt O(N 3 ) Operationen. Wenn A symmetrisch ist, dann ist H eine Tridiagonalmatrix. (4.8) Sei A R N N symmetrisch, tridiagonal, und irreduzibel, d.h. A[n 1,n] = A[n,n 1] 0 und A[n + 2 : N,n] = A[n,n + 2 : N] T = 0 N n 1. Die charakteristischen Polynome P n (t) = det ( A[1 : n,1 : n] ti n ) der Hauptuntermatrizen lassen sich durch eine Dreitermrekursion berechnen: Setze P 0 1. Dann gilt P 1 (t) = A[1,1] t und P n (t) = (A[n,n] t)p n 1 (t) A[n 1,n] 2 P n 2 (t). Sie bilden eine Sturmsche Kette: Für die Nullstellen λ n 1 λ n 2 λ n n von P n gilt λ n 1 k 1 < λ n k < λ n 1 k, k = 1,...,n (mit λ n 0 = A und λ n n+1 = A ), und es gilt für t ( A, A ) λ n k < t λ n k+1 mit k = W n (t) und W n (t) = # { j {1,...,n}: P j (t)p j 1 (t) < 0 oder P j (t) = 0 }. C. Wieners: Einführung in die Numerische Mathematik 10
4 Eigenwertberechnung Sei A R N N symmetrisch mit Eigenwerten λ 1,...,λ N und ONB aus Eigenvektoren v 1,...,v N. Dann gilt A = n (4.9) Der Rayleigh-Quotient ist λ n v n (v n ) T und Ax = λ n (vn T x)v n. n r(a,x) = x T Ax x T x, x RN, x 0 N. (4.10) Sei λ 1 = ρ(a) und λ n < λ 1 für n = 2,...,N. Dann gilt für alle w R N mit w T v 1 > 0 lim k r(a,ak w) = λ 1, (4.11) Sei w 2 = 1 und µ = r(a,w). Dann gilt min λ n µ Aw µw 2. n=1,...,n 1 lim k A k A k w = v 1. w 2 Eine konvergente Folge (d k ) in R mit Grenzwert d konvergiert a) linear, wenn c (0,1) und k 0 > 0 existieren mit d k+1 d c d k d für k k 0 b) superlinear, wenn zu jedem ε > 0 ein k 0 > 0 existiert mit d k+1 d ε d k d für k k 0 c) von der Ordnung p > 1, wenn wenn C > 0 existiert mit d k+1 d C d k d p. C. Wieners: Einführung in die Numerische Mathematik 11
4 Eigenwertberechnung (4.12) Inverse Iteration mit variablem shift S0) Wähle z 0 R N, z 0 0 N, ε 0. Setze k = 0. S1) Setze w k = 1 z k 2 z k, µ k = r(a,w k ). S2) Falls Aw k µ k w k 2 ε STOP. S3) Berechne z k+1 = (A µ k I N ) 1 w k. S4) Setze k := k + 1, gehe zu S1). Wenn der Startvektor z 0 hinreichend nahe bei einem Eigenvektor v m mit isoliertem Eigenwert λ m liegt, konvergiert die Iteration kubisch (d.h. von der Ordnung p = 3). (4.13) QR-Iteration mit shift (A R N N symmetrisch) S0) Berechne A 0 = QAQ T tridiagonal (Hessenberg-Transformation). Wähle ε 0. Setze k = 0. S1) Falls A k [n + 1,n] ε für ein n: getrennte Eigenwertberechnung für A k [1 : n,1 : n] und A k [n + 1 : N,n + 1 : N]. S2) Berechne d k = 1 2 (A k [N 1,N 1] A k [N,N]) und s k = A k [N,N] + d k sgn(d k ) dk 2 + A k [N 1,N] 2. S3) Berechne QR-Zerlegung Q k R k = A k s k I N und setze A k+1 = R k Q k + s k I N. S4) Setze k := k + 1, gehe zu S1). Es gilt A k+1 = Q T k A k Q k. Falls der shift µ k = A k [N,N] gewählt wird, entspricht die QR-Iteration der Inversen Iteration mit variablem shift und Startvektor z 0 = e N. C. Wieners: Einführung in die Numerische Mathematik 12
4 Eigenwertberechnung (4.14) Gershgorin Zu A R N N sind die Gershgorin-Kreise durch K n = { λ C: λ A[n,n] A[n,k] }, k n defininiert. Dann gilt n = 1,...,N N σ(a) K n. n=1 (4.15) Sei A R N N symmetrisch mit Eigenwerten λ 1 λ 2 λ N. λ n = max dims=n λ N+1 n = min dims=n min r(a,x), 0 N x S max r(a,x). 0 N x S C. Wieners: Einführung in die Numerische Mathematik 13
5 Iterative Lösungsverfahren für lineare Gleichungen (5.1) Sei A,B R N N mit ρ(i N BA) < 1. Dann ist A invertierbar, und es gilt für alle b R N und alle Startvektoren x 0 R N konvergiert die Iteration x k+1 = x k + B(b Ax k ), k = 0,1,2,... gegen lim k x k = A 1 b. (5.2) Sei K R N N und ε > 0 Dann existiert eine Vektor-Norm und eine zugeordnete Matrix-Norm, so dass K ρ(k ) + ε gilt. Anwendung: Es gilt x x k I N BA k x x 0 (lineare Konvergenz). (5.3) Konvergenz des Gauß-Seidel-Verfahrens Sei A = L + D + R R N N symmetrisch positiv definit und sei B = (L + D) 1. Dann gilt bezüglich der Energienorm x A = x T Kx Ax und K A = sup A x x 0 A N I N BA A < 1. Anwendung der Neumannschen Reihe ergibt dann A 1 = k=0 (I N BA) k B. C. Wieners: Einführung in die Numerische Mathematik 14
5 Iterative Lösungsverfahren für lineare Gleichungen (5.4) Eine Matrix A R N N heißt stark diagonal-dominant, wenn und wenn ein j {1,...,N} existiert N A[n,k] A[n,n], n = 1,...,N, k=1 k n N A[j,k] < A[j,j]. k=1 k n (5.5) Eine Matrix A R N N sei irreduzibel. Dann existiert zu jedem Paar j n eine Folge j = j 0,j 1,j 2,...,j R = n mit A[j 1,j 0 ] 0,...,A[j R,j R 1 ] 0. (5.6) Eine Matrix A R N N sei stark diagonal-dominant und irreduzibel. Dann gilt: a) A ist regulär und das Jacobi-Verfahren x k+1 = x k + diag(a) 1 (b Ax k ) konvergiert. b) Sei A[n,n] > 0 für alle n. Dann ist A positiv definit. c) Sei A[n,n] > 0 und A[n,k] 0 für n k. Dann ist A 1 [n,k] 0 für alle n,k. C. Wieners: Einführung in die Numerische Mathematik 15
5 Iterative Lösungsverfahren: Krylov-Verfahren (5.7) Zu C R N N und d R N ist k-te Krylov-Raum K k (C,d) = span { d,cd,..c k 1 d } = { P(C)d : P P k 1 }. (5.8) Zu einer regulären Matrix A R N N, einer rechten Seite b R N und einem Startwert x 0 R N sei x R N die Lösung von Ax = b und r 0 = b Ax 0. Sei B R N N eine reguläre Matrix (Vorkonditionierer). Wenn dimk k (AB,r 0 ) < k für ein k gilt, dann ist x x 0 + K k 1 (BA,Br 0 ). Sei, ein Skalarprodukt in R N. Gram-Schmidt-Verfahren zur Berechnung einer Orthonormalbasis v 1,...,v k von K k (BA,Br 0 ) = span{br 0,BABr 0,...,(BA) k 1 Br 0 } = {V k y : y R k }, V k = ( v 1... v k ). S0) Wähle x 0 R N, setze r 0 = b Ax 0, z 1 = Br 0, h 10 = z 1 V und v 1 = h 1 z 1. 10 S1) Für k = 1,2,3,... berechne w k = BAv k, z k+1 = w k k h jk v j mit h jk = v j,w k V j=1 v k+1 = 1 h k+1,k z k+1 mit h k+1,k = z k+1 V Dann gilt BAv k = k+1 j=1 h jk v j, also BAV k = V k+1 H k mit H k = (h jm ) R k+1,k. C. Wieners: Einführung in die Numerische Mathematik 16
5 Iterative Lösungsverfahren: GMRES-Verfahren S0) Wähle x 0 R N, ε > 0. Berechne r 0 = b Ax 0, z 1 = Br 0, h 10 = z 1 2 und v 1 = h 1 z 1. Setze k = 1. 10 S1) Berechne w k = BAv k und z k+1 = w k k h jk v j mit h jk = (v j ) T w k j=1 v k+1 = 1 h k+1,k z k+1 mit h k+1,k = z k+1 2 S2) Berechne y k R k mit ρ k = H k y k h 10 e 1 2 = min! Dabei ist H k = (h jm ) j=1,...,k+1, m=1,...,k R k+1,k. S3) Wenn ρ k < ε, setze x k = x 0 + k yj k v j j=1 S4) Setze k := k + 1 und gehe zu S1). STOP. (5.4) Es gilt ρ k = min B(b Az) 2. z x 0 +span{v 1,...,v k } Das GMRES-Verfahren ist wohldefiniert, und wenn es abbricht, gilt x x k 2 (BA) 1 2 ε. (5.5) Für C α > 0 gelte z T BAz αz T z und BA 2 C. ) k/2 Dann gilt für das GMRES-Verfahren x k x 2 κ 2 (BA) (1 α2 C 2 x 0 x 2. C. Wieners: Einführung in die Numerische Mathematik 17
5 Iterative Lösungsverfahren: CG-Verfahren S0) Wähle x 0 R N, ε > 0. Berechne r 0 = b Ax 0, y 0 = Br 0, ρ 0 = (y 0 ) T r 0 und d 1 = y 0. Setze k = 0. S1) Falls ρ k ε STOP S2) Setze k := k + 1 und berechne u k = Ad k ρ α k = k 1 (u k ) T d k x k = x k 1 + α k d k r k = r k 1 α k u k y k = Br k ρ k = (y k ) T r k d k+1 = y k + ρ k ρ k 1 d k Gehe zu S1). (5.6) x k x A = min z x 0 +span{d 1,...,d k } z x A ( min κ(ba) 1 ) k x A 2 x 0 x A. P P k, P(0)=1 λ σ(ba) κ(ba) + 1 C. Wieners: Einführung in die Numerische Mathematik 18
5 Transformierte Chebychev-Polynome (5.6) k b min max P(t) 2 a 1 P P k, P(0)=1 t [a,b] b a + 1 P 4, P 5, P 6, P 12 mit P k (0) = 1 zu [a,b] = [0.1,2.1] C. Wieners: Einführung in die Numerische Mathematik 19
6 Lösungsverfahren für nichtlineare Gleichungen (6.1) Sei D R N konvex und F : D R N ein stetig differenzierbares Vektorfeld. Sei x D eine Nullstelle von F, und sei B R N N. Wenn ρ ( I N BJ F (x ) ) < 1 gilt, dann existiert ein δ > 0, so dass für alle x 0 B(x,δ) die Fixpunktiteration x k+1 = Φ(x k ) mit Φ(x) = x BF(x) linear gegen x konvergiert. (6.2) Banachscher Fixpunktsatz Sei D R N konvex und φ : D D kontrahierend mit q (0.1), d.h. φ(y) φ(z) q y z für y,z D. Dann existiert genau ein Fixpunkt x D von φ, d.h. φ(x ) = x, und es gelten für die Fixpunktiteration x k+1 = Φ(x k ) die Abschätzungen x k x qk 1 q x 0 x 1 und x k x q 1 q x k x k 1. (6.3) Seien α,β,γ > 0 mit 2αγ < β 2 und P(t) = α βt + γ 2 t2. Dann konvergiert für t 0 = 0 das Newton-Verfahren t k+1 = t k P (t k ) 1 P(t k ) quadratisch gegen die kleinste Nullstelle t von P, und {t k } ist monoton steigend mit t 0 = 0 < t 1 < < t k < t k+1 = t k + γ 2 (t k t k 1 ) 2 t 2α = β γt k β + β 2 2αγ. C. Wieners: Einführung in die Numerische Mathematik 20
6 Lösungsverfahren für nichtlineare Gleichungen (6.3) Sei D R N offen und F : D R N ein stetig differenzierbares Vektorfeld. Sei x 0 D mit a) F (x 0 ) α b) J F (x 0 )y β y für y R N c) B(x 0,2α/β) = {z R N : z x 0 2α/β} D d) J F (y) J F (z) γ y z für y,z B(x 0,2α/β) e) 2αγ < β 2. Dann ist das Newton-Verfahren x k+1 = x k J F (x k ) 1 F (x k ) wohldefiniert und konvergiert quadratisch gegen x D mit x x 0 2α β + β 2 2αγ. Gedämpftes Newton-Verfahren S0) Wähle x 0 D, ε > 0, θ (0,1). Setze k = 0. S1) Falls F (x k ) ε STOP S2) Löse J F (x k )d k = F (x k ). S3) Bestimme t k {1,θ,θ 2,...,θ r } mit F (x k + t k d k ) minimal. S4) Setze x k+1 = x k + t k d k, k := k + 1 und gehe zu S1). C. Wieners: Einführung in die Numerische Mathematik 21
7 Orthogonalpolynome Zu a < b und einem Gewicht W C(a,b), W > 0 definiere V = C(a,b) als Euklidischen Vektorraum mit dem Skalarprodukt b (u,v) V = u(t)v(t)w (t)dt. a Aufgabe: Zu f C(a,b) bestimme P P N mit P f V = min Q P N Q f V. N Sei Q 0,...,Q N P N eine Orthogonalbasis. Dann gilt P(t) = (f,q k ) V Q k (t). k=0 (7.1) Eine orthogonale Basis Q n, n = 0,1,2,... berechnet sich mit Q 1 0, Q 0 1 ρ 0 und ρ n+1 Q n+1 (t) = (t β n ) Q n (t) ρ n Q n 1 (t) n = 0,1,2,... mit ρ 0 = 1 V, ρ n = (Q n,tq n 1 ) V > 0, und β n = (Q n,tq n ) V. Es gilt gradq n = n. (7.2) Das Orthogonalpolynom Q n besitzt n verschiedene Nullstellen in (a,b). Die Orthogonalpolynome Q 0,Q 1,Q 2,... bilden eine Sturmsche Kette. C. Wieners: Einführung in die Numerische Mathematik 22
7 Orthogonalpolynome Chebychev-Polynome Wir betrachten den Fall (a,b) = ( 1,1) und W (t) = 1 1 t 2. Definiere T 0 1, T 1 (t) = t und T n+1 P n+1 mit T n+1 (t) = 2tT n (t) T n 1 (t). Für t [ 1,1] gilt T n (t) = cos(n arccost), (T n,t k ) V = 0 für n k, und für t 1 gilt T n (t) = 1 2 ( t + t 2 1 ) n 1 + 2 (7.3) Sei ξ [ 1,1] und P(t) = T n (t)/t n (ξ ). Dann gilt max P(t) max Q(t) für alle Q P n mit Q(ξ ) = 1. t [ 1,1] t [ 1,1] (7.4) Sei 0 < α < β und κ = β/α. Dann existiert ein P P n mit P(0) = 1 ( ) n κ 1 und max P(x) 2. x [α,β] κ + 1 ( n t t 2 1). Transformierte Chebychev-Polynome P 4, P 5, P 6, P 12 mit P n (0) = 1 zu [α,β] = [0.1,2.1] C. Wieners: Einführung in die Numerische Mathematik 23
7 Orthogonalpolynome (7.5) Approximationssatz von Weierstraß Sei [a, b] ein kompaktes Intervall. Dann gilt: Jede stetige Funktion f C([a, b]) lässt sich gleichmäßig durch Polynome approximieren. Konstruktion: O.E. sei f C(R) mit f (t) = 0 für t > 0.5 und [a, b] = [ 0.25, 0.25]. Dann wähle P 2n (t) = 1 1 1 (1 t 2 ) n f (s t)ds, r n = (1 t 2 ) n dt. r n 1 1 Für t 0.25 gilt P 2n (t) = r 1 n n a nkj t k 1 s j f (s)dt P 2n mit (1 (s t) 2 ) n = 2n a nkj t k s j. j,k=0 1 j,k=0 Nun sei (v,w) 0 = 1 v(t)w(t)dt das Skalarprodukt in L 2 ( 1,1), seien Q 0,Q 1,Q 2,... die 1 Orthogonalpolynonme, und sei p n (f ) = n (f,q k ) 0 Q k die Orthogonalprojektion auf P n. k=0 (7.6) Für jede stetig Funktion f C[ 1, 1] gilt lim n p n(f ) f 0 = 0. (7.7) Sei f C k [ 1,1]. Dann existiert C > 0 mit p n (f ) f 0 Cn k ( ddt ) k f 0. C. Wieners: Einführung in die Numerische Mathematik 24
8 Interpolation (8.1) Lagrange-Interpolation Zu Stützstellen t 0 < t 1 < < t N und Werten f 0,f 1,...,f N R bestimme P P N mit P(t n ) = f n. (8.2) Die Interpolationsaufgabe (8.1) ist eindeutig lösbar. (8.3) Hermite-Interpolation Zu t 0 t 1 t N definiere d n = max{n k : t k = = t n } und d = maxd n. Zu f C d (R) bestimme P P N mit ( d ) dn ( d ) dn P(tn ) = f (tn ) für n = 0,...,N. dt dt (8.4) Die Interpolationsaufgabe (8.3) ist eindeutig lösbar. (8.5) Der eindeutig bestimmte höchste Koeffizient b N 1 N! ( ddt ) NP(t) der Lösung der Interpolationsaufgabe (8.1) wird mit b N = f [t 0,...,t N ] bezeichnet. (8.6) Zu t 0 t 1 t N definiere die Newton-Basis von P N durch ω 0 1 und ω k+1 (t) = ω k (t)(t t k ), k = 0,...,N 1. a) P(t) = N f [t 0,...,t k ]ω k (t) löst die Interpolationsaufgabe (8.3). k=0 b) Für f C(R) gilt f (t) = P(t) + f [t 0,...,t N,t] ω N+1 (t). C. Wieners: Einführung in die Numerische Mathematik 25
8 Interpolation (8.7) Für t k < t n gilt f [t k,...,t n ] = f [t k+1,...,t n ] f [t k,...,t n 1 ]. t n t k ( ) Sei f C n k 1 d n k (R). Für t k = t k+1 = = t n gilt f [t k,...,t n ] = f (t (n k)! dt k ). Sei P kn (t) = n f [t k,...,t j ]ω kj (t) mit ω kk 1 und mit ω k,j+1 (t) = ω kj (t)(t t j ) die Interpolation j=k an t k t n zu f k,...,f n. Für t k < t n gilt P kn (t) = t t k t n t P k k+1,n (t) + tn t t n t P k k,n 1 (t). (8.9) Für den Interpolationsfehler gilt f (t) P N (t) = 1 ( d ) N+1f (τ) ωn+1 (t) (N + 1)! dt mit einer Zwischenstelle τ = τ(t) I := [min{t,t 0 } max{t,t N }]. (8.11) Es gilt f [t 0,...,t N ] = ( d Σ N dt s 0 mit Σ N =. R N+1 : s n ) Nf ( N s n t n )ds n=0 N n=0 s n = 1,s n 0 (8.12) f [t 0,...,t N ] = 1 N! ( ddt ) Nf (τ) mit τ [mintn,maxt n ]. (Standard-Simplex) C. Wieners: Einführung in die Numerische Mathematik 26
9 Splines (9.1) Zu einer Zerlegung : a = t 0 < t 1 < < t N = b von [a,b] definiere den Spline-Raum von Grad k S k ( ) = { S C k 1 [a,b]: S n := S [tn 1,t n] P k, n = 1,...,N }. S S k ( ) heißt interpolierender Spline zu f C 0 [a,b] wenn S(t n ) = f (t n ). (9.2) Es gilt dims k ( ) = k + N. Wir betrachten interpolierende Splines von Grad k = 2r + 1 mit einer der Randbedingungen (I) Natürliche Randbedingung ( d ) ms(a) ( d ) ms(b) = 0 und = 0 für r + 1 m 2r dt dt (II) Hermite-Randbedingung zu f C r [a,b] ( d ) ms(a) ( d ) mf ( d ) ms(b) ( d ) mf = (a) und = (b) für 1 m r dt dt dt dt (III) periodische Randbedingungen ( d ) ms(a) ( d ) ms(b) = für 1 m 2r dt dt C. Wieners: Einführung in die Numerische Mathematik 27
9 Splines Zu g,h C m [a,b] definiere b ( d ) mg(t) ( d ) mh(t)dt (g,h) m =, g m = (g,g) m. a dt dt (9.3) Zu a t 0 < t 1 < < t N b und f 0,...,f N definiere M = { g C 2 [a,b]: g(t n ) = f n }. Dann existiert genau ein S M mit S 2 g 2 für alle g M. Es gilt S (t) = 0 für t [a,t 0 ] [t N,b] und S [tn 1,t n] P 3. (9.4) Sei S S 2r+1 ( ) ein interpolierender Spline zu f und sei zusätzlich eine der Randbedingungen (I), (II) oder (III) erfüllt. Sei g C r+1 [a,b] mit g(t n ) = f (t n ) für n = 0,...,N, und zusätzlich gelte im Fall (II) ( d ) mg(a) ( d ) mf ( d ) mg(b) ( d ) mf = (a) und = (b) für 1 m r, dt dt dt dt im Fall (III) ( d ) mg(a) ( d ) mg(b) = dt dt für 1 m r. Dann gilt (S g,s) r+1 = 0 und S r+1 g r+1. (9.5) Die Spline-Interpolation S S 2r+1 ( ) zu f mit einer der Randbedingungen (I), (II), (III) ist eindeutig lösbar. C. Wieners: Einführung in die Numerische Mathematik 28
9 Splines (9.6) Die Momente M n = S (t n ) von S S 3 ( ) zu f sind eindeutig durch und µ n = µ n M n 1 + M n + λ n M n+1 = 3f [t n 1,t n,t n+1 ] h n 2(h n + h n+1 ), λ h n = n+1 2(h n + h n+1 ) mit h n = t n t n 1 bestimmt und es gilt S n (t) = M n(t t n 1 ) 3 + M n 1 (t n t) 3 + f (t n) + f (t n 1 ) h2 n 6h n 2 12 (M n + M n 1 ) ( f (tn ) f (t + n 1 ) h )( n h n 6 (M n M n 1 ) t t n + t ) n 1, t [t 2 n 1,t n ]. (9.7) Es gilt für m = 0,...,r und h = max i=n,...,n h i, h n = t n t n 1 (r+1 m)/2 (r + 1) S f m 2 h r+1 m f m! r+1 (9.8) Es gilt für f C 2 [a,b] S 3 f. (9.9) Es gilt für f C 4 [a,b] ( d ) 4f S f h 4. dt C. Wieners: Einführung in die Numerische Mathematik 29
10 Numerische Integration Newton-Cotes-Formeln (10.1) Eine Quadraturformel I Ξ : C[a,b] R mit I Ξ (f ) = ω ξ f (ξ ) zu Stützstellen Ξ [a,b] und ξ Ξ b Gewichten ω ξ ist eine Linearform zur Approximation des Integrals I(f ) = f (t)dt. a Sie heißt exakt von der Ordnung p, wenn der Fehler I(P) = I Ξ (P) für Polynome P P p. (10.2) Sei Ξ = N + 1. Wenn I Ξ exakt von der Ordnung N ist, dann gilt b t η ω ξ = L ξ (t)dt mit L ξ (t) = η Ξ\{ξ } ξ η P N. a (10.3) Die Quadraturformeln von der Ordnung N zu äquidistanten Stützstellen ξ n = a + nh, h = b a N heißen Newton-Cotes-Quadraturformeln. Es gilt: ω n = ω N n = b a ( 1) N n N N N n!(n n)! (t j)dt. 0 j=0, j n (10.4) Die Newton-Cotes-Formeln sind für gerade N exakt von der Ordnung N + 1. (10.5) Seien g,h C[a,b] mit g(t) 0 für t [a,b]. Dann gilt: b b g(t)h(t)dt = h(τ) g(t)dt für eine Zwischenstelle τ (a,b). a a (10.6) Sei f C 4 [a,b]. Dann gilt für die Simpsonregel: ( b a ) 5 1 I 2 (f ) I(f ) = 2 90 f (τ) für ein τ (a,b). C. Wieners: Einführung in die Numerische Mathematik 30
10 Numerische Integration Gauß-Quadatur (10.7) Die maximale Ordnung einer Quadratur mit N Stützstellen ist 2N 1. (10.8) Seien ξ 1,...,ξ N die Nullstellen des Orthogonalpolynoms Q N in (a,b) bzgl. des Gewichts W. Dann ist die zugehörige Gauß-Quadratur G N (f ) = N ω n f (ξ n ) exakt für P P 2N 1. n=1 Die Gewichte der Gauß-Quadratur sind positiv. (10.9) b a f (t)w (t)dt G N (f ) = 1 ( d ) 2Nf N (τ) (RN,R (2N)! dt N ) W mit R N (t) = (t ξ n ). n=1 Eine Folge {I Ξ N } N N von Quadraturen mit Stützstellen Ξ N [a,b] und Ge- wichten ωξ N konvergent, wenn lim I(f ) I Ξ N (f ) = 0 für alle f C[a,b]. N heißt (10.10)Sei {I Ξ N } für alle Polynome P konvergent (d.h. lim N I Ξ N (P) = I(P)), und seien die Gewichte uniform beschränkt durch ωξ N C für alle N. ξ Ξ N Dann ist {I Ξ N } konvergent für alle f C[a,b]. (10.11)Wenn alle Gewichte positiv sind und I Ξ N von der Ordnung N exakt ist, ist {I Ξ N } konvergent. C. Wieners: Einführung in die Numerische Mathematik 31
10 Numerische Integration (10.12)Sei I h I = Ch p + O(h q ) mit q > p. Dann gilt für die Extrapolation Îh = I h + 1 ( ) Ih 2 p I 1 2h a) I Îh = O(h q ) b) I I h = 1 ( ) 2 p 1 Ih I 2h + O(h q ) (10.13)Sei g C 2m+2 [0,1]. Es existieren Konstanten b j und eine Zwischenstelle ξ (0,1) mit 1 g(t)dt = 1 0 2 g(0) + 1 m (( d ) 2j 1g(0) ( d ) 2j 1g(1) ) 2 g(1) + ( d ) 2m+2g(ξ j + b j=1b dt dt m+1 ). dt (10.14)Für f C 2m+2 [a,b] und h = b a n gilt m (( d ) 2j 1f ( d T h (f ) I(f ) = j h j=1c 2j + O(h 2m+2 ) mit c j = b j (a) dt dt (10.15)Zu T k0 = T hk (f ) mit h k = 2 k h für k = 0,1,...,m definiere rekursiv ) 2j 1f (b) ). T ki = T k,i 1 + 1 4 i 1 (T k,i 1 T k 1,i 1 ), i = 1,...,m und k = i,...,m. Dann gilt: T mm I Ch 2m+2 ( d ) 2m+2f dt mit C > 0 unabhängig von f. (10.16) a) I T kk = O(h 2k+2 ) b) I T k,k 1 = T kk T k,k 1 + O(h 2k+2 ). C. Wieners: Einführung in die Numerische Mathematik 32
10 Numerische Integration Romberg-Quadratur using namespace std; #include <iostream> #include <cmath> #include <ext/numeric> using gnu_cxx::power; const int K = 6; const int N = power(2,k); double Romberg (double F(double), double a, double b, double Eps) { double f[n+1]; double h = (b-a) / N; for (int i=0; i<=n; i+=2) f[i] = F(a+i*h); return Romberg(F,a,b,f,Eps); } double F (double x) { return 4.0 / (x*x + 1); } int main () { cout << "Q = " << Romberg(F,0,1,1e-10) << endl; } C. Wieners: Einführung in die Numerische Mathematik 33
10 Numerische Integration Romberg-Quadratur double Romberg (double F(double), double a, double b, double* f, double Eps) { double T[K+1]; double h = (b - a) * 0.5; T[0] = h * (f[0] + f[n]); for (int i=1, m=n; i<=k; ++i, m/=2, h /= 2) { double s = 0.0; if (i<k) for (int j=m/2; j<n; j+=m) s += f[j]; else for (int j=1; j<n; j+=2) s += (f[j] = F(a+j*h)); T[i] = 0.5 * T[i-1] + h * s; for (int j=1, q=4; j<=i; ++j, q *= 4) { double e = (T[i-j+1] - T[i-j]) / (q - 1); T[i-j] = T[i-j+1] + e; if (abs(e) < Eps) return T[i-j]; } } double f2[2*n+1]; for (int j=0; j<=n; ++j) f2[2*j] = f[j]; Eps *= 0.5; return Romberg(F,a,(a+b)*0.5,f2,Eps) + Romberg(F,(a+b)*0.5,b,f2+N,Eps); } C. Wieners: Einführung in die Numerische Mathematik 34
11 Trigonometrische Interpolation (11.1) Die 2π-periodischen komplexen trigonometrischen Polynome T n sind von der Form n T (t) = α k exp(ikt). k= n (11.2) Die Funktionen Q k (t) = 1 2π exp(ikt) bilden eine Orthogonalbasis von T n bzgl. 2π (f,g) 0 = f (t)g(t)dt. 0 (11.3) Sei f L 2 (0,π). Dann ist p n (f )(t) = k (f,q k ) 0 Q k Orthogonalprojektion von f mit f p n (f ) 0 f T 0, T T n. ( ) (11.4) Sei N N, ω = ω N = exp i 2π N die N-te Einheitswurzel und 1 1 1 1 ( ) 1 ω ω 2 ω N 1 F N = ωn nk = 1 ω 2 ω 4 ω 2(N 1) n,k=0,,n 1.. C N N.. 1 ω N 1 ω 2(N 1) ω (N 1)2 die Fouriermatrix. Dann gilt F 1 = N 1 F, d.h 1 N F ist unitär. (11.7) Sei ˆα k = N 1 N 1 f (t j )exp( ikt j ) mit t j = 2πj N. Dann gilt f (t j ) = N 1 ˆα k exp(ikt j ). j=0 k=0 C. Wieners: Einführung in die Numerische Mathematik 35
11 Trigonometrische Interpolation (11.6) Sei N = 2M N gerade und y = F N x C N. Dann gilt y 2k = y 2k+1 = M 1 x n + ωm kn mit x n + = x n + x M+n, n=0 M 1 xn ωm kn mit xn = (x n x M+n )ωn n. n=0 FFT-Algorithmus für die Berechnung von y = F N x für N = 2 K S1) Wenn N = 1 und y = x: STOP S2) Definiere x + = x [0 : N2 ] [ N 1 + x x = diag ( ω n N) ( x S3) Berechne y + = F N2 x +, y = F N2 x ] 2 : N 1 C N 2 [0 : N2 1 ] x [ ]) N 2 : N 1 C N 2 S4) Setze y = (y + [0],y [0],y + [1],y [1], ) C N. STOP (11.7) Der FFT-Algorithmus benötigt N log(n) Operationen. C. Wieners: Einführung in die Numerische Mathematik 36
11 Trigonometrische Interpolation ( Zu s 0 definiere f s = k Z (1 + k 2s ) α k 2) 1/2 mit αk = 1 2π f (t)exp( ikt)dt und 2π 0 H s = { u L 2 (0,2π): f periodisch fortsetzbar und f s < }. (11.8) Es gilt a) H s C 0 per[0,2π] für s > 1/2. b) C m per[0,2π] H m für m N. Im Folgenden sei f H s für s > 1/2. (11.9) Es gilt für ˆα k = 1 N ˆα k = α k+jn. j Z N 1 f (t j )exp(ikt j ) mit t j = 2πj N und N/2 < k N/2 j=0 n (11.10)Sei n < N/2 und T n (t) = ˆα k exp(ikt). Dann existiert eine Konstante C > 0 mit k= n f T n 0 C n s f s. C. Wieners: Einführung in die Numerische Mathematik 37