Universit¨at Heidelberg
Interdisziplin¨ares Zentrum f¨ur Wissenschaftliches Rechnen
Dr. Andreas Potschka
Ubungsblatt 7¨
Einf¨uhrung in die Numerik, Sommersemester 2017
1. Nat¨urliche Matrizennormen (6 Punkte)
Man zeige, dass f¨ur jede Vektornorm k · k auf Kn durch
kAk:= sup
x∈Kn\{0}
kAxk
kxk = sup
x∈Kn,kxk=1
kAxk
eine mit ihr “vertr¨agliche” Matrizennorm erkl¨art ist. Diese wird als die von k · k erzeugte
“nat¨urliche” Matrizennorm bezeichnet. Warum kann die Quadratsummennorm (die soge- nannte “Frobenius-Norm”)
kAkFR=
n
X
i,j=1
|aij|2
1/2
keine nat¨urliche Matrizennorm sein?
2. St¨orungssatz f¨ur lineare Gleichungssysteme (4 Punkte) Man betrachte das lineare Gleichungssystem
1
2 1 1 2 2 −1
x1
x2
= 1
1
.
Wie klein sind die vom St¨orungssatz garantierten relativen Fehler kδxkkxk1
1 und kδxkkxk∞
∞, wenn der relative Fehler in der Systemmatrix h¨ochstens 1% und der in der rechten Seite h¨ochstens 3%
betr¨agt (gemessen in der jeweiligen Norm)? Man zeichne die Punktmenge im R2, in denen die L¨osung x+δx des gest¨orten Systems nach dem St¨orungssatz liegt.
Hinweis:Man berechne die Inverse der Koeffizientenmatrix und bestimme damit diel1- und diel∞-Kondition.
3. Dreiecksmatrizengruppen (6 Punkte)
Unter einer “LR-Zelegung” einer regul¨aren Matrix A ∈Rn×n versteht man allgemein eine Produktzerlegung der Form A =LR mit einer unteren Dreiecksmatrix L, mit Einsen auf der Hauptdiagonalen, und einer (regul¨aren) oberen Dreiecksmatrix R.
(a) Man verifiziere, dass die regul¨aren unteren Dreiecksmatrizen L∈Kn×n, mit Einsen auf der Hauptdiagonalen, und ebenso die allgemeinen regul¨aren oberen Dreiecksmatrizen R ∈ Kn×n bez¨uglich der ¨ublichen Matrizenmultiplikation Gruppen bilden. Sind diese Gruppen abelsch?
(b) Man zeige damit, dass die mit dem Gaußschen Verfahren erzeugte LR-Zerlegung (oh- ne Pivotierung) einer regul¨aren Matrix A ∈ Kn×n eindeutig bestimmt ist (falls sie existiert).
PA. Gauß-Elimination (4 + 4 + 1 + 1 + 2 + 3 = 15 Punkte) Das Ziel dieser ¨Ubung ist, dass Sie die Gauß-Elimination so weit verstehen, dass Sie sie implementieren und anwenden k¨onnen.
(a) Schreiben Sie eine Funktionp = lu decomp(A). Sie erwartet als Argument eine quadra- tischen×n-Matrix, auf deren Elementen die Gauß-Elimination mit Spaltenpivotierung zur Zerlegung P A = LR ohne zus¨atzlichen Speicher f¨ur L und R durchgef¨uhrt wird.
Die PermutationP soll in der Integer-Liste pkodiert sein.Hinweise: Sie sollten sich an folgendem pythonischen Code-Fragment orientieren:
p = list(range(n)) for k in range(n-1):
# ...
# swap rows k and i
p[k], p[i] = p[i], p[k] # swap using "tuple unpacking"
A[[k,i],:] = A[[i,k],:]
# ...
Im Anschluss k¨onnen Sie die Permutation P b eines Vektors b einfach durch b[p] er- halten. Falls Sie die Originalmatrix im Anschluss nochmal brauchen, m¨ussen Sie vor dem Aufruf von lu decomp eine Kopie mittels A orig = A.copy() anlegen, da A mit
der LR-Zerlegung ¨uberschrieben wird. (4P)
(b) Schreiben Sie eine Funktion x = lu solve(p, A, b), die mit der LR-Zerlegung in p und A das System LR = P b durch Vorw¨arts- und R¨uckw¨artseinsetzen l¨ost. Das Ar- gument b sollte dabei eine n×m-Matrix, m ≥ 1, sein, um f¨ur mehrere rechte Seiten gleichzeitig (vektorisiert) l¨osen zu k¨onnen. F¨urm= 1 m¨ussen Sie dann m¨oglicherweise einen Vektor (f¨ur NumPy ein 1D-Array) in eine Matrix (f¨ur NumPy ein 2D-Array)res- hapen, zum Beispiel mitb = np.array([2., 7, 4]).reshape((3,1)), wenn Sie nicht b = np.array([[2.], [7], [4]])schreiben wollen. (4P) (c) Testen Sie Ihren Code an dem 3×3-Beispiel aus dem Vorlesungsskript. Solange Ihr Code nicht fehlerfrei l¨auft, k¨onnen Sie sich mit print(A) die Zerlegung nach jedem Pivotierungs- und Eliminationsschritt ausgeben und mit der Rechnung im Skript ver-
gleichen, um die Fehlerquelle einzugrenzen. (1P)
(d) Testen Sie Ihren Code f¨ur gr¨oßeren, indem Sie die InverseXeiner mitnp.random.rand erzeugten Matrix A explizit durch L¨osen von AX = In =: b ermitteln und danach kAX−Ink∞ berechnen: np.linalg.norm(A orig.dot(X) - b, np.inf) (1P) (e) Schreiben Sie eine Funktion condA = cond inf(A), welche die l∞-Konditionszahl von A durch explizite Berechnung der InversenA−1 berechnet. (2P) (f) Anwendung (Interpolation): Es sei{ϕ0, . . . , ϕN}eine Basis des RaumesPN der Polyno- me vom Grad kleiner gleichN undx0, . . . , xN ∈Rpaarweise verschiedene St¨utzstellen.
Wir betrachten die verallgemeinerte Vandermonde-Matrix Vϕ,x ∈ R(N+1)×(N+1) mit den Eintr¨agenVijϕ,x =ϕj(xi),welche die Abbildung der Koeffizientenaieines Polynoms p∈PN zur Basis {ϕi} auf seine Knotenwertebj =p(xj) abbildet
p(x) =
N
X
i=0
aiϕi(x), Vϕ,xa=b.
Plotten Sie f¨ur N = 2,4, . . . ,50 die l∞-Konditionszahl von Vϕ,x zur Monombasis ϕi(x) = xi mit ¨aquidistanten St¨utzstellen auf [−1,1] und zur Tschebytschow-Basis ϕk(x) = cos(karccos(x)) mit St¨utzstellen xi = cos(iπ/N), i= 0, . . . , N. (3P) Abgabe bis Donnerstag, 22.06.2017, 14:15 Uhr.
Webseite:
http://typo.iwr.uni-heidelberg.de/groups/mobocon/teaching/numerik-0-ss17