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. Entsprech 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. N N N (2.6) Eine Matrix A R heißt strikt diagonal-dominant, falls A[n,n] > k=1, k n A[n, k] n. (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
LR- und Cholesky-Zerlegung function x = lr_solve(a,b) N = size(a,1); for n=1:n-1 A(n+1:N,n) = A(n+1:N,n) / A(n,n); A(n+1:N,n+1:N) = A(n+1:N,n+1:N) - A(n+1:N,n) * A(n,n+1:N); x = b; for n=2:n x(n) = x(n) - A(n,1:n-1) * x(1:n-1); for n=n:-1:1 x(n) = (x(n) - A(n,n+1:N) * x(n+1:n)) / A(n,n); return function x = cholesky_solve(a,b) N = size(a,1); for n=1:n A(n:N,n) = A(n:N,n) - A(n:N,1:n-1) * A(n,1:n-1) ; A(n:N,n) = A(n:N,n) / sqrt(a(n,n)); x = b for n=1:n x(n) = (x(n) - A(n,1:n-1) * x(1:n-1)) / A(n,n); for n=n:-1:1 x(n) = (x(n) - A(n+1:N,n) * x(n+1:n)) / A(n,n); return C. Wieners: Einführung in die Numerische Mathematik 3
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 4
LR-Zerlegung mit Pivot-Suche function x = lr_pivot_solve(a,b) N = size(a,1); p = (1:N) ; for n = 1:N-1 [r,m] = max(abs(a(n:n,n))); m = m+n-1; if abs(a(m,n))<eps error( *** ERROR *** Matrix fast singulär ); if (m ~= n) A([n m],:) = A([m n],:); p([n m]) = p([m n]); A(n+1:N,n) = A(n+1:N,n) / A(n,n); A(n+1:N,n+1:N) = A(n+1:N,n+1:N) - A(n+1:N,n) * A(n,n+1:N); x = b(p); for n=2:n x(n) = x(n) - A(n,1:n-1) * x(1:n-1); for n=n:-1:1 x(n) = (x(n) - A(n,n+1:N) * x(n+1:n)) / A(n,n); return C. Wieners: Einführung in die Numerische Mathematik 5
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 = sup : 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 6
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 Störungen in 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 verwen 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 7
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 8
Berechnung der Householder-Vektoren function [v,beta] = householder(y) N = length(y); s = y(2:n) * y(2:n); if N == 1 s = 0; ; 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); ; beta = 2*v(1)^2/(s + v(1)^2); v = v / v(1); ; return; C. Wieners: Einführung in die Numerische Mathematik 9
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); ; ; 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; ; ; for n=min(n,m):-1:1 x(n) = (b(n) - A(n,n+1:N) * x(n+1:n)) / A(n,n); ; C. Wieners: Einführung in die Numerische Mathematik 10
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 11