Lineare Algebra I - Mathematik@TU

Werbung
TECHNISCHE
UNIVERSITÄT
DARMSTADT
Fachbereich Mathematik
Prof. Dr. Christian Herrmann
Matthias Bergner
Lars Schewe
Wintersemester
2004/2005
2./3. Dezember 2004
Lineare Algebra I
7. Übung mit Lösungshinweisen
Aufgabe G1 Bestimme x (und ggf. y und z) in den folgenden Ausdrücken:
(a) 825 + 615 + 34 ≡ x mod 7
Lösung: x ≡ 825 + 615 + 34 ≡ 125 + (−1)15 + 81 ≡= 1 − 1 + 4 ≡ 4 mod 7
(b) x · 7 ≡ 1 mod 11
Lösung: Der euklidische Algorithmus liefert: 8 · 7 − 5 · 11 = 1. Somit können wir x = 8
setzen.
(c) z = ggT(45, 34) = 45x + 34y
Lösung: Der euklidische Algorithmus liefert: (−3) · 45 + 4 · 34 = 1. Somit gilt: x = −3, y = 4
und z = 1.
(d) 91x + 26y = 1001
Lösung: Der euklidische Algorithmus liefert: 91−3·26 = 13. Somit gilt 11·7·(1·91−3·26) =
1001. Also 77 · 91 − 231 · 26 = 1001.
Aufgabe G2 In dieser Aufgabe wollen wir uns ein paar mehr oder weniger bekannte Teilbarkeitsregeln anssehen. Hierzu müssen wir zunächst Darstellung für eine ZahlP
im Dezimali
system festlegen. Wir schreiben für eine Zahl n ∈ Z mit n ≥ 0 wie folgt n = m
i=0 ai · 10 ,
wobei für die ai ∈ {0, . . . , 9} gilt. Mache Dir zunächst klar, dass die ai einfach die Ziffern in
der üblichen Dezimaldarstellung sind. Formuliere folgende Aussagen als Teilbarkeitsregeln
und beweise sie dann:
(a) a0 ≡ n mod 2
Lösung: n =
Pm
i=0
ai · 10i ≡ a0 +
Pm
· 10i ≡ a0 +
i=1 ai
Pm
i=1 0
ia
i
≡ a0
mod 2
(b) 10a1 + a0 ≡ n mod 4
Lösung: n =
mod 4
(c)
Pm
i=0
(d)
i=0
ai · 10i ≡ a0 + 10a1 +
Pm
i=2
ai · 10i ≡ a0 + 10a1 +
Pm
i=2
0i ai ≡ a0 + 10a1
ai ≡ n mod 9
Lösung: n =
Pm
Pm
i=0 (−1)
i
Pm
i=0
ai · 10i ≡
Pm
i=0 ai 1
i
≡
Pm
i=0
ai mod 9
ai ≡ n mod 11
Lösung: n =
Pm
i=0
ai · 10i ≡
Pm
i=0 ai (−1)
i
≡
Pm
i=0 (−1)
ia
i
mod 11
Aufgabe G3 In der obigen Aufgabe
einfach angenommen, dass wir jede ganze
P haben wir
i
Zahl n mit n ≥ 0, in der Form n = m
a
·
10
mit
ai ∈ {0, . . . , 9} darstellen können. Nur,
i=0 i
stimmt diese Annahme? Und vor allem, sind die ai eindeutig bestimmt?
(a) Zeige, dass jede ganze Zahl n mit n ≥ 0 eindeutig in der Form n =
ai ∈ {0, . . . , 9} dargestellt werden kann.
Pm
i=0
ai · 10i mit
Hinweis: Wie würdest Du vorgehen, wenn Du die Ziffern ausrechnen müsstest? Versuche nun, dieses Vorgehen zu formalisieren.
Lösung: Mit dem Hinweis können wir einen Algorithmus für die Berechnung der a i angeben.
Wählen wir zunächst m so, dass 10m ≤ n < 10m+1 gilt. Nun können wir folgende Schritte
durchführen:
1. Setze j:=m.
2. Bestimme durch Division mit Rest q und r so dass n = q10 j + r gilt.
3. Setze aj := q und n := r
4. Solange j > 0, setze j := j − 1 und gehe zu Schritt 2.
Nun zeigen wir, dass dieser Algorithmus die gewünschte Darstellung liefert. Nehmen wir
hierzu an, es gäbe ein oder mehrere Zahlen für die der Algorithmus nicht funktioniert. Sei
n die kleinste unter diesen. Nun setzen wir m, wie gewünscht, so dass 10 m ≤ n < 10m+1 .
Dies geht offensichtlich eindeutig für alle n. Mit Algorithmus 8.8 aus dem Skript erhalten
wir nun q und r, so dass n = 10m q + r sowie 0 ≤ q < 10 und r < 10m gilt (Warum?). Wenn
wir am = q setzen, erhalten wir also n = am · 10m + r. Da nun aber nach Annahme n die
kleinste Zahl war, für die der P
Algorithmus nicht funktioniert, muss er für r funktionieren.
Somit erhalten wir, dass r = ti=0 ai 10i gilt, mit 0 ≤ ai ≤ 9. Da aber r < 10m war, muss
t < m gelten. Somit können wir die Darstellungen
kombinieren (indem wir ggf. für t < i < m
P
i im Widerspruch zur Annahme. Damit sind
a
10
die ai = 0 setzen) und erhalten n = m
i=0 i
wir fertig.
(b) Allgemeiner,
sei b ≥ 2. Zeige dass jede ganze Zahl n mit n ≥ 0 eindeutig in der Form
Pm
n = i=0 ai · bi mit ai ∈ {0, . . . , b − 1} dargestellt werden kann.
Lösung: Der Beweis geht genauso wie in Aufgabenteil (a).
Aufgabe G4 Wir betrachten die Zahl n! = 1 · 2 · · · (n − 1) · n. Wie oft taucht nun der
Faktor 2 in n! auf? Anders formuliert: Finde 2 (n) so, dass 22 (n) | n! und 22 (n)+1 - n!. Gib
ein Verfahren an, mit dem man 2 (n) effektiv ermitteln kann. Teste Dein Verfahren mit
kleinen Zahlen, z.B. n = 10 oder n = 100.
Hinweis: Betrachte n in seiner Binärdarstellung. Zum Vergleich: 2 (100) = 97.
Lösung: Hier kurz das Verfahren (ohne Beweis):
1. Setze e := 0 und m := n.
2. Setze m := b m
2 c.
3. Setze e := e + m.
4. Wenn m = 0 gilt, sind wir fertig und 2 (n) = e. Ansonsten gehen wir wieder zu Schritt 2.
Hierbei ist bqc definiert als die größte ganze Zahl n für die n ≤ q gilt; salopp gesprochen, wir
runden ab. Mit der Binärdarstellung hat dieses Verfahren insoweit zu tun, als dass die Division
durch 2 mit anschließendem Abrunden nichts Anderes ist als das Fallenlassen der letzten Stelle in
der Binärdarstellung.
Hausübungen
Aufgabe H1 Die Internationale Standard-Buch-Nummer (ISBN) besteht aus neun Ziffern
d1 , . . . , d9 ∈ {0, . . . , 9} und einer Prüfziffer d10 ∈ {0, . . . , 9, X}, wobei X = 10. Die Prüfziffer
d10 wird nun so bestimmt, dass folgende Gleichung erfüllt wird:
10d1 + 9d2 + · · · + 2d9 + d10 ≡ 0
mod 11.
(1)
Wenn wir nun testen wollen, ob eine ISBN korrekt übermittelt wurde, können wir einfach
diese Gleichung überprüfen. Immer wenn sie nicht erfüllt wird, wissen wir sicher, dass die
ISBN falsch übermittelt wurde. Wie aber steht es mit der Umkehrung, welche Fehler kann
die Prüfziffer nicht entdecken?
(a) Prüfe für die ISBN eines beliebigen Buches die Gleichung (1) nach.
(b) Versuche nun diese ISBN möglichst wenig zu ändern, so dass Dein Ergebnis immer
noch die Gleichung (1) erfüllt.
(c) Nehmen wir nun an, die ISBN würde in einer Stelle i falsch übermittelt. Zeige, dass
dieser Fehler durch die Prüfziffer immer entdeckt werden kann.
P10
Lösung: Für eine Ziffernfolge (di )10
i=1 betrachten wir die Funktion I(d) :=
i=1 (11 − i)di .
10 , die sich an genau der Stelle k unterscheiBetrachten wir nun die Folgen (di )10
und
(e
)
i
i=1
i=1
den. Nach Voraussetzung gilt I(d) ≡ 0 mod 11.
Nehmen wir nun an, es gelte auch noch I(e) ≡ 0. Betrachten wir nun I(d) − I(e). Nach
Voraussetzung gilt:
10
X
i=1
(11 − i)di −
10
X
(11 − i)ei ≡ k(ek − dk )
mod 11.
i=1
Somit müsste also nach Annahme k(e k − dk ) ≡ 0 mod 11 gelten. Da Z11 ein Körper ist,
muss nun entweder k ≡ 0 mod 11 oder ek − dk ≡ 0 mod 11 gelten. Da Ersteres nicht sein
kann (Warum?), muss Zweiteres gelten, daraus folgt aber d k = ek (Warum?). Dies steht im
Widerspruch dazu, dass d und e verschieden sind.
(d) Was passiert, wenn wir zwei beliebige Ziffern di und dj vertauschen? Wird dieser Fehler
immer entdeckt?
Lösung: Ja, auch dieser Fehler wird erkannt. Hierzu gehen wir wie oben vor und erhalten
folgende Gleichung: (i − j)(dj − di ) ≡ 0 mod 11. Diese Gleichung ist aber nur erfüllt, wenn
i = j oder di = dj gilt. Somit wird jede Vertauschung zweier Ziffern erkannt.
Aufgabe H2 Eine Möglichkeit verschiedene Körper zu unterscheiden besteht darin ihre sogenannte Charakteristik zu betrachten. Hierzu definieren wir: Sei K ein Körper,
dann sagen wir K habe Charakteristik p, wenn p die kleinste positive Zahl ist, so dass
1| + ·{z
· · + 1} = 0 gilt. Ansonsten sagen wir, K habe Charakteristik 0.
p−mal
(a) Zeige, dass die Charakteristik von Zp gleich p, die von R hingegen gleich 0 ist.
(b) Zeige, dass jeder endliche Körper eine Charakteristik p > 0 hat. Betrachte hierzu die
Folge (ai )i∈ die durch a0 = 0 und ai+1 = ai + 1 definiert ist. Was bedeutet es, wenn
es i und j gibt, so dass ai = aj gilt?
Lösung: Da jede nicht-leere Teilmenge von N ein Minimum hat, reicht es zu zeigen, dass
es mindestens ein k gibt, so dass 1| + ·{z
· · + 1} = 0 gilt. Betrachten wir nun die Folge (a i )i∈
k−mal
aus dem Hinweis. Sobald wir ein k gefunden haben, dass a k = 0 sind, sind wir nach oben
Gesagtem fertig. Da K ein Körper ist, gilt für alle i ∈ N, dass a i ∈ K ist. Da K nach
Voraussetzung endlich ist, muss es i und j geben, so dass a i = aj und i < j gilt (Warum?).
Nun gilt aj = ai + aj−i (Wieso?). Da K ein Körper ist, gilt also a j−i = 0. Wenn wir also
k = j − i setzen, sind wir fertig.
(c) Sei K ein Körper von Charakteristik p. Zeige, dass p immer prim sein muss.
Lösung: Nehmen wir an, p sei nicht prim. Es gibt also Zahlen q, r ∈ N \ {0, 1}, so dass
p = qr gilt. Setzen wir a = 1| + ·{z
· · + 1}. Nun gilt a 6= 0 (Wieso?). Nach Definition von a
r−mal
gilt aber auch die Gleichung a
· · + a} = 0 (Warum?). Somit gilt 0 = a(1| + ·{z
· · + 1}). Da
| + ·{z
q−mal
q−mal
nun aber a 6= 0 gilt, dürfen wir kürzen, so dass wir 0 = 1| + ·{z
· · + 1} erhalten. Das ist der
q−mal
gesuchte Widerspruch (Wieso?). Somit kann p nicht zusammengesetzt gewesen sein. Also
gilt die Behauptung.
Aufgabe H3 In den ”Neun Büchern arithmetischer Technik” (Übers. Kurt Vogel, Vieweg
1968) einem chinesischen Lehrbuch aus der Han-Zeit (202 v. Chr – 9 n. Chr.) finden wir
folgenden Algorithmus um einen Bruch zu kürzen:
Die Regel lautet: Das, was halbiert werden kann, halbiere es; kann man es nicht
halbieren, dann lege <auf das Rechenbrett> hin den Betrag von Nenner <und> Zähler
des Bruches. Um das Kleinere vermindere das Größere. Verändere <die Zahlen> durch gegenseitiges Subtrahieren <sie> verkleinernd, bis Du die gleichen Zahlen bekommst. Mit der gleichen Zahl kürze es.
Schreibe den Algorithmus in Deinen eigenen Worten auf, so dass die Anweisungen eindeutig
sind. Liefert er immer das korrekte Ergebnis? Wenn Du möchtest, implementiere ihn in einer
Programmiersprache Deiner Wahl; warum wurden Varianten dieses Algorithmus gerne bei
der Implementation in Assembler verwendet?
Lösung: Hier eine Umschrift, die sehr nahe am obigen Text ist, der Bruch, den wir betrachten
habe Zähler p und Nenner q.
1. Solange p | 2 und q | 2 gilt, setze p :=
p
2
und q := 2q .
2. Setze nun k := p und l := q.
3. Wenn k = l gilt, gehe zu Schritt 6.
4. Wenn k < l gilt, setze l := l − k, ansonsten k := k − l.
5. Gehe zu Schritt 3.
6. Setze p :=
p
k
und q := kq .
Die Korrektheit folgt dann aus der Feststellung, dass für a > b folgt, dass ggT(a, b) = ggT(a−b, b)
gilt.
Dieser Algorithmus läßt sich zu einer Variante des euklidischen Algorithmus umschreiben (siehe
D. E. Knuth, The Art of Computer Programming, Vol. II, Sect. 4.5.2). Diese Variante war in
der Implementation insbesondere dann beliebt, wenn die Division langsam war, da diese Variante
ohne Divisionen, sondern nur mit Registershifts auskommt.
Herunterladen