Arbeitseinheit 2 Erste Beispiele und Aufgaben Approximation von

Werbung
Arbeitseinheit 2
zum Software-Praktikum im Wintersemester 2008/09
Prof. Dr. Christoph Schweigert mit Dr. Urs Schreiber und Dipl.-Math. Christian Curilla
Aufgabenblatt für Endziffer 0,4,5 der Matrikelnummer. Abgabe spätestens am 4.2.2009 um 12 Uhr
Name:
Vorname:
Matrikelnummer:
Erste Beispiele und Aufgaben
In diesem Aufgabenblatt stellen wir erste Anwendungen von M APLE vor. Hierbei spielt zwar zum Teil auch
Mathematik eine Rolle, die später noch vertieft wird; Sie können diese Aufgaben aber bereits jetzt mithilfe der
vom ersten Aufgabenblattes erworbenen M APLE-Kenntnisse bearbeiten.
Dieses Aufgabenblatt ist ein Joker und kann bis zum Ende der Vorlesungszeit abgegeben werden.
1
Approximation von Quadratwurzeln
Wir möchten hier einen Algorithmus untersuchen, der Quadratwurzeln positiver reeller Zahlen a ∈ R>0
approximiert. Lesen Sie hierzu etwa [Forster 1, §6] oder auch Kapitel 5.4. in
• K. Königsberger, Analysis I, Springer 2004.
Definieren Sie in M APLE eine Folge (xn )n∈N , deren Folgenglieder rekursiv wie folgt gegeben seien
a
1
xn +
n = 0, 1, 2, . . .
xn+1 =
2
xn
und zwar in Abhängigkeit von a ∈ R>0 und einem Startwert x0 ∈ R>0 als Routine folg:=proc(n,a,x0).
Sie können dabei ähnlich vorgehen wie bei der Definition der Routine fakult1.
Setzen Sie also in der Routine zunächst den Wert folg(0,a,x0) auf x0 fest, und berechnen Sie dann
rekursiv, indem Sie die Routine sich selbst aufrufenlassen, die höheren Folgenglieder folg(i,a,x0) aus
folg(i-1,a,x0).
Lassen Sie sich die Werte von folg(n,2,1), folg(n,3,1) sowie folg(n,4,1) für n von 1 bis 10
ausgeben. Vergleichen Sie die Ergebnisse mit denen, die Sie für folg(n,2.,1), folg(n,3.,1) sowie
folg(n,4.,1) erhalten. Verändern Sie nun den Startwert x0 , berechnen Sie zum Beispiel folg(n,2.,15)
und folg(n,3.,15).
1.1 Geben Sie die siebte Nachkommastelle der Ausgabe von folg(6,3.,20) an.
Setzen Sie Digits:=50 und vergleichen Sie die Ausgaben von folg(7,3.,20), folg(8,3.,20) und
evalf(sqrt(3)). Hierbei steht sqrt für die Wurzelfunktion (Quadratwurzel heißt auf englisch square
root).
1.2 Bis zu welcher Nachkommastelle M (einschließlich) stimmt folg(8,3.,18)
mit dem von evalf(sqrt(3)) überein? Hinweis: Bilden Sie die Differenz.
1.3 Sei M wie oben definiert. Gibt es n > 8, so dass weniger als die ersten M − 1 Ja
Nachkommastellen von folg(n,3.,20) mit denen von folg(8,3.,20) über- Nein
einstimmen?
Hinweis: Stellen Sie Beobachtungen über die Monotonie der Folge an und versuchen Sie, diese zu beweisen.
Verändern Sie den Startwert x0. Untersuchen Sie, welchen Wert Sie Digits zuweisen müssen, damit Sie
die Differenz folg(7,3.,1.9) - evalf(sqrt(3)) noch bestimmen können. Beantworten Sie nun die
folgenden Fragen. Lesen Sie gegebenenfalls auch in den eingangs erwähnten Lehrbüchern nach.
1.4 Sei x0 > 0. Überlegen Sie sich, was stimmt:
(a) Die Folge (xn )n∈N fällt für n ≥ 1 monoton.
√
(b) Es gilt xn ≥ a für n ≥ 1, unabhängig vom Startwert x0 > 0.
(a)
(b)
(c)
(c) Für gewisse Werte von x0 und a kann die Folge zwei Häufungspunkte
besitzen.
1.5 Wahr oder falsch?
√ Unabhängig von der Wahl des Startwerts x0 > 0 konvergiert Wahr
die Folge gegen a.
Falsch
1.6 Wie wählen Sie x0 , um möglichst schnelle Konvergenz zu erreichen?
√
(a) x0 sollte viel größer als der erwartete Wert für a sein.
√
(b) x0 sollte möglichst nahe am erwarteten Wert für a liegen.
√
(c) x0 sollte viel kleiner als der erwartete Wert für a sein.
(a)
(b)
(c)
1.7 Konvergiert die Folge (xn )n∈N für a > 0 und für negative Startwerte x0 gegen das
Negative der Wurzel von a?
Ja
Nein
2
Die Bailey-Borwein-Plouffe-Formel
Interessante Zahlen kann man oft durch eine Reihendarstellung numerisch berechnen. Sehr bekannt ist
beispielsweise die Formel
∞
π2
1
(1)
∑ 2= 6 ,
n=1 n
die auf Euler zurückgeht, und mit der man die Zahl π berechnen kann, siehe etwa [Forster 1, Kap 7].
Im Folgenden sollen Sie sich klar machen, dass eine Zahl verschiedene Reihendarstellungen besitzen kann,
die für die konkrete Berechnung unterschiedlich gut geeignet sein können.
Betrachten wir zunächst die Logarithmusfunktion. Erinnern Sie sich an die Taylor-Entwicklung der Logarithmusfunktion um den Entwicklungspunkt 1, siehe etwa [Forster 1, S.253]. Sie können sich die ersten
fünf Glieder dieser Entwicklung auch mithilfe des M APLE-Befehls taylor(ln(x),x=1,6) verschaffen
(kommt auf dem Aufgabenblatt Nr. 8 wieder vor). Durch Einsetzen erhalten Sie eine Reihendarstellung
der reellen Zahl ln 2.
2.1 Wie sieht diese Reihendarstellung aus:
(a)
(b)
n−1 1
(a) ln 2 = ∑∞
n=1 (−1)
n
n1
(b) ln 2 = ∑∞
n=1 (−1) n
Benutzen
Sie
auch
den
Befehl
evalf(add((-1)ˆn)/n,n=1..10))
beziehungsweise
evalf(add((-1)ˆ(n-1))/n,n=1..10)), um Ihre Antwort durch Vergleich mit dem numerischen
Wert von ln 2 zu überprüfen.
Eine andere Reihendarstellung für ln 2 erhalten Sie wie folgt. Beachten Sie zunächst, dass gilt
ln 2 = − ln(1 − 12 ) .
Verwenden Sie nun wieder die eben gefundene Taylor-Entwicklung der Logarithmusfunktion um den
Entwicklungspunkt 1.
2.2 Welche Reihendarstellung erhalten Sie?
−n
(−2)
(a) ln 2 = ∑∞
n=1
n
(a)
(b)
−n
2
(b) ln 2 = ∑∞
n=1 n
Überlegen Sie sich nun, auf Grund welcher Konvergenzkriterien die Reihendarstellungen von ln 2 aus den
obigen Aufgaben konvergieren. Betrachten Sie auch die Folge der Quotienten des n-ten und des n + 1-ten
Summanden der Reihen.
Berechnen Sie mithilfe des M APLE-Befehls add wie oben die ersten Partialsummen beider Reihenentwicklungen.
Verwenden Sie auch evalf(ln(2)); um die Partialsummen der beiden Reihenentwicklungen mit dem
numerischen Wert von ln 2 zu vergleichen.
2.3 Welche Reihendarstellung konvergiert schneller?
(a) Die aus der Entwicklung von ln(1 + 1) gewonnene Darstellung.
(a)
(b)
(b) Die aus der Entwicklung von − ln(1 − 12 ) gewonnene Darstellung.
Überraschenderweise wurde im Jahr 1995 eine neue Reihendarstellung der Zahl π entdeckt. Sie wird in
der Literatur als Bailey-Borwein-Plouffe-Formel bezeichnet und lautet:
∞
4
2
1
1
−k
π = ∑ 16
−
−
−
8k + 1 8k + 4 8k + 5 8k + 6
k=0
Implementieren Sie die Partialsummen dieser Reihendarstellung ∑nk=0 . . . wieder mithilfe des Befehls add
in Abhängigkeit von n. Implementieren Sie ebenso die Eulersche Formel (1). Berechnen Sie nun näherungsweise für verschiedene Werte von n den Wert von π2 /6 mithilfe der beiden verschiedenen Reihendarstellungen.
2.4 Welche Reihendarstellung konvergiert schneller?
(a) die aus der Bailey-Borwein-Plouffe-Formel
(a)
(b)
(b) die aus der Eulerschen Formel
3
Benfords Gesetz
Wir wollen in diesem Abschnitt ein Phänomen untersuchen, das als das Benfordsche Gesetz bekannt ist.
Betrachten Sie die Folge natürlicher Zahlen (2n )n∈N . Schreiben Sie die Folgenglieder im Dezimalsystem
und betrachten Sie die Folge (an )n∈N der Anfangsziffern dieser Zahlen, also
1, 2, 4, 8, 1, 3, 6, 1, 2, 5, 1, . . . .
Es gilt also an ∈ Z := {1, 2, 3, 4, 5, 6, 7, 8, 9} für alle n ∈ N.
Bezeichne #N (i) die Häufigkeit, mit der die Ziffer i ∈ Z unter den ersten N Folgegliedern a1 , a2 , . . . , aN
vorkommt.
Wir interessieren uns für die relativen Häufigkeiten der auftretenden Ziffern, also zu gegebenem N für die
rationalen Zahlen
pN (i) := #N (i)/N
für i ∈ Z.
Schreiben Sie ein M APLE Programm, dass Ihnen als Funktion von N die neun Werte pN (i) für i ∈ Z
ausgibt, und betrachten Sie diese Werte für verschiedene, hinreichend große Werte von N.
Hinweise:
1. Die in M APLE vordefinierte Funktion log10 gibt Ihnen den Logarithmus zur Basis 10; die in M APLE
vordefinierte Funktion floor gibt Ihnen die größte ganze Zahl kleiner gleich einer reellen Zahl an.
Kombinieren Sie beides, um eine Routine anfangsziffer zu schreiben, die Ihnen für eine ganze
Zahl die Anfangsziffer in ihrer Dezimaldarstellung ausgibt.
2. Verwenden Sie nun folgenden Code
ErgebnisListe:=N->[seq(anfangsziffer(2ˆi),i=0..N)];
um eine (N + 1)-elementige Liste zu erzeugen, deren i-ter Eintrag die Anfangsziffer der Zahl 2i+1
ist.
3. Laden Sie nun die Bibliothek ListTools mithilfe des Befehls with(ListTools): (mehr Informationen zu den Bibliotheken kommen auf Aufgabenblatt 3). Diese Bibliothek stellt Ihnen den Befehl
Occurrences bereit, mit dem Sie für gegebenes N in der Liste ListErgebnis(N) die Anzahl des
Auftretens einer gewissen Ziffer bestimmen können, zum Beispiel
Occurrences(3,ErgebnisListe);
Bestimmen Sie so die relativen Häufigkeiten.
3.1 Was beobachten Sie?
(a) Die Werte konvergieren für N → ∞ gegen feste Werte.
(a)
(b)
(b) Alle neun Ziffern treten mit gleicher Häufigkeit auf.
Machen Sie nun weitere Experimente, indem Sie für andere reelle Zahlen b > 0 untersuchen, wie oft
welche Ziffer als erste Ziffer der Dezimaldarstellung von bi für i = 0, . . . , N auftritt. Erweitern Sie dafür
Ihr M APLE-Programm ErgebnisListe so, dass b ein weiterer Eingabeparameter ist.
Betrachten Sie nun die Häufigkeiten der Anfangsziffern für die folgenden Werte von b:
1
b ∈ {3, 4, 10 3 }.
3.2 Was gilt?
(a) In allen drei Fällen findet man für große N ungefähr die gleichen Häufigkeiten wie bei b = 2.
(a)
(b)
(b) Nur für b = 3, 4 findet man für große N ungefähr die gleichen Häufigkeiten
wie bei b = 2.
Verschaffen Sie sich nun beliebige Statistiken. Besuchen Sie dazu etwa die Internetseiten des statistischen
Bundesamtes.
Dort finden Sie zum Beispiel für alle 15 Bundesländer Tabellen zum Thema Wahlen. Bestimmen Sie
beispielsweise die Häufigkeit der Anfangsziffern in den Stimmenzahlen für verschiedene Parteien in verschiedenen Wahlbezirken. Schreiben Sie diese in eine M APLE-Liste und berechnen Sie wieder mithilfe
von Occurrences die relativen Häufigkeiten. Vergleichen Sie diese mit den relativen Häufigkeiten aus
dem vorangegangenen Abschnitt.
Um den mathematischen Hintergrund von Aufgabe 3.1 zu verstehen, betrachten wir zunächst ein anderes
Problem.
Sei z = exp(2πiθ) mit θ ∈ R, eine komplexe Zahl vom Betrag eins. Betrachten Sie die Folge z, z2 , z3 , . . .
komplexer Zahlen. Überlegen Sie zunächst, dass alle Folgenglieder dieser Folge auch komplexe Zahlen
vom Betrag eins sind.
Lassen Sie sich nun mithilfe des Befehls pointplots aus dem Paket plots (siehe auch S. ??) die ersten
100 Glieder dieser Folge für verschiedene Werte von θ als Punkte in der komplexen Ebene ausgeben.
Wählen Sie hierbei sowohl rationale als auch irrationale Werte für θ. Verwenden Sie zum Beispiel für
θ = 1/14 etwa die folgende Syntax:
.
theta := 1/14:
z := exp(2*Pi*I*theta):
plots[pointplot]
({seq([Re(expand(zˆn)),Im(expand(zˆn))],n=1..300)});
(a)
(b)
(a) Ist θ rational, so liefert der zugehörige pointplot-Befehl ein regelmäßi- (c)
ges n-Eck. Schreibt man θ als gekürzten Bruch, so ist n gleich dem Nenner (d)
von θ.
3.3 Welche Vermutungen für die gesamte Folge liegen nahe?
(b) Ist θ rational, liefert der zugehörige pointplot-Befehl ein regelmäßiges
n-Eck. Schreibt man θ als gekürzten Bruch, so ist n gleich dem Doppelten
des Nenners von θ.
(c) Ist θ irrational, so ist die Menge {zn , n ∈ N} eine dichte Teilmenge des
Einheitskreises.
(d) Ist θ irrational, so ist die Menge {zn , n ∈ N} eine dichte Teilmenge des
Einheitskreises und die Punkte sind gleichverteilt.
Um den Zusammenhang zwischen den in den Abschnitten 2.3.1 und 2.3.3 angesprochenen mathematischen Phänomenen zu verstehen, überlegen Sie sich Folgendes. Sei a > 1 eine reelle Zahl; ihren Logarithmus zur Basis 10 zerlegen wir in seinen ganzen Anteil x und den gebrochenen Anteil:
log10 (a) = x + y
mit x ∈ N und 0 ≤ y < 1. Dann hängt die erste Ziffer in der Dezimaldarstellung von a nur von y ab.
Im Falle der Folge (2n )n∈N betrachten wir also die Folge
log10 2n = n log10 2 mod Z .
Da die Zahl log10 2 irrational ist, liegt diese Folge dicht in R/Z und ist dort sogar gleichverteilt. Die
Verteilung, die Sie am Anfang dieses Abschnitts beobachtet haben, war das Urbild dieser Gleichverteilung
unter der Logarithmusfunktion.
4
Darstellung von Primzahlen durch Quadratsummen
Wir wollen in diesem Abschnitt zwei elementare zahlentheoretische Sachverhalte mit M APLE untersuchen.
Literaturhinweise:
• J. Neukirch, Algebraische Zahlentheorie, Springer 1992, S.1-5
• A. Schmidt, Einführung in die algebraische Zahlentheorie, Springer 2007, Kapitel 2.4
(a)
(b)
(c)
(d)
Wir betrachten nun ungerade Primzahlen p. Die Frage ist, welche dieser Primzahlen sich als Summe
von Quadraten zweier natürlicher Zahlen schreiben lassen. Überlegen Sie zunächst, was eine notwendige
Bedingung dafür ist.
4.1 Überlegen Sie sich zunächst auf dem Papier, welchen Rest modulo 4 das Quadrat
einer ganzen Zahl lassen kann: (a) 0
(b) 1
(c) 2
(d) 3
4.2 Was ist richtig?
(a) Alle Primzahlen kommen in Frage.
(a)
(b)
(c)
(b) Nur die Primzahlen, für die p = 1 mod 4Z gilt, kommen in Frage.
(c) Nur die Primzahlen, für die p = 3 mod 4Z gilt, kommen in Frage.
Wir untersuchen nun mit M APLE eine Vermutung für eine hinreichende Bedingung dafür, dass eine
Primzahl p als Summe der Quadrate zweier ganzer Zahlen geschrieben werden kann, p = a2 + b2 ,
a, b ∈ Z, a 6= b.
Erstellen Sie dazu in M APLE zunächst eine Liste natürlicher Zahlen, die sich als Summe zweier Quadrate
natürlicher Zahlen schreiben lassen:
.
# erzeugt Liste mit Wiederholungen:
[seq(seq(iˆ2+jˆ2,i=0..4),j=0..4)];
# erzeugt Menge ohne Wiederholungen:
ZweiQuadrate := {seq(seq(iˆ2+jˆ2,i=0..4),j=0..4)};
Sie sollten natürlich i und j größer als 4 betrachten und in diesem Fall die Ausgabe des Ergebnisses durch
Verwendung von : unterdrücken.
Erstellen Sie sich nun mithilfe des Befehls ithprime(n), der die n-te in M APLE gespeicherte Primzahl
ausgibt, eine (ungeordnete) Liste ungerader Primzahlen
.
primGroesser2 := \{seq(ithprime(i),i=2..10)\};
# 2=ithprime(1) kommt in der Liste nicht vor
Wiederum sollten Sie natürlich mehr als nur zehn Primzahlen, sondern alle vierstelligen Primzahlen untersuchen.
Bilden Sie nun mithilfe des Befehls intersect die Schnittmenge
.
ZweiQuadUndPrimGroesser2 := ZweiQuadrate intersect primGroesser2;
Überlegen Sie sich, wie groß Sie i und j in Abhängigkeit des größten Elements von primGroesser2
mindestens wählen sollten, damit obige Schnittmenge so groß wie möglich wird. Sie sollten hierbei alle
vierstelligen Primzahlen untersuchen.
Benutzen Sie den Befehl
ZweiQuadUndPrimGroesser2 mod 4
um sich davon zu überzeugen, dass alle untersuchten Primzahlen, die sich als Summe zweier Quadrate
schreiben lassen, tatsächlich Rest 1 modulo 4 lassen.
Überprüfen
Sie
nun,
ob
sich
auch
umgekehrt
alle
Primzahlen
p = 1 mod 4Z
(kleiner
oder
gleich
der
größten
Primzahl
pmax
in
ZweiQuadUndPrimGroesser2) als Summe zweier Quadrate schreiben lassen. Erstellen Sie dazu eine Liste Prim1mod4 aller Primzahlen p, die p = 1 mod 4Z sowie p ≤ pmax erfüllen. Wir verschaffen uns
zunächst pmax :
.
# misst die Laenge der Liste:
l := nops(ZweiQuadUndPrimGroesser2);
# waehlt das letzte (=groesste) Element aus:
pMax := ZweiQuadUndPrimGroesser2[l];
Um die Zahl der Elemente der Liste zu bestimmen, haben wir den Befehl nops verwendet. Dieser steht
für number of operators. Man beachte die unmathematische Verwendung des Worts operator!
Um Prim1mod4 zu erstellen, definieren wir eine Funktion, die die Primzahlen p = 1 mod 4Z kleiner gleich
pmax auswählt
.
f:= i -> if ithprime(i) mod 4 = 1
and ithprime(i) <= pMax
then ithprime(i) fi;
Prim1mod4 := {seq(f(i),i=2..10)};
Bilden Sie nun mithilfe des Befehls minus die Menge
.
Prim1mod4 minus ZweiQuadUndPrimGroesser2
4.3 Wahr oder falsch? Ist diese Liste leer, so lassen sich alle untersuchten Primzahlen
p = 1 mod 4Z als Summe zweier Quadrate schreiben.
Wahr
Falsch
4.4 Finden Sie Beispiele von Primzahlen p = 1 mod 4Z, die sich nicht als Summe Ja
zweier Quadrate schreiben lassen?
Nein
Literaturhinweis:
• J. Neukirch, Algebraische Zahlentheorie, Springer 1992, S.1-5
• A. Schmidt, Einführung in die algebraische Zahlentheorie, Springer 2007, Kapitel 2.4
Wir stellen uns nun die Frage, welche natürlichen Zahlen sich als Summe von vier Quadraten ganzer
Zahlen schreiben lassen. Stellen Sie eine Vermutung auf und testen Sie diese mit einem ähnlichen M APLEProgramm wie oben.
4.5 Welche Vermutungen ergeben sich aus Ihren Untersuchungen?
(a) Jede Primzahl sollte sich als Summe von vier Quadraten schreiben lassen.
(a)
(b)
(b) Jede natürliche Zahl sollte sich als Summe von vier Quadraten schreiben
lassen.
Literaturhinweis:
• A. Schmidt, Einführung in die algebraische Zahlentheorie, Springer 2007, Kapitel 2.4
Die Aufgaben dieser Einheit müssen Sie bis zu dem Datum bearbeitet haben, das oben auf dem Blatt erscheint.
c Bahns, Schweigert, Waldorf.
Herunterladen