Kapitel 5
Ungelöste Rätsel

2   Die Riemannsche Vermutung

  • Kurzüberblick (siehe auch http://www.musicoftheprimes.com/ ):

    Die Riemannsche Vermutung ist vielleicht das berühmteste und wichtigste ungelöste Problem der Mathematik. Seine Lösung ist eine Million US-Dollar wert. Letztlich geht es bei der Riemannschen Vermutung darum, die multiplikativen Grundbausteine der natürlichen Zahlen zu verstehen: die Primzahlen. Kann man ihre Verteilung im Meer der natürlichen Zahlen verstehen? Wie lange muss man weiterzählen, bis die nächste Primzahl kommt? Warum erscheint die jeweils nächste Primzahl wie zufällig mal bereits nach wenigen Schritten, mal dagegen erst nach großem Abstand? Gibt es hier vielleicht ein verstecktes Muster?

    Riemann gelang es mit Hilfe der komplexen Zahlen, die Verteilung der Primzahlen in eine mathematische Landschaft über einer zweidimensionalen Ebene zu übersetzen (die sogenannte Zeta-Funktion). Die Topographie dieser Landschaft enthält dabei das gesamte Wissen über die Primzahlen. Insbesondere genügt es, die Punkte auf Meereshöhe (die Nullstellen) zu kennen, um die gesamte Landschaft rekonstruieren zu können. Daher enthalten die Nullstellen alle Informationen über die Verteilung der Primzahlen. Riemann entwickelte eine konkrete Formel, um aus den Nullstellen die Verteilung der Primzahlen zurückzugewinnen. Dabei wirkt jede Nullstelle wie die Quelle für eine sich ausbreitende Welle, die man sich wie einen akustischen Ton vorstellen kann. Die Töne aller Nullstellen überlagern sich zur Verteilung der Primzahlen. Dabei ist eine Nullstelle umso lauter, je weiter östlich (rechts von der y-Achse) sie liegt, und ihr Ton ist umso höher, je weiter nördlich (oberhalb der x-Achse) sie liegt.

    Zu seiner Überaschung fand Riemann, dass alle von ihm berechneten Nullstellen gleich laut sind, und dass die Tonleiter der beitragenden Töne bis zu beliebig hohen Tönen weitergeht. Die (unendlich vielen) Punkte auf Meereshöhe (die eine Lautstärke größer als Null besitzen) liegen scheinbar alle auf einer Geraden parallel zur y-Achse, die rechts neben der y-Achse in einem Abstand von 1/2 zu dieser Achse verläuft. Es gibt nur ein Problem: Weder Riemann noch sonst irgend jemand konnte dies bis heute beweisen! Man spricht daher von der Riemannschen Vermutung.

    Die Riemannsche Vermutung behauptet also, dass tatsächlich jede der unendlich vielen tongebenden Nullstellen auf dieser Geraden liegt, d.h. dass alle Töne in der Musik der Primzahlen gleich laut sind. Dies würde bedeuten, dass man sich die Primzahlverteilung tatsächlich gleichsam gewürfelt vorstellen kann: Man geht alle natürlichen Zahlen durch und würfelt jedesmal, ob man die aktuelle Zahl als Primzahl ansehen möchte. Dabei hängt die Wahrscheinlichkeit, mit der der Würfel Primzahl anzeigt, von der aktuellen Zahl ab (denn Primzahlen werden bei größeren Zahlen immer seltener). Natürlich würde man auf diese Weise nicht die wirklichen Primzahlen finden, aber die statistischen Eigenschaften unserer gewürfelten Primzahlverteilung wären dieselben wie bei der tatsächlichen Primzahlverteilung.

Es geht also in diesem Kapitel um eines der wohl berühmtesten offenen Rätsel der Mathematik: die Riemannschen Vermutung. Wie bereits das P=?NP-Problem gehört auch die Riemannsche Vermutung zu den sieben Millenium Prize Problems, und ein Beweis ist wieder eine Millionen US-Dollar wert (siehe http://www.claymath.org/Millennium_Prize_Problems/Riemann_Hypothesis/).

Die Riemannsche Vermutung gehörte bereits vor über 100 Jahren zu den wichtigsten mathematischen Problemen. Hilbert sagte dazu in seinem berühmten Vortrag (gehalten auf dem internationalen Mathematiker-Kongreß zu Paris 1900):

Wir sehen also, dass die Riemannsche Vermutung etwas mit den Nullstellen einer bestimmten Funktion ζ(s) zu tun hat, und dass diese Funktion eine Verbindung zu Primzahlen aufweist. Viele Beweise der Zahlentheorie, aber auch Beweise in anderen mathematischen Bereichen enthalten heute Sätze wie "Unter der Voraussetzung, dass die Riemannsche Vermutung zutrifft ...". Sogar die moderne Physik scheint bei Themen wie Quantenchaos oder Energieniveaus von Atomkernen Berührungspunkte mit der Riemannschen Vermutung zu haben.


Um eine anschauliche Vorstellung von der Bedeutung der Riemannschen Vermutung zu bekommen, wollen wir uns wie Riemann vor etwa 150 Jahren mit den Primzahlen beschäftigen.



Bernhard Riemann (1826 - 1866),
Quelle: Wikipemia Commons File:Georg Friedrich Bernhard Riemann.jpeg, gemeinfrei


Primzahlen sind natürliche Zahlen, die sich ohne Rest nur durch 1 und durch sich selbst teilen lassen. Die ersten Primzahlen lauten

wobei wir eine (recht große) Lücke nach 97 gelassen haben (siehe z.B. http://www.primzahlen.de/index.htm). Die größte zur Zeit (2003) bekannte Primzahl ist mit 4.053.946 Stellen die Zahl

Wenn Sie dieses Kapitel lesen, gibt es vielleicht schon wieder eine noch größere Primzahl -- die Rekorde fallen hier relativ schnell.

Bereits der antike griechische Mathematiker Euklid kannte vor 2300 Jahren den Beweis dafür, dass es unendlich viele Primzahlen gibt. Wir wollen den relativ einfachen Beweis hier überspringen.

Primzahlen erscheinen wie zufällig zwischen den anderen Zahlen verstreut zu sein. Dabei macht man die Beobachtung, dass Primzahlen immer seltener werden, je größer die betrachteten Zahlen sind. Folgen Primzahlen vielleicht annähernd einem Verteilungsgesetz, so wie dies statistische Größen (z.B. die Summe der gezogenen Lottozahlen einer Ziehung) tun?

Fragen dieser Art ließen sich leicht beantworten, wenn man eine relativ einfache Rechenformel (nennen wir sie f) finden könnte, mit der man die n-te Primzahl (nennen wir sie pn) einfach berechnen kann:

Dann wäre   f(1)=2,   f(2)=3,   f(3)=5,   f(4)=7,   ...,   f(25)=97,   ...   usw.. Gibt es eine solche einfache Rechenformel?

Seit 1912 weiß man, dass ein nichtkonstantes Polynom mit rationalen Koeffizienten keine solche Formel liefern kann, denn für unendlich viele Werte von n liefert ein solches Polynom nicht-prime Werte. Gibt es also noch andere Kandidaten für die Primzahl-Rechenformel?

Eine einfache Formel der Form   pn = f(n)   ist mir nicht bekannt. In Kapitel 3.5 haben wir allerdings gesehen, dass es ein Polynom 25ten Grades mit 26 natürlichen Variablen gibt, dessen positive Werte gerade die Menge der Primzahlen ergibt. Meistens allerdings ist der Wert des Polynoms negativ. Nur für ganz bestimmte Werte-Kombinationen der 26 natürlichen Variablen ist das Polynom positiv und ergibt dann eine Primzahl. Diese Werte-Kombinationen für die 26 Variablen zu finden ist dabei die eigentliche Aufgabe. Man kann diese Kombinationen durch Lösen eines komplizierten Gleichungssystems ermitteln. Der dazu notwendige Rechenaufwand ist jedoch enorm, so dass sich dieses Verfahren nicht zur tatsächlichen Berechnung von Primzahlen eignet. Daher liefert auch dieses Verfahren keine einfache Formel zur Berechnung von Primzahlen.


Zurück zu unserer Frage:
Gibt es ein Verteilungsgesetz für Primzahlen analog zu der Verteilung bei Zufallsgrößen?
Oder anders gefragt:
Wieviele Primzahlen befinden sich innerhalb eines vorgegebenen Zahlenintervalls?
Wieviele Primzahlen befinden sich also beispielsweise im Bereich zwischen 1 000 000 000 und 2 000 000 000 ?

Bei kleinen Zahlenbereichen helfen hier natürlich die verfügbaren Tabellen der bisher berechneten Primzahlen weiter. Irgendwann jedoch stoßen diese Tabellen an ihre Grenzen, und einen halbwegs brauchbaren Algorithmus, um sie weiterzuführen, gibt es nicht. Es gibt jedoch relativ effiziente Wege, auch ohne genaue Kenntnis der Primzahlen die Anzahl Primzahlen in großen Zahlenbereichen zu berechnen.

Um die weitere Diskussion zu vereinfachen, wollen wir die folgende Schreibweise einführen:

So gibt es z.B. 4 Primzahlen, die kleiner-gleich 10 sind (nämlich die Primzahlen 2, 3, 5 und 7), d.h. π(10) = 4. Analog gibt es 9 Primzahlen, die kleiner-gleich 25 sind, d.h. π(25) = 9. Wieviele Primzahlen gibt es nun, die größer als 10 sind und kleiner-gleich 25? Die Antwort lautet π(25) - π(10) = 9 - 4 = 5 (nämlich die Zahlen 11, 13, 17, 19 und 23). Die Funktion π(x) ermöglicht es uns also, die Anzahl Primzahlen innerhalb beliebiger Zahlenintervalle anzugeben.

Die folgende Grafik zeigt die Funktin π(x) bis x = 60 (Quelle: Wikimedia Commons File:PrimePi.PNG, Public Domain):


[Graph of pi(x), 0<x<60]


Man sieht in dieser Grafik sehr schön, wie immer wieder eine neue Primzahl hinzukommt, so dass π(x) an dieser Stelle um Eins ansteigt. Die entsprechenden Stufen sind dabei recht zufällig verteilt, d.h. es ist schwierig, vorherzusagen, wann genau eine neue Primzahl hinzukommt. Insgesamt sieht man aber doch, dass die Stufen einem gewissen Verteilungsgesetz zu folgen scheinen. Man hat den Eindruck, als ob man π(x) durch irgendeine glatte Kurve wenigstens annähernd beschreiben (approximieren) kann. Dies wird deutlicher, wenn wir uns einen größeren Bereich ansehen, z.B. bis x = 1000 (ein entsprechendes Bild findet man unter Chris K. Caldwell: How Many Primes Are There? http://primes.utm.edu/howmany.shtml ). Vollkommen glatt erscheint die Kurve von π(x), wenn wir bis   x = 1 000 000   gehen (das entsprechende Bild findet man auf der obigen Webseite unter http://primes.utm.edu/gifs/pi1000000.gif ).

Die Graphiken legen nahe, dass man π(x) durch eine glatte (d.h. stetig-differenzierbare) Funktion f(x) approximieren kann. Diese Funktion würde zwar nicht die einzelnen Stufen von π(x) im Detail erfassen, aber sie sollte doch wenigstens annähernd den Verlauf von π(x) wiedergeben, besonders für große x, bei denen die einzelnen Stufen kaum noch ins Gewicht fallen. Mit einer solchen Funktion könnten wir beispielsweise Schätzwerte von π(x) für besonders große Werte von x ermitteln, für die sich π(x) selbst nicht mehr berechnen lässt.

Was aber meinen wir mit approximieren genau? Die Idee ist, dass für große x-Werte der prozentuale Unterschied zwischen π(x) und der approximierenden Funktion f(x) immer kleiner wird. Er soll beliebig klein werden, wenn wir nur x genügend groß werden lassen. Wichtig ist dabei, dass wir über den prozentualen (also den relativen) Unterschied reden, und nicht über den absoluten! Das bedeutet: Nicht |f(x) - π(x)| soll klein werden, sondern |f(x) - π(x)|/π(x) . Anders ausgedrückt: f(x)/π(x) soll für große x beliebig nahe an 1 heranrücken. Halten wir also fest:

Ein Beispiel: Die Normalparabel g(x) = x2 lässt sich durch die Funktion f(x) = x2 + x (das ist eine leicht nach links unten verschobene Parabel) approximieren, denn f(x)/g(x) = (x2 + x)/x2 = 1 + 1/x nähert sich für große x immer mehr an 1 an. Der relative Unterschied wird immer kleiner, der absolute Unterschied (der gleich x ist) dagegen nicht.

Gibt es nun Funktionen, mit denen man π(x) in diesem Sinn approximieren kann?

Im Lauf der Zeit fand man einige Kandidaten, bei denen der Vergleich mit Tabellen von π(x) nahelegte, dass man mit ihnen π(x) approximieren könnte. Ein solcher Kandidat ist die einfache Funktion x/log x , wobei log x der natürliche Logarithmus (zur Basis e = 2,71828182845904) ist. Häufig bezeichnet man diese Beobachtung auch als den Primzahlsatz:

Auf den Beweis dieser Beobachtung gehen wir erst weiter unten ein, d.h. streng genommen müssten wir momentan noch von einer Primzahl-Vermutung sprechen.

Nun ist x/log x nicht der einzige Kandidat. Beispielsweise kann man statt x/log x auch die Funktion x/(log x - c) nehmen, wobei c eine beliebige relle Zahl ist. Die Zahl c fällt nämlich für große x immer weniger ins Gewicht, so dass sie das asymptotische Verhalten für große x nicht beeinflusst. Daher können wir auch sagen:

In dieser Form wurde der Primzahlsatz zum ersten mal im Jahr 1798 von Legendre erwähnt. Legendre versuchte dabei, die Zahl c so zu bestimmen, dass die Approximation auch für kleinere x möglichst gut mit den damals bekannten Werten von π(x) übereinstimmte. Er erhielt den Wert c = 1,08366 . Heute weiß man, dass der einfache Wert c = 1 am besten funktioniert.

Ein anderer Kandidat stammt von dem großen deutschen Mathematiker C.F.Gauß (vermutlich aus dem Jahr 1791, zum ersten mal erwähnt in einem Brief von Gauß an den Astronom Hencke im Jahr 1849 und zuerst veröffentlicht im Jahr 1863):



Carl Friedrich Gauß (1777-1855),
Ausschnitt aus einem Gemälde von Gottlieb Biermann, 1887,
Quelle: Wikimedia Commons File:Carl Friedrich Gauss.jpg , gemeinfrei.


Oft wird das Integral auch von 0 statt von 2 an genommen, wobei dann noch eine Vorschrift hinzugefügt werden muss, wie mit dem Pol bei 1 umzugehen ist (denn log(1)=0 ). Für große x-Werte und damit für das asymptotische Verhalten von   li(x)   spielt das jedoch keine Rolle. Wir verwenden hier generell das Integral von 2 bis x.

Die Funktion   li(x)   lässt sich nicht durch andere elementare Funktionen als geschlossene Formel ausdrücken. Deshalb ist die einzige präzise Möglichkeit, sie direkt über das Integral anzugeben.   li(x)   ist also die Fläche unter der Funktion 1/log t von t=2 bis t=x :


Integrand 1/log t der Funktion li(x).


Wie man sieht, handelt es sich bei   li(x)   um eine sehr einfache Funktion, die sich leicht mit Computern berechnen lässt. Dass eine Approximation für   π(x)   über eine Fläche unter der Funktion 1/log t zustande kommen kann, dafür liefert der folgende Gedankengang eine anschauliche Interpretation: Man trage auf der x-Achse alle Primzahlen ein. Zwischen je zwei Primzahlen zeichnet man nun eine Stufe ein, so dass der Flächeninhalt dieser Stufe gleich 1 ist. Die y-Höhe einer Stufe, die von der Primzahl pn bis zur Primzahl pn+1 geht, ist also gleich   1/(pn+1 − pn)   . Die Gesamtfläche unter dieser Stufenfunktion von 2 bis x ist dann (bis auf den Rest der letzten angefangenen Stufe, den man noch hinzunehmen muss) gleich der Anzahl Primzahlen kleiner-gleich x, also gleich π(x). Wenn man sich nun vorstellt, dass man die Stufen glättet, so kann man sich vorstellen, wie dadurch die Funktion 1/log x entsteht. Das folgende Bild zeigt den Vergleich zwischen dieser Stufenfunktion und dem Integranden 1/log x bis ungefähr 100. Man erkennt, dass die Funktion 1/log x in diesem Bereich deutlich über der Stufenfunktion liegt. Entsprechend überschätzt li(x) die Funktion π(x) für kleine x, wie wir unten noch sehen werden.


Integrand 1/log x der Funktion li(x) und eine Stufenfunktion, die zwischen je zwei Primzahlen eine Stufe mit Flächeninhalt 1 hat.


Der Beweis, dass sich   li(x)   asymptotisch wie   x/log x   (und damit auch wie   x/(log x - c)   ) verhält, ist nicht allzu kompliziert (siehe z.B. http://www1.informatik.uni-erlangen.de/tree/Lehre/SS97/THINF3/primzahlsatz.ps). Dazu führt man eine partielle Integration im li(x)-Integral durch und erhält

li(x)   =   x/log x   +   ∫2x   dt/(log t)2   −   2/log 2

Nun zeigt man, dass der zweite und dritte Term für große x gegenüber x/log x nicht mehr ins Gewicht fallen, d.h.
  {  ∫2x  dt/(log t)2   −   2/log 2} / (x/log x)
geht für große x gegen Null.

Welche der bisher genannten Funktionen liefert nun die beste Approximation? Es zeigt sich, dass li(x) am besten abschneidet, denn irgendwann (d.h. ab einem bestimmten x) kommt es immer näher an π(x) heran als x/(log x - c), egal welches c wir verwenden. Die folgende Tabelle aus Chris K. Caldwell: How Many Primes Are There? http://primes.utm.edu/howmany.shtml gibt hierzu einen Überblick (Legendre steht dabei für   x/(log x - 1,08366)   ):

Vergleich von Approximationen für pi(x)
x pi(x) Gauß' li(x) Legendre x/(log x - 1)
1000 168 178 172 169
10000 1229 1246 1231 1218
100000 9592 9630 9588 9512
1000000 78498 78628 78534 78030
10000000 664579 664918 665138 661459
100000000 5761455 5762209 5769341 5740304
1000000000 50847534 50849235 50917519 50701542
10000000000 455052511 455055614 455743004 454011971

Wie man sieht, ist hier stets   π(x) < li(x)   . Dies hatte bereits oben der Vergleich zwischen der Stufenfunktion und dem Integranden   1/log x   von   li(x)   nahegelegt. Die Verhältnisse ändern sich allerdings für sehr große x irgendwann, denn Littlewood bewies im Jahr 1914, dass sich die beiden Funktionen π(x) und li(x) unendlich oft schneiden, d.h. mal liegt π(x) oben, mal li(x). Wann allerdings das erste mal li(x) kleiner als π(x) wird, ist unklar. Heute weiß man nur, dass es irgendwann bei sehr großen Zahlen sein muss, aber immerhin unterhalb von   x = 10371   geschieht -- eine Zahl, die die Anzahl der Atome im sichtbaren Universum weit übertrifft (man schätzt, dass das sichtbare Universum etwa 1078 Atome enthält). Dies ist ein sehr schönes Beispiel dafür, dass ein Verhalten, welches man für sehr viele Zahlen beobachtet, noch lange nicht für alle Zahlen gelten muss. Manchmal geschehen die überaschenden Dinge erst sehr weit draußen!

Um ein Gefühl dafür zu bekommen, was man mit den Approximationen wie   x/(log x - c)   oder   li(x)   anfangen kann, möchte ich hier einige bekannte Beispiele nennen:


Wie sieht es mit einem Beweis des Primzahlsatzes aus? Ist es gelungen, zu beweisen, dass sich   π(x)   für große x durch Funktionen wie   x/log x   oder   x/(log x + 1)   oder auch   li(x)   approximieren lässt, so dass der relative Fehler für große x immer kleiner wird? Dabei genügt es, dies für einen der Kandidaten zu beweisen, denn die drei Funktionen approximieren sich ja gegenseitig für große x.

Tatsächlich gelang es im Jahr 1896 den Mathematikern Hadamard und de la Vallée Poussin unabhängig voneinander, den Primzahlsatz zu beweisen. Dabei bauten sie auf Riemanns Arbeit auf, die eine Verbindung zwischen π(x) und der Zetafunktion ζ(s) herstellt. Sie bewiesen, dass der Primzahlsatz äquivalent (gleichwertig) zu der bereits bewiesenen Aussage ist, dass die nichttrivialen Nullstellen der Riemannschen Zetafunktion alle im kritischen Streifen (Realteil von s zwischen 0 und 1 ohne 0 und 1 selbst) liegen -- wir gehen weiter unten noch darauf ein. Beweise ohne die Verwendung der Zetafunktion fanden im Jahr 1949 Atle Selberg und Paul Erdös, ebenfalls unabhängig voneinander. Diese Beweise sind in dem Sinn elementar, dass sie auf die Werkzeuge der komplexen Analysis verzichten und statt dessen mit den elementaren Methoden der Zahlentheorie arbeiten. Diese Beschränkung der Werkzeuge führt jedoch dazu, dass die Beweis selbst sehr kompliziert sind.

Genau genommen bewiesen Hadamard und de la Vallée Poussin die folgende Fehlerabschätzung:

pi(x) = Li(x) + O(x*e^(-a*sqrt(log x)))

wobei a eine konstante positive reelle Zahl ist (wir unterscheiden nicht zwischen li(x) und Li(x), wie das gelegentlich in der mathematischen Literatur geschieht. Gemeint ist hier immer das Integral mit 2 als Untergrenze der Integration). Dabei verwenden wir die übliche O-Notation (auch Landaus O-Symbol genannt), um das asymptotische Verhalten von Funktionen für große x-Werte zu charakterisieren:

Hadamard und de la Vallée Poussin bewiesen also, dass die absolute Abweichung   |π(x) - Li(x)|   zwischen π(x) und Li(x) für genügend große x kleiner-gleich   C |x exp(-a (log x)1/2))|   wird, wobei C und a geeignete positive Konstanten sind. Eine graphische Darstellung dieser Fehlerabschätzung folgt etwas weiter unten.

Die absolute Abweichung wächst mit ansteigendem x langsam an. Das ist auch erlaubt. Wichtig ist, dass die relative Abweichung (also   C |x exp(-a (log x)1/2)) / π(x)|   ) für wachsende x gegen Null geht. Hadamard und de la Vallée Poussin haben gezeigt, dass das der Fall ist.


Fünf Jahre nach dem Beweis des Primzahlsatzes (also im Jahr 1901) gelang es dem Mathematiker von Koch, eine sehr viel schärfere Abschätzung für die absolute Abweichung |π(x) - Li(x)| für große x anzugeben:

pi(x) = Li(x) + O(x^(1/2)log x)

d.h. es gibt eine reelle Konstante C, so dass   |Li(x) - π(x)|   ≤ C x1/2 log x   ist, sobald x eine (von C abhängige) Grenze N überschreitet. Man kann diese Fehlerabschätzung in guter Näherung folgendermaßen interpretieren (siehe Wolfgang Blum: Chaos hilf! DIE ZEIT 03/2001, http://www.mathematik.uni-kl.de/~wwwfktn/homepage/riemann.htm ):

Dies passt zu der Tatsache, dass man die Fehlerabschätzung kaum noch nennenswert verbessern kann, denn man weiß, dass π(x) annähernd so stark um Li(x) schwankt, wie es die obige Abschätzung angibt.

Nun bewies von Koch die obige Abschätzung jedoch nicht wirklich -- sie ist bis heute unbewiesen. Er zeigte vielmehr, dass sie äquivalent zur Riemannschen Vermutung ist. Und damit sind wir beim eigentlichen Thema dieses Kapitels angekommen: der bis heute unbewiesenen Riemannsche Vermutung.

Die folgende Grafik zeigt, welche Verbesserung die neue Fehlerabschätzung für große Werte von x bedeutet:


Fehlerabschätzung |x*exp(-a*(log x)1/2))| mit a=1 nach dem Primzahlsatz-Beweis von Hadamard und de la Vallée Poussin (blaue Kurve) im Vergleich zur Fehlerabschätzung |x1/2 log x| gemäß der Riemannschen Vermutung (violette Kurve) in doppelt-logarithmischer Darstellung. Man erkennt, dass die Fehlerabschätzung nach der Riemannschen Vermutung deutlich schwächer mit x anwächst.



Um die Verbindung dieser Fehlerabschätzung zur Riemannschen Vermutung herzustellen, wollen wir uns zunächst eine Funktion ansehen, die eine noch bessere Approximation für die Primzahlverteilung π(x) liefert als dies li(x) bereits tut. Es handelt sich dabei um die sogenannte Riemann-Funktion R(x), die als eine Summe über die li-Funktion definiert ist:

Diese Summe sieht auf den ersten Blick etwas unregelmäßig aus, und das explizite Bildungsgesetz müssen wir noch angeben. Es lautet:

(1)

Das Vorzeichen des jeweiligen Terms wird dabei durch die Möbius-Funktion μ(n) festgelegt, die folgendermaßen für alle natürlichen Zahlen n definiert ist:

Dazu muss man wissen, dass sich jede natürliche Zahl eindeutig als Produkt von Primzahlen darstellen lässt. Dieses Produkt nennt man auch Primfaktorzerlegung. Man kann die Primzahlen daher auch als die multiplikativen Bausteine (Atome) der natürlichen Zahlen ansehen. So lässt sich beispielsweise die Zahl 20 eindeutig als das Produkt 2*2*5 schreiben. Da die Primzahl 2 doppelt in diesem Produkt vorkommt, ist nach der obigen Definition μ(20)=0 .

Die Möbius-Funktion oszilliert wie zufällig zwischen den Werten 1, 0 und -1 hin- und her. Die ersten Werte dieser Funktion lauten 1,-1, -1, 0, -1, 1, -1, 0, 0, 1, -1, 0, ... . Die folgende Grafik zeigt die Möbius-Funktion bis n = 50 (Quelle: Wikimedia Commons File:MoebiusMu.PNG, Public Domain):


Möbius-Funktion μ(n)


Die Riemann-Funktion liefert eine noch bessere Annäherung an π(x) als li(x). Für größere x liefert die Riemann-Funktion eine Abschätzung, deren Fehler zumeist 5 bis 10 mal kleiner ist als der Fehler bei der li(x)-Funktion.

Es gibt nun einen sehr interessanten exakten Zusammenhang zwischen der Riemann-Funktion R(x) und der Primzahlverteilung π(x) (siehe Wikipedia: Prime-counting function; die Funktion π0(x) ist praktisch gleich der Funktion π(x), nur an den Sprungstellen ist sie als Mittelwert zwischen der Stufenhöhe links und rechts definiert):

     

(diese Formel ist gleichwertig zur sogenannten expliziten Formel, die wir am Schluss des Kapitels angeben). Dabei geht die Summe über alle sogenannten nicht-trivialen Nullstellen ρ der Riemannschen Zetafunktion ζ(s) (was das genau bedeutet, sehen wir uns etwas weiter unten an). Man kann den Term rechts ohne den Summenterm   ∑ρ R(xρ)   als bestmögliche glatte Näherung der Primzahlverteilung   π(x)   und den Summenterm   ∑ρ R(xρ)   selbst dann als Fehlerterm oder statistisches Rauschen ansehen. Dieser Fehlerterm ist dabei durch die Nullstellen einer gewissen Funktion bestimmt. Die Riemannsche Vermutung macht nun eine Aussage über die Lage dieser Nullstellen (Genaueres dazu später) und sagt damit letztlich, dass sich der Summenterm   ∑ρ R(xρ)   tatsächlich wie ein statistischer Störterm verhält, also gleichsam wie das unvermeidliche Rauschen, bedingt durch die quasi-zufällige Verteilung der Primzahlen. Hier ist eine normierte logarithmische Darstellung des Fehlerterms (rote Kurve):


Dargestellt ist hier in Rot der Störterm   ∑ρ R(xρ)   , wie er sich als Differenz aus der Primzahlverteilung π(x) und der bestmöglichen glatten Näherung (siehe obige Formel ohne den Störterm) ergibt. Da die Amplitude der Störung heuristisch mit   √x / log x   anwächst, wurde zusätzlich noch mit dem Kehrwert   log x / √x   multipliziert, um das Amplitudenwachstum wegzunormieren. In Wikipedia: Prime-counting function wird dies als Δ-Funktion bezeichnet. Die blaue Kurve ignorieren wir hier. Quelle: Wikipedia File:PlotDelta.gif , dort Public Domain.



Schauen wir uns die Riemannsche Zetafunktion ζ(s), deren nicht-triviale Nullstellen so interessant sind, etwas genauer an.

Die Riemannsche Zetafunktion dient letztlich dazu, alle vorhandenen Informationen über Primzahlen in einer Weise zu codieren, die diese Informationen für die Anwendung sehr mächtiger mathematischer Werkzeuge zugänglich macht. Es handelt sich dabei um die Werkzeuge der komplexen Analysis (auch Funktionentheorie genannt).

Die Zetafunktion codiert nun die Informationen über Primzahlen und ihre Verteilung auf die folgende Weise:

ζ(s)   =   1 / ( (1 - 1/2s) * (1 - 1/3s) * (1 - 1/5s) * (1 - 1/7s) * (1 - 1/11s) * ... )

d.h. die Zetafunktion ist ein unendliches Produkt von Termen der Form 1/(1 - 1/ps) , wobei p alle Primzahlen durchläuft und s eine reelle Zahl ist mit s > 1 (denn nur dann konvergiert das unendliche Produkt). Man nennt diese Produktdarstellung der Zetafunktion auch Euler-Produkt zu Ehren von Leonhard Euler, der diese Formel im Jahr 1737 bewies (ausgehend von anderen gleichwertigen Definitionen der Zetafunktion, wie wir sie weiter unten noch sehen werden). Abgekürzt lautet die obige Formel:

wobei Π für ein unendliches Produkt steht und p über alle Primzahlen läuft: Diese Formel gilt wieder für reelle Zahlen s>1.

Man kann sich relativ leicht überlegen, was passiert, wenn man das Produkt schrittweise immer weiter ausmultipliziert. Dazu verwendet man ein bekanntes Ergebnis über die geometrische Reihe:
  1 + q + q2 + q3 + ...   =   1/(1-q) für |q| < 1.
Also kann jeder Faktor im Euler-Produkt analog zur geometrischen Reihe als unendliche Summe geschrieben werden:
  1/(1 - 1/ps)   =   1 + 1/ps + 1/p2s + 1/p3s + ...
Es müssen also unendlich viele dieser geometrischen Reihen miteinander multipliziert werden, wobei p in jeder Reihe eine andere Primzahl ist. Das Ergebnis ist eine unendlich lange Summe (eine Reihe) von Termen der Form 1/(Produkt von Primzahlen)s. Dabei dürfen auch Primzahlen mehrfach im Primzahlprodukt vorkommen. Eine sorgfältige Buchhaltung zeigt, dass jedes mögliche Primzahlprodukt genau einmal vorkommt. Nun entspricht aber jedes Primzahlprodukt in eindeutiger Weise einer natürlichen Zahl, denn das Produkt ist die eindeutige Primfaktorzerlegung dieser Zahl. Das Ergebnis ist also eine unendlich lange Summe von Termen der Form 1/ns, wobei jede natürliche Zahl n genau einmal vorkommt. Damit erhalten wir die bekannteste Darstellung der Zetafunktion:

ζ(s)   =   1 + 1/2s + 1/3s + 1/4s + 1/5s + ...

oder abgekürzt:

Man kann zeigen, dass diese Reihe für reelle s > 1 konvergiert, also gegen einen definierten Zahlenwert strebt, wenn man immer mehr Terme aufsummiert. Für s = 1 dagegen erhält man die divergente harmonische Reihe, d.h. die Summe wird hier (wenn auch langsam) immer größer. Dass das so ist, sieht man leicht so:

Die harmonische Reihe
  1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/6 + 1/7 + 1/8 + ....
ist Term für Term (und damit auch insgesamt) größer als die Reihe
  1 + 1/2 + 1/4 + 1/4 + 1/8 + 1/8 + 1/8 + 1/8 + .... =
  1 + 1/2 + (1/4 + 1/4) + (1/8 + 1/8 + 1/8 + 1/8) + ... =
  1 + 1/2 + 1/2 + 1/2 + ...
Diese Reihe aber wird unendlich groß.


Die Zetafunktion ζ(s) für reelle s oberhalb von 1,5 . Man erkennt, wie die Funktion in der Nähe des Pols bei s=1 stark ansteigt, und wie sie für etwas größere s sehr schnell gegen den Grenzwert 1 strebt.


Nun hat man mit dieser Definition der Zetafunktion für reelle Werte von s oberhalb von 1 noch nicht viel gewonnen. Man könnte hier zwar das gesamte Arsenal der reellen Analysis einsetzen, kommt aber damit noch nicht viel weiter. Von Nullstellen oder anderen interessanten Eigenschaften der Zetafunktion ist hier nichts zu sehen. Spannend wird es erst, wenn wir zu komplexen Zahlen übergehen. Das wollen wir uns nun genauer ansehen.


Innerhalb der reellen Zahlen lassen sich Gleichungen der Form x * x = -1 nicht lösen, denn es gibt keine reelle Zahl x, die mit sich selbst multipliziert gleich -1 ergibt. Man bemerkte jedoch bereits vor einigen hundert Jahren, dass viele Rechnungen einfacher werden, wenn man in den Zwischenschritten ein Symbol "i" einführt, mit dem man wie mit einer reellen Zahl rechnet. Die einzige Sonderregel für i lautet: i * i = -1.

Nun funktionierten zwar Rechnungen mit i, aber keiner wusste, was i bedeuten sollte. Der Name imaginäre Einheit zeigt dieses Unbehagen (wir sind in Kapitel 3.1 bereits darauf eingegangen). Das Unbehagen verschwand, als Carl Friedrich Gauß und andere eine anschauliche Interpretation von i und damit der komplexen Zahlen fanden. Wir wollen uns ansehen, was in dieser anschaulichen Interpretation komplexe Zahlen sind.

Betrachten wir eine zweidimensionale Ebene und ein rechtwinkliges Koordinatensystem in dieser Ebene, bestehend aus den üblichen Koordinaten x und y. In dieser Ebene können wir nun Pfeile einzeichnen, also gerade Linien, die eine bestimmte Länge und eine bestimmte Richtung (gegeben durch die Pfeilspitze) besitzen. Mathematiker sprechen hier auch von zweidimensionalen Vektoren. Man kann jeden dieser Pfeile interpretieren als "gehe x Schritte nach rechts und y Schritte nach oben". Ausgehend vom Nullpunkt des Koordinatensystems landet man also durch einen solchen Pfeil an einem Punkt mit den Koordinaten x und y. Umgekehrt legen x und y eindeutig den Pfeil fest (dabei spielt der Anfangspunkt eines Pfeils keine Rolle - wichtig sind alleine Länge und Richtung).

Wir wollen Pfeile (d.h. zweidimensionale Vektoren) mit fetten Buchstaben bezeichnen, z.B. mit z. In karthesischen Koordinaten benutzen wir auch die Schreibweise z = (x, y) . Dies bedeutet, dass der Pfeil z aussagt: gehe um x nach rechts (in Richtung der x-Achse) und um y (in Richtung der y-Achse). Dabei dürfen x bzw. y auch negativ sein, entsprechend einer Bewegung nach links bzw. unten. Die Komonente x bezeichnet man als Realteil von z, die Komponente y als Imaginärteil von z. Anstelle von Pfeilen genügt es zu Darstellungszwecken häufig auch, einen Punkt bei den Koordinaten x und y einzutragen. Wir wissen dann: gemeint ist ein Pfeil, wie er vom Ursprung (0, 0) zum Punkt (x, y) zeigt.

Man kann nun die Addition zweier Pfeile definieren: Zwei Pfeile werden addiert, indem man sie hintereinanderhängt und durch einen neuen Pfeil ersetzt. Statt "gehe x1 Schritte nach rechts und y1 Schritte nach oben" und "gehe anschließend x2 Schritte nach rechts und y2 Schritte nach oben" sagt die Summe der beiden Pfeile "gehe x3 Schritte nach rechts und y3 Schritte nach oben", wobei x3 = x1 + x2 ist und y3 = y1 + y2. Es gilt also:

Die so definierte Pfeiladdition erfüllt alle Regeln, die wir von der Addition reeller Zahlen her gewohnt sind. Beispielsweise kann man die Reihenfolge bei der Addition vertauschen ( a + b = b + a , wobei a und b Pfeile sind, z.B. a = (x1, y1) und b = (x2, y2) ).

Es gibt nun natürlich Pfeile, bei denen immer nur nach rechts (oder links) gegangen wird, aber nie nach oben oder unten. Solche Pfeile haben die Form x = (x, 0), wobei x eine reelle Zahl ist und x den Pfeil (x, 0) bezeichnet. Addiert man solche Pfeile, so passiert nur in der ersten Koordinate (der x-Koordinate) etwas. Die y-Koordinate spielt gar keine Rolle. Eigentlich hätten wir uns für diese Pfeile die y-Koordinate ganz sparen können. Im Grunde hätten wir gar keine Pfeile gebraucht, denn die Addition dieser Pfeile spiegelt nur die Addition reeller Zahlen wieder: (x1, 0) + (x2, 0) = (x1 + x2, 0) . Die Pfeile bringen hier keine neuen Erkenntnisse. Wir können daher sagen:

(natürlich hätten wir statt dessen auch die Pfeile der Form (0,y) nehmen können, aber irgendwann muss man sich nun einmal entscheiden).

Nun kommt der entscheidende Schritt: Wir wollen neben der Addition auch eine Multiplikation von Pfeilen definieren. Dies tun wir auf die folgende Weise:

Jeder Pfeil besitzt eine Länge und einen Winkel relativ zur x-Achse. Nennen wir den Pfeil a. Dann soll |a| die Länge des Pfeils und φa dieser Winkel sein. Ausgedrückt in karthesischen Koordinaten (also a = (x, y)) ist dann nach dem Satz von Pythagoras |a| = (x2 + y2)1/2. Den Winkel kann man mit Hilfe der Winkelfunktionen bestimmen. Umgekehrt sind x = |a| cos φa und y = |a| sin φa, d.h. es ist

a = (x, y) = ( |a| cos φa, |a| sin φa )

Man kann |a| und φa als Polarkoordinaten des Pfeils a ansehen.

Damit sind wir gerüstet für die folgende Definition:



Addition und Multiplikation von Pfeilen (d.h. von komplexen Zahlen).
Im Bild werden diese Pfeile als Wellenfunktionspfeile bezeichnet, die aus der Quantenmechanik stammen und komplexen Zahlen entsprechen.

Man kann diese Definition, die in Polarkoordinaten ausgedrückt wurde, auch durch die Koordinaten x und y ausdrücken. Eine Rechnung unter Verwendung der Additionstheoreme von Cosinus und Sinus zeigt, dass dann folgender Zusammenhang gilt:

Wieder ist es so, dass für diese Pfeilmultiplikation alle von den reellen Zahlen her gewohnten Rechenregeln gelten, z.B. a * b = b * a. Für Pfeilmultiplikation und Pfeiladdition zusammen gelten ebenfalls alle gewohnten Regeln, z.B. a * (b + c) = a*b + a*c . Dies ist auch der Grund, warum wir weiterhin von Addition und Multiplikation sprechen, obwohl die entsprechenden Definitionen für die Pfeile über das hinausgehen, was wir von den reellen Zahlen her kennen. Allerdings sind die reellen Zahlen und ihre Addition sowie Multiplikation in den Definitionen für Pfeiladdition und Pfeilmultiplikation enthalten, denn in der Pfeilschreibweise sind reelle Zahlen durch Pfeile der Form (x,0) gegeben. Dies zeigt auch die Multiplikation: (x1, 0) * (x2, 0) = (x1 x2, 0) , d.h. wir haben die ganz normale Multiplikation reeller Zahlen. Dies ist auch anschaulich klar: diese Pfeile liegen ja parallel zur x-Achse.

Die obigen Definitionen erweitern den Zahlenbegriff und den Begriff der Addition und Multiplikation, wobei nichts verloren geht. Statt reeller Zahlen verwenden wir Pfeile, die Addition entspricht dem Hintereinanderhängen von Pfeilen (Mathematiker sprechen von Vektoraddition) und die Multiplikation ist eine Drehstreckung, wobei einer der beiden Pfeile um soviel gestreckt und gedreht wird, wie es Betrag und Winkel des anderen Pfeils angeben (wobei die Rollen der beiden Pfeile austauschbar sind). Reelle Zahlen entsprechen dabei Pfeilen, die parallel zur x-Achse liegen.

Was hat das Ganze nun mit komplexen Zahlen und der Gleichung x * x = -1 zu tun? Nun, innerhalb der reellen Zahlen hat diese Gleichung keine Lösung. Aber was passiert, wenn wir diese Gleichung für Pfeile und ihre Multiplikation aufstellen? Statt x müssen wir also einen Pfeil (nennen wir ihn z ) verwenden, und statt -1 den Pfeil (-1, 0), der ja der reellen Zahl -1 entspricht. Die Pfeilgleichung lautet also z * z = (-1, 0). Dabei ist * die Pfeilmultiplikation. Die Frage lautet nun: Ist diese Gleichung für Pfeile und die Pfeilmultiplikation lösbar?

Ja, sie ist es. Es gibt sogar zwei Lösungen, nämlich z = (0, 1) und z = (0, -1). Betrachten wir die erste Lösung z = (0, 1) : Der Pfeil in y-Richtung mit Länge 1, multipliziert mit sich selbst, ergibt also einen Pfeil parallel zur x-Achse, der nach links zeigt und Länge 1 besitzt. Dies ist auch anschaulich klar, denn |z| = 1 und φz ist 90 Grad. Bildet man z * z, so ändert sich am Betrag nichts, aber der Winkel verdoppelt sich zu 180 Grad. Die Erweiterung des Zahlbegriffs und des Multiplikationsbegriffs haben die Gleichung x * x = -1 lösbar gemacht, wenn man sie als Gleichung für Pfeile und ihre oben definierte Multiplikation versteht.

Es ist keineswegs ungewöhnlich, dass eine Begriffserweiterung zuvor unlösbare Gleichungen lösbar macht! So kannten die Griechen der Antike nur den Begriff der rationalen Zahl (also Brüche). Reelle Zahlen waren unbekannt. Die Gleichung x * x = 2 ist aber für rationale Zahlen nicht lösbar. Erst eine entsprechende Erweiterung des Zahlbegriffs (d.h. die Einführung reller Zahlen, z.B. als Grenzwert konvergenter rationaler Zahlenfolgen) konnte dieses Problem lösen.

Nun ist die Pfeilschreibweise z = (x, y) für Berechnungen ziemlich umständlich. Man kann jedoch die Pfeilschreibweise leicht in eine Schreibweise übersetzen, die analog zum Rechnen mit reellen Zahlen aussieht. Dazu schreibt man statt z = (x, y) einfach z = x + i y und definiert die Regel i * i = -1 . Den Unterschied zwischen Pfeilschreibweise und der Schreibweise mit i machen wir dadurch deutlich, dass wir in der Pfeilschreibweise z fett schreiben, in der i-Schreibweise dagegen nicht.

Mit x, y und i rechnet man nun, als ob sie reelle Zahlen wären (was x und y auch sind, nicht aber i oder z = x + i y). Auf diese Weise können wir alle oben für Pfeile definierten Regeln leicht wiederfinden:

In der zweiten Formel wurde dabei die Regel i * i = -1 verwendet. In der i-Schreibweise spricht man normalerweise nicht mehr von Pfeilen oder Vektoren, sondern von komplexen Zahlen. Es handelt sich aber nur um eine andere Schreibweise! Alles Wesentliche hatten wir bereits oben bei den Pfeilen gesagt, und alle Berechnungen mit komplexen Zahlen können wir auch in der Pfeilschreibweise (x, y) statt x + i y durchführen. Wir können jederzeit Hin- und Rückübersetzungen zwischen der Pfeilschreibweise und der i-Schreibweise durchführen!

Es ist sogar oft notwendig, sich auf die Interpretation einer komplexen Zahl durch einen Pfeil zurückzubesinnen, denn Rechnungen mit komplexen Zahlen der Form x + i y sehen zwar formal so aus wie Rechnungen mit reellen Zahlen, aber sie haben etwas mit Drehstreckungen von Pfeilen zu tun. Die von reellen Zahlen her gewohnten Anschauungen können daher leicht in die Irre führen.


Man kann nun ganz analog zur reellen Analysis auch für komplexe Zahlen Begriffe wie Funktion, Stetigkeit und Differenzierbarkeit definieren. Diese Definitionen sehen formal genauso aus wie in der reellen Analysis, aber ihre Bedeutung ist sehr viel umfassender.

Beginnen wir mit dem Begriff der Funktion. Für reelle Zahlen ordnet eine Funktion f jeder reellen Zahl x eines vorgegebenen Definitionsbereichs jeweils genau eine reelle Zahl f(x) zu. Reelle Funktionen lassen sich meist gut in einer Graphik veranschaulichen, bei der in einem rechtwinkligen Koordinatensystem Punkte der Form (x, f(x)) eingetragen werden. Ein Beispiel haben wir oben bei der Darstellung der Zetafunktion gesehen, die für x > 1 definiert wurde (wobei hier traditionell s statt x für die Variable verwendet wird).

Analog geht man bei komplexen Funktionen vor: Eine solche Funktion f ordnet jeder komplexen Zahl z aus einem bestimmten Definitionsbereich jeweils genau eine komplexe Zahl f(z) zu. In der Pfeilschreibweise bedeutet das: f ordnet jedem Pfeil z = (x,y) des Definitionsbereichs eindeutig einen Pfeil f(z) = (u(x,y), v(x,y)) zu. Dabei liefert die reelle Funktion u die x-Koordinate des neuen Pfeils, v dagegen die y-Koordinate. Beide Funktionen u und v hängen dabei von den beiden Koordinaten x und y des ursprünglichen Pfeils z ab. In der Schreibweise mit i bedeutet das analog: f(z) = u(z) + i v(z) mit z = x + i y , wobei x, y, u(z) und v(z) reell sind.

Im Grunde kennt man solche Funktionen bereits aus der mehrdimensionalen reellen Analysis, denn eine solche Funktion f macht aus einem zweidimensionalen reellen Vektor (Pfeil) einen neuen zweidimensionalen reellen Vektor. Einfache Beispiele für solche Funktionen sind lineare Abbildungen der Form f(x, y) = (a x + b y, c x + d y) mit reellen Zahlen a, b, c, und d.

Wie kann man sich nun solche Funktionen veranschaulichen?

Leider scheidet ein einfacher Graph wie bei den reellen Funktionen f(x) aus, denn jeder Punkt in einem solchen Graph hätte 4 Koordinaten (nämlich x, y, u(x,y), v(x,y) ). Der Graph einer solchen Funktion wäre damit eine Punktemenge in einem vierdimensionalen Raum und ist damit unserer Anschauung nicht zugänglich.

Es gibt jedoch andere Methoden. Eine Möglichkeit besteht darin, die Funktion f als Vektorfeld in der zweidimensionalen Ebene darzustellen. Dazu zeichnet man einfach an verschiedenen Punkten (x, y) einen Pfeil ein, dessen Länge und Richtung f(x,y) darstellt. Damit ergibt sich so etwas wie ein zweidimensionales Strömungsfeld. Man kann sich z.B. vorstellen, dass die Pfeile die Fließgeschwindigkeit und Fließrichtung einer Flüssigkeit in einem flachen Becken darstellen. Besonders interessant sind dabei zwei Eigenschaften dieses Strömungsfeldes: Wirbel, also kreisförmige Bewegungen, und Quellen sowie Senken für die Flüssigkeit. Mathematisch drückt man diese beiden Eigenschaften durch die Rotation und die Divergenz des Vektorfeldes aus. Wir kommen weiter unten noch genauer darauf zurück.

Problematisch wird diese Darstellung dann, wenn die Pfeillängen sehr unterschiedlich sind oder wenn man nicht genug Pfeile einzeichnen kann, um interessante Details der Funktion darzustellen. Außerdem gibt es bestimmte Eigenschaften von Funktionen, die man in Vektorfeldern nicht gut erkennen kann. Dann ist eine andere Darstellungsart sehr nützlich: Man zeichnet in einem ersten Bild bestimmte Linien in die x-y-Ebene ein, z.B. ein rechtwinkliges Gitternetz, das die karthesischen Koordinaten x und y darstellt, oder ein radiales Spinnennetz, das die Ebene mit einem Polarkoordinatennetz überzieht. In einem zweiten Bild zeichnet man nun ein, wo die Punkte der Linien in der x-y-Ebene landen, wenn man f(x,y) auf sie anwendet. Auf diese Weise kann man sehr schön die Verzerrungen und Verdrehungen sehen, die f verursacht. Problematisch wird es allerdings, wenn f mehrere verschiedene Punkte (x,y) auf die gleichen Bildpunkte abbildet. In diesem Fall sollte man sich Teilbereiche der Ebene herausgreifen und nur deren Abbildung unter f betrachten. Wir werden unten noch Beispiele für diese Darstellungsweise sehen.

Natürlich gibt es noch weitere Möglichkeiten. Man kann z.B. in der x-y-Ebene dort Linien einzeichnen, wo u(x,y) = 0 ist bzw. wo v(x,y) = 0 ist. Die Linien u(x,y) = 0 bedeuten für das entsprechende Vektorfeld, dass die Pfeile dort senkrecht liegen. Analog bedeutet v(x,y) = 0, dass die Pfeile dort waagrecht liegen. Wir werden weiter unten diese Darstellungsform für die Zetafunktion noch nutzen.

Schließlich kann man noch |f(x,y)| oder u(x,y) oder v(x,y) als Gebirge über der x-y-Ebene darstellen. Diese Darstellung verschleiert jedoch viele interessante Eigenschaften von f und ist hauptsächlich dazu nützlich, um z.B. Pole oder Nullstellen leicht zu sehen.


Man kann nun schrittweise alle Begriffe der reellen Analysis auf die komplexe Analysis übertragen. So kann man definieren, wann eine Funktion f(z), die komplexe Zahlen auf komplexe Zahlen abbildet, stetig (also "glatt") ist. Die Details wollen wir hier überspringen, denn viel wichtiger ist der Begriff der komplexen Ableitung:

Bei reellen Funktionen definiert man den Begriff der Ableitung f ' einer Funktion f in einem Punkt x als die Steigung der Tangente, die man an den Graphen dieser Funktion anlegen kann. In Formeln ausgedrückt ist dies der Grenzwert des Bruchs [f(x+h) - f(x)]/h für h gegen Null: f '(x) = limh → 0 [f(x+h) - f(x)]/h . Gleichwertig dazu ist die Aussage, dass in der Nähe von x der Funktionswert f(x+h) durch die Tangente angenähert werden kann:

f(x+h) = f(x) + f '(x) * h + r(x,h)

mit limh → 0 r(x,h)/h = 0. Die Abweichung r(x,h) von der Tangente muss also schneller als h klein werden, wenn h gegen Null strebt. Beispielsweise könnte r(x,h) = h*h sein. Das bewirkt, dass r(x,h) für kleine h gegenüber f '(x) * h nicht mehr ins Gewicht fällt (vorausgesetzt, f '(x) ist ungleich Null). Diese Darstellung hat den Vorteil, dass man sie auf mehrdimensionale reelle Funktionen übertragen kann, bei denen sich ein Bruch wie [f(x+h) - f(x)]/h nicht mehr gut definieren lässt.

Wenn das oben definierte f '(x) existiert, so ist f ableitbar oder differenzierbar im Punkt x, d.h. man kann dort eine Tangente anlegen. Dies geht nicht, wenn f in x einen Knick hat wie z.B. die Funktion f(x) = |x| in x = 0. Differenzierbarkeit bedeutet bei reellen Funktionen also, dass der Funktionsgraph so glatt ist, dass sich eine Tangente anlegen lässt. Nur wenn f in x differenzierbar ist, gilt f(x+h) = f(x) + f '(x) * h + r(x,h) mit limh → 0 r(x,h)/h = 0.

Man kann nun einfach die obige Definition der Ableitung vollkommen unverändert auf komplexe Zahlen übertragen. Dann ist f '(z) = limh → 0 [f(z+h) - f(z)]/h , wobei z und h komplexe Zahlen sind und f(z), f(z+h) sowie f '(z) ebenfalls komplexe Zahlen sind. Der Limes ist hierbei so zu verstehen, dass h einen beliebigen Winkel zur x-Achse aufweisen darf. Man darf sich also aus beliebiger Richtung in der zweidimensionalen Ebene der komplexen Zahlen dem Punkt z nähern. Der Grenzwert existiert nur dann, wenn er für jede dieser Richtungen dieselbe komplexe Zahl f '(z) liefert. Nur dann ist f in z komplex differenzierbar (ableitbar)! Daran sehen wir schon, dass ein neuer Aspekt hinzukommt, den es bei reellen Zahlen noch nicht gab, auch wenn alle Formeln vollkommen gleich aussehen.

Gleichwertig zu dieser Formulierung ist wieder die folgende Darstellung:

f(z+h) = f(z) + f '(z) * h + r(z,h)

mit limh → 0 r(z,h)/h = 0 . Hier sieht man schön, dass die Multiplikation zwischen den komplexen Zahlen f '(z) und h eine Rolle spielt.

Was bedeutet nun die obige Definition der komplexen Ableitung anschaulich?

Zunächst einmal hat sie nichts mehr mit der Tangente an einem Graphen zu tun, wie das bei reellen Zahlen noch der Fall war. Der Term f '(z) * h entspricht nicht mehr (wie im reellen Fall) dem Anstieg einer Geraden, wenn man sich um h von x wegbewegt. Was er statt dessen bedeutet, sieht man besonders gut, wenn man die obige Definition in die Pfeilschreibweise übersetzt:

f(z+h) = f(z) + f '(z) * h + r(z,h)

Dabei wird der Pfeil h einer Drehstreckung unterworfen, wie sie durch den Pfeil f '(z) angegeben wird, denn das Multiplikationssymbol * steht für die Pfeilmultiplikation. Die Pfeillänge |h| wird also mit |f '(z)| multipliziert, und der Winkel φh von h wird um den Winkel φf '(z) vergrößert. Wir wollen die Schreibweise etwas vereinfachen und φf '(z) =: θ schreiben, d.h. f '(z) = ( |f '(z)| cos θ , |f '(z)| sin θ ) . Weiterhin ist in Pfeilschreibweise f = (u, v), und h = (hx, hy) sowie z = (x, y) . In Komponenten ausgeschrieben lautet dann die obige Gleichung:

u(z+h) = u(z) + |f '(z)| (hx cos θ - hy sin θ) + rx(z,h)
v(z+h) = v(z) + |f '(z)| (hx sin θ + hy cos θ) + ry(z,h)

Man erkennt hier sehr schön, wie der Pfeil h um den Winkel θ gegen den Uhrzeigersinn gedreht wird, und um |f '(z)| gestreckt bzw. gestaucht wird.

Es ist an dieser Stelle interessant, dieses Ergebnis mit dem zweidimensionalen reellen Fall zu vergleichen. Dort ist eine Funktion f in z = (x, y) differenzierbar, wenn man f in der Nähe von z durch eine lineare Abbildung approximieren kann:

u(z+h) = u(z) + (hx du/dx(z) + hy du/dy(z)) + rx(z,h)
v(z+h) = v(z) + (hx dv/dx(z) + hy dv/dy(z)) + ry(z,h)

Dabei ist z.B. du/dx(z) die partielle Ableitung von u(x,y) nach der Variable x, ausgewertet am Punkt z = (x, y). Dies kann eine beliebige reelle Zahl sein!

Der zweidimensionale reelle Fall ist viel allgemeiner als der Fall der komplexen Ableitung. Der Pfeil h kann hier einer beliebigen linearen Abbildung unterworfen werden (die durch die partiellen Ableitungen von u und v gegeben ist). Bei der komplexen Ableitbarkeit dagegen fordert man, dass diese lineare Abbildung eine Drehstreckung sein muss! Wie man durch den Vergleich oben sieht, muss bei komplex differenzierbaren Funktionen für die partiellen Ableitungen gelten:

du/dx(z) = dv/dy(z)
du/dy(z) = - dv/dx(z)

(Cauchy-Riemannsche Differentialgleichungen).

Daher ist die Forderung, dass f komplex ableitbar sein soll, sehr viel strenger als die Forderung, dass f zweidimensional-reell ableitbar sein soll. Sehr viele zweidimensional-reell-differenzierbare Funktionen f fallen weg, wenn wir die Forderung nach komplexer Ableitbarkeit erheben. Funktionen, die komplex ableitbar (differenzierbar) sind, weisen daher ganz spezielle Eigenschaften auf!

Schauen wir uns eine dieser Eigenschaften an: Nehmen wir an, wir bewegen uns in einem kleinen Kreis um den Punkt z = (x, y) (also um die Pfeilspitze von z, der vom Nullpunkt des Koordinatensystems bis zum Punkt (x, y) zeigt). Für den Pfeil h bedeutet das, dass seine Länge |h| feststeht, aber sein Winkel φh sich ändert. Dabei soll die Länge von h so klein sein, dass r(z,h) keine Rolle spielt und wir es in guter Näherung weglassen können ( f '(z) ungleich Null sei vorausgesetzt). Wie verändert sich nun f(z+h) dabei?

Die Pfeilspitze von f(z+h) ergibt sich aus der Pfeilspitze von f(z), indem wir den Pfeil f '(z) * h hinzuaddieren. Nun ist f '(z) eine feste Drehstreckung, die jedes h in gleicher Weise verändert: Streckung um einen bestimmten Faktor und Drehung um einen bestimmten Winkel. Wenn sich nun h im Kreis dreht, so tut dies auch sein drehgestrecktes Gegenstück f '(z) * h , und zwar mit derselben Winkelgeschwindigkeit im gleichen Drehsinn. Daher dreht sich die Pfeilspitze von f(z+h) im Gleichklang mit h um die Pfeilspitze von f(z).


Das linke Bild zeigt ein radiales Gitternetz um den Punkt z = (1, 1/2). Dabei wurde eine Speiche weggelassen. Das rechte Bild zeigt, wo die Punkte dieses Gitternetzes landen, wenn aus jedem z der Punkt f(z) = z2 = z * z wird (* ist die komplexe Multiplikation, d.h. die Pfeilmultiplikation). Diese Funktion f ist überall komplex differenzierbar. Sie quadriert den Betrag (die Pfeillänge) von z und verdoppelt den Winkel zur x-Achse.
Der Mittelpunkt dieses neuen Gitternetzes liegt bei f(1, 1/2) = (3/4, 1). Je näher man sich an diesem Mittelpunkt befindet, umso kreisförmiger werden die Ringe des Gitternetzes. Die Ringe nahe am Mittelpunkt sind in guter Näherung durch die Formel f(z+h) = f(z) + f '(z) * h gegeben. Erst weiter weg weichen die Ringe deutlich von der Kreisform ab, da dann der Restterm r(z,h) nicht mehr vernachlässigbar ist.


Im allgemeinen Fall einer zweidimensional-reell-differenzierbare Funktionen f muss das nicht so sein. Hier bewegt sich die Pfeilspitze von f(z+h) auf einer Ellipse um die Pfeilspitze von f(z), wobei sogar der Drehsinn umgekehrt zu dem von h sein kann. Bei einer komplex differenzierbaren Funktion f muss es dagegen ein Kreis sein!

Dadurch ergibt sich eine sehr interessante Eigenschaft komplex differenzierbarer Funktionen: Wir markieren zwei Punkte auf dem kleinen Kreis, der durch die Drehung von z+h um z entsteht, d.h. wir wählen zwei spezielle Pfeile h1 und h2 aus. Den Winkel zwischen diesen zwei Pfeilen nennen wir α. Nun wenden wir die Funktion f an. Aus dem Kreis entsteht für kleine |h| in guter Näherung ein neuer Kreis, der durch die Punkte (Pfeilspitzen) von f(z+h) = f(z) + f '(z) * h gegeben ist. Auch die Abbilder der beiden markierten Punkte finden wir hier wieder. Sie entstehen, indem wir zu f(z) (dem Kreismittelpunkt) den Pfeil f '(z) * h1 bzw. den Pfeil f '(z) * h2 hinzuaddieren. Der Winkel zwischen diesen beiden Pfeilen ist derselbe wie der Winkel α zwischen h1 und h2, denn beide Pfeile werden um die gleiche Drehstreckung f '(z) verändert. Man sagt, die Abbildung f ist winkeltreu oder konform:

Diese Eigenschaft sieht man besonders gut in der Gitternetzdarstellung. Wir erinnern uns: Man überzieht in einem ersten Bild die zweidimensionale Ebene mit einem Gitternetz. In einem zweiten Bild zeichnet man nun ein, wo die Punkte der Gitternetzlinien landen, wenn man f auf sie anwendet. Die Konformität von f sieht man nun daran, dass sich im zweiten Bild die Gitternetzlinien in jedem Schnittpunkt unter demselben Winkel schneiden wie im dazugehörenden Schnittpunkt des ersten Bildes. Ein rechtwinkliges Gitter wird wieder zu einem rechtwinkligen Gitter, wobei aber aus geraden Linien durchaus krumme Linien werden dürfen. Die folgende Grafik zeigt dies am Beispiel f(z) = z2 .

Gitternetzdarstellung von f(z) = z*z . Im linken Bild ist das ursprüngliche Gitter rechts der y-Achse gezeigt. Im rechten Bild sieht man, wo die Linien nach Anwendung der Funktion f(z) = z2 landen. Quelle: Douglas N. Arnold, GRAPHICS FOR COMPLEX ANALYSIS, http://www.ima.umn.edu/~arnold/complex.html, dort veröffentlicht unter der Creative Commons Attribution-Noncommercial-Share Alike 3.0 License. Auf der Webseite von Douglas N. Arnold findet man noch viele weitere Bilder zu komplex differenzierbaren Funktionen.


Auch in anderen Darstellungen sieht man die Besonderheiten komplex differenzierbarer Funktionen. Wir hatten oben die Darstellung als Vektorfeld erwähnt: Dazu zeichnet man einfach an verschiedenen Punkten z einen Pfeil ein, dessen Länge und Richtung f(z) darstellt. Es stellt sich jedoch heraus, dass es günstiger ist, statt dem Pfeil f(z) = (u(z), v(z)) den Pfeil f*(z) = (u(z), -v(z)) einzuzeichnen. Das entsprechende Vektorfeld bezeichnet man auch als Polya-Vektorfeld (Bilder siehe z.B. http://faculty.gvsu.edu/fishbacp/complex/complex.htm, insbesondere http://faculty.gvsu.edu/fishbacp/complex/polya1.PDF).

Das Polya-Vektorfeld hat zwei sehr schöne Eigenschaften: Überall da, wo f definiert ist und komplex differenzierbar ist, ist das Polya-Vektorfeld quellenfrei und wirbelfrei. Interpretiert man das Polya-Vektorfeld als Strömungsfeld einer Flüssigkeit, so bedeutet dies, dass es keine Quellen oder Senken sowie keine Wirbel für die Flüssigkeit gibt, außer an den Stellen, wo f nicht definiert oder nicht komplex differenzierbar ist (z.B. an Polstellen). Mathematisch ist dies eine Folge der oben erwähnten Cauchy-Riemannschen Differentialgleichungen:

div f*(z) = du/dx((z)) - dv/dy(z) = 0
rot f*(z) = -dv/dx((z)) - du/dy(z) = 0

(genau genommen muss man dabei die Pfeile als dreidimensionale Vektoren ansehen mit z-Komponente gleich Null).

Besonders interessant wird es nun, wenn man Wegintegrale komplex differenzierbarer Funktionen für geschlossene Wege betrachtet. Die Quellenfreiheit und Wirbelfreiheit bewirkt, dass man viele dieser Integrale explizit ausrechnen kann, und dass ihr Wert zumeist nicht vom konkreten Weg abhängt, sondern von der Natur der Pole im umschlossenen Gebiet. Das liegt daran, dass sich ein Pol wie eine Quelle oder Senke für das Polya-Vektorfeld auswirkt. In der Polya-Vektorfelddarstellung kann man auch leicht die Ordnung (Vielfachheit) eines Pols oder einer Nullstelle sehen. Dazu zählt man einfach, wie oft sich das Vektorfeld dreht, wenn man einmal um den Pol bzw. die Nullstelle herumläuft. Nähere Details dazu findet man z.B. in http://faculty.gvsu.edu/fishbacp/complex/polya1.PDF und http://faculty.gvsu.edu/fishbacp/complex/polya2.PDF .


Was hat das Ganze nun mit der Riemannschen Zetafunktion zu tun?

Die Idee ist folgende: Wir suchen eine komplexe, komplex differenzierbare Funktion, die für die komplexen Zahlen z = x + i y , die den reellen Zahlen entsprechen (d.h. y = 0), gerade gleich der reellen Zetafunktion ist (wir verwenden ab sofort nicht mehr die Pfeilschreibweise, sondern die einfachere i-Schreibweise). Gesucht ist also eine komplexe, komplex differenzierbare Funktion (nennen wir sie zunächst einmal F), so dass F(x) = ζ(x) ist. In der Pfeilschreibweise bedeutet dies: F(x,0) = (ζ(x), 0) .

Man nennt diese Funktion F(z) die analytische Fortsetzung von ζ(x) . Generell kann man zu jeder reellen Funktion f, die auf einem reellen Intervall definiert ist, genau eine analytische Fortsetzung F(z) finden, die auf einem Gebiet komplexer Zahlen definiert ist, das das reelle Intervall enthält. Diese analytische Fortsetzung ist eindeutig. Voraussetzung ist, dass f hinreichend gutartig ist. Das bedeutet genauer: f muss reell analytisch sein, sich also im reellen Intervall in eine konvergente Potenzreihe entwickeln lassen. Das ist bei der Zetafunktion der Fall.

Es ist üblich, für die analytische Fortsetzung einer Funktion f(x) kein neues Symbol (wie oben F) einzuführen, sondern diese Funktion einfach mit f(z) zu bezeichnen. Schreibt man f(z) = u(z) + i v(z) sowie z = x + i y, so muss demnach v(x) = 0 und u(x) = f(x) sein, damit die komplexe Funktion auf der reellen Achse gerade gleich der reellen Funktion ist. Für die Zetafunktion wird aus historischen Gründen außerdem der Buchstabe s statt z verwendet, d.h. wir schreiben im Folgenden ζ(s), wobei s = x + i y ist, und ζ(s) die analytische Fortsetzung der reellen Zetafunktion ist.

Wie erhält man nun die analytische Fortsetzung einer reellen Funktion? Schauen wir uns dazu zunächst einige Beispiele an:

Die analytische Fortsetzung der Funktion f(x) = xn mit einer vorgegebenen natürlichen Zahl n (z.B. n = 2) ist einfach f(z) = zn , d.h. das reelle Argument x wird durch das komplexe Argument z ersetzt. Gemeint ist, dass z n-mal mit sich selbst im Sinne der komplexen Multiplikation (Pfeilmultiplikation) multipliziert wird. Diese Funktion ist überall komplex differenzierbar, denn analog zu der reellen Funktion folgt aus der Definition der komplexen Ableitung: f '(z) = n zn-1 . Für n = 2 haben wir oben eine grafische Darstellung dieser Funktion gesehen.

Analog ist es auch bei der Funktion f(x) = 1/x . Die analytische Fortsetzung lautet f(z) = 1/z = (x - i y)/(x2 + y2) , so dass z * 1/z = 1 ist. Diese Funktion hat einen Pol bei z = 0. Das Polya-Vektorfeld-Bild von f(z) = 1/z haben wir oben bereits gesehen.

Eine sehr wichtige Funktion ist die e-Funktion f(x) = ex , oft auch als f(x) = exp(x) geschrieben. Dabei ist e = 2,71828 18284 59045 23536 02874 ... . Die e-Funktion hat einige wichtige Eigenschaften. So ist die Ableitung dieser Funktion gleich der Funktion selbst: d/dx ex = ex , und es gilt die Regel ex + y = ex ey . Weiterhin kann man eine einfache, überall konvergente Reihenentwicklung angeben:

ex = 1 + x + x2/2 + x3/(3*2) + x4/(4*3*2) + x5/(5*4*3*2) + ...

Die analytische Fortsetzung der e-Funktion erhält man, indem man in dieser Reihenentwicklung das reelle x durch das komplexe z ersetzt. Alle oben genannten Regeln gelten dann auch für f(z) = ez .

Mit Hilfe der Reihenentwicklungen der Winkelfunktionen Sinus und Cosinus kann man eine der wichtigsten Formeln der Theorie komplexer Funktionen beweisen. Es gilt:

ei y = cos y + i sin y

mit reellem y . Dies entspricht einem um den Winkel y nach links gedrehten Pfeil der Länge Eins. Multipliziert man irgendeine komplexe Zahl mit ei y, so wird der entsprechende Pfeil einfach um den Winkel y nach links gedreht, d.h. die Multiplikation mit ei y entspricht einer Drehung um y nach links.

Damit lässt sich jede kompleze Zahl z schreiben als z = |z| ei φ , wobei |z| die Länge des Pfeils ist und φ der Winkel des Pfeils zur x-Achse.

Weiterhin gilt für die Funktion f(z) = ez die Formel:

ez = ex + i y = ex ei y = ex (cos y + i sin y)

Als Pfeil dargestellt besitzt ez also die Länge ex und den Winkel y zur x-Achse. Wir werden diese Formel etwas weiter unten für die Zetafunktion noch benötigen.


Um zu verstehen, was der Begriff analytische Fortsetzung wirklich bedeutet, ist es hilfreich, eine anschauliche Vorstellung dieses Begriffs zu entwickeln. Dies kann man auf verschiedene Weise tun. Wir wollen uns hier zwei Möglichkeiten anschauen, die beide ihre eigenen Vor- und Nachteile haben:

Die erste Möglichkeit verwendet die Darstellung komplex differenzierbarer Funktionen f(z) = u(z) + i v(z) durch das Polya-Vektorfeld f*(z) = (u(z), -v(z)) (siehe oben). Man beginnt damit, das Polya-Vektorfeld der reellen Funktion f(x) in einem x-y-Koordinatensystem einzuzeichnen. Das ist sehr einfach: an jedem Punkt x des Definitionsbereichs von f auf der reellen x-Achse zeichnet man den Pfeil (f(x), 0) ein, der parallel zur x-Achse liegt. In der Praxis wird man die Pfeile natürlich nur für einige ausgewählte x-Werte einzeichnen.

Die Aufgabe lautet nun: zeichne auch oberhalb und unterhalb der x-Achse Pfeile ein, und zwar so, dass das so entstehende Vektorfeld keine Wirbel und keine Quellen oder Senken aufweist, soweit das möglich ist. Dabei kann man sich vorstellen, wie man sich Schritt für Schritt von der x-Achse her nach oben und unten vortastet und die neuen Pfeile immer so anbringt, dass Quellen und Senken sowie Wirbel vermieden werden. Man kann zeigen, dass es immer nur eine eindeutige Möglichkeit gibt, die Pfeile entsprechend einzutragen.

Auf diese Weise versucht man, möglichst große Gebiete der komplexen Ebene mit Pfeilen zu überdecken. In vielen Fällen wird man ohne Probleme die gesamte Ebene so mit Pfeilen versehen können und dabei vielleicht sogar Gebiete der x-Achse erreichen, auf denen f vorher gar nicht definiert war (wir kommen weiter unten noch einmal darauf zurück). Es kann aber auch Punkte geben, an denen sich kein Pfeil konsistent eintragen lässt. An diesen Punkten ist die analytische Fortsetzung dann nicht definiert. Für solche Punkte ist es auch erlaubt, dass sie z.B. wie Quellen oder Senken wirken. Typischerweise hat die analytische Fortsetzung an diesen Stellen sogenannte Pole (so wie dies f(z) = 1/z bei z = 0 hat).

Das so entstehende Polya-Vektorfeld f*(z) = (u(z), -v(z)) können wir am Schluss wieder in eine komplex differenzierbare Funktion f(z) = u(z) + i v(z) zurückübersetzen. Diese Funktion ist dann die analytische Fortsetzung der reellen Funktion f(x).

Und nun zur zweiten Möglichkeit, bei der wir statt der Vektorfelddarstellung die Gitternetzdarstellung verwenden. Wir überziehen also einen Teil der komplexen z-Ebene, der den reellen Definitionsbereich von f zumindest zum Teil enthält, mit einem Gitternetz (z.B. einem rechtwinkligen x-y-Gitter) und fragen uns, wo die Gitterpunkte landen, wenn wir aus jedem Punkt z den Punkt f(z) machen.

Für die Punkte der reellen x-Achse, die im Definitionsbereich von f liegen, ist das wieder sehr einfach: jeder Gitternetzunkt (x, 0) landet beim entsprechenden Punkt (f(x), 0).

Und nun tasten wir uns wieder in den Bereich oberhalb und unterhalb der x-Achse vor: Das Gitternetz muss nach oben und unten so ergänzt werden, dass die Schnittwinkel zwischen den Gitternetzlinien dieselben sind wie vorher, denn komplex differenzierbare Funktionen sind konform (winkelerhaltend). Dies muss für beliebige Gitternetze gelten! Das Ergebnis ist, dass es nur eine einzige Möglichkeit gibt, das Gitternetz in den Bereich jenseits der reellen x-Achse fortzusetzen. Auf diese Weise können wir rekonstruieren, an welcher Stelle f(z) ein Punkt z landen muss, damit f(z) eine analytische Fortsetzung von f(x) darstellt.

Man kann sich das Vorgehen sehr plastisch so vorstellen: Male ein x-y-Koordinatensystem mit Gitternetz auf ein Holzbrett und kopiere einen Ausschnitt davon auf eine dünne Gummihaut, wobei dieser Ausschnitt zumindest eine Teil des Definitionsbereichs von f(x) auf der x-Achse enthalten muss.

Nagle nun die Gummihaut entlang der x-Achse so auf das Brett, dass jeder Punkt (x, 0) der x-Achse der Gummihaut auf dem Punkt (f(x), 0) der x-Achse des Holzbretts zu liegen kommt. Versuche nun, ausgehen von den bereits festgenagelten Punkten der x-Achse schrittweise auch die übrige Gummihaut so auf dem Brett festzunageln, dass die Gitternetzlinien sich unter denselben Winkeln schneiden wie vorher.

Schauen wir uns dazu ein konkretes Beispiel an: die geometrische Reihe R(x) = 1 + x + x2 + x3 + x4 + x5 + ... . Diese unendliche Reihe konvergiert für |x| < 1 . Wir überziehen nun die komplexe Ebene mit einem Gitternetz. In dem vorliegenden Fall erweist sich eine Art radiales Spinnennetz mit Mittelpunkt (1, 0) als die beste Wahl. Für die Punkte der x-Achse zwischen -1 und 1 können wir nun in einem zweiten Bild die entsprechenden Punkte (R(x), 0) einzeichnen. Hier sind einige Werte: R(-0,6) = 0,625 , R(0) = 1, R(0,5) = 2, R(0,8) = 5 usw.. Generell beginnen die Punkte R(x) oberhalb von 0,5 und werden dann immer größer, je mehr sich x dem Wert 1 nähert. Der x-Achsenbereich zwischen -1 und 1 wird also auf die positive x-Achse oberhalb von 0,5 abgebildet.

Wo landen nun die übrigen Gitternetzpunkte? Die einzige Möglichkeit, die Winkel und Drehsinn unverändert lässt und die die oben bereits eingezeichneten Punkte mit umfasst, ist die folgende: Verschiebe das ursprüngliche Gitternetz, so dass sein Mittelpunkt im Ursprung (0, 0) liegt, führe anschließend eine Spiegelung der Punkte am Einheitskreis durch (d.h. ein Punkt mit Abstand r zum Ursprung (0, 0) hat danach den Abstand 1/r zum Ursprung, liegt aber auf derselben Speiche des Gitters) und führe danach eine Spiegelung an der y-Achse durch. Das Ergebnis zeigt das folgende Bild, wobei z.B. ein Punkt links außen anschließend rechts innen landet.


Analytische Fortsetzung R(z) der geometrischen Reihe R(x) = 1 + x + x2 + x3 + x4 + x5 + ... . Links ist das Ursprungsgitter gezeigt, rechts das Bild der Gitterpunkte unter der Abbildung R(z) (hier als f(z) bezeichnet).


Dieses Bild zeigt also die analytische Fortsetzung R(z) der geometrischen Reihe. Es zeigt sich, dass R(z) für alle Punkte außer für z = 1 definiert ist, also auch für x-Werte, die unterhalb von -1 oder oberhalb von +1 liegen. Für diese x-Werte war R(x) zuvor gar nicht definiert gewesen. Die analytische Fortsetzung der geometrischen Reihe hat also auch zu einer reellen Fortsetzung geführt!

Im Fall der geometrischen Reihe kann man die analytische Fortsetzung auch in Formeln leicht nachvollziehen: Es gilt R(x) = 1 + x + x2 + x3 + ... = 1 + x * (1 + x + x2 + ...) = 1 + x * R(x) . Diese Gleichung kann man nach R(x) freistellen mit dem bekannten Ergebnis R(x) = 1/(1 - x) . Die analytische Fortsetzung dieser Funktion ist R(z) = 1/(1 - z) . Genau diese Formel haben wir verwendet, um die obigen Bilder zu berechnen.


Nun sind wir gerüstet, uns auf die Suche nach der analytischen Fortsetzung der Riemannschen Zetafunktion zu machen, die zunächst nur für reelle s > 1 über die Formel ζ(s) = 1 + 1/2s + 1/3s + 1/4s + ... definiert ist.

Können wir in dieser Formel statt einem reellen s einfach ein komplexes s verwenden? Was wäre dann 1/ns mit komplexem s ?

Bei reellem s und reellem a gilt die Beziehung as = es log a mit dem natürlichen Logarithmus log zur Basis e . Also ist 1/ns = es log 1/n = e-s log n . Die e-Funktion ist aber für komplexe Zahlen überall definiert (siehe oben), d.h. jeder einzelne Summand in der Zeta-Reihe ist für beliebige komplexe s definiert. Allerdings konvergiert die Reihe nur für s, deren x-Komponente (also deren Realteil) größer als 1 ist. Damit haben wir also immerhin die analytische Fortsetzung der Zetafunktion für die z-Ebene rechts von x=1 konstruieren können. Einen Eindruck davon vermittelt dieses Bild:


Analytische Fortsetzung der Zetafunktion. Oben ist das Ursprungsgitter gezeigt, unten das Bild der Gitterpunkte unter der Abbildung ζ(s). Je weiter rechts ein Punkt s im oberen Bild liegt (d.h. je größer seine x-Komponente ist), umso näher liegt sein Bildpunkt ζ(s) im unteren Bild beim Punkt (1,0) . Das Gitter wird also gleichsam um 180 Grad gedreht und dann so verzerrt, dass die Punkte auf der x-Achse die reelle Zetafunktion wiedergeben und dass alle Winkel zwischen den Gitterlinien erhalten bleiben.


Zeichnet man das Gesamtbild (das wir hier leider nicht angeben können), so sieht man, dass es keinen Grund gibt, nur komplexe s mit Realteil oberhalb von 1 zuzulassen. Nur bei s = 1 gibt es einen Pol. Für andere s dagegen lässt sich das Gitternetzbild mit allen oben genannten Anforderungen (Winkeltreue, Drehsinn) problemlos vervollständigen, d.h. die analytische Fortsetzung der Zetafunktion sollte überall (außer bei s = 1) möglich sein. Doch wie erhält man die entsprechenden Formeln?

Ganz so einfach wie oben bei der geometrischen Reihe ist es leider nicht. Es gibt hier verschiedene Wege, ans Ziel zu gelangen, wobei das Ergebnis immer dasselbe ist, nur in verschiedener Darstellung (die analytische Fortsetzung ist ja eindeutig).

Betrachten wir beispielsweise die folgende Reihe:

η(s) = 1 - 1/2s + 1/3s - 1/4s + 1/5s - 1/6s + ...

Diese Reihe unterscheidet sich von der Reihe der Zetafunktion dadurch, dass das Vorzeichen der einzelnen Summanden immer zwischen + und - wechselt. Die Reihe konvergiert für alle komplexen s mit positivem Realteil, also rechts der y-Achse. Man bezeichnet diese Funktion als Dirichletsche Etafunktion oder auch als alternierende Zetafunktion (siehe z.B. http://mathworld.wolfram.com/DirichletEtaFunction.html). Diese Funktion ist in ihrem Definitionsbereich überall komplex differenzierbar.

Wir können nun die Reihe der Etafunktion etwas umschreiben, so dass die Reihe der Zetafunktion dabei zweimal entsteht:

η(s) = 1 - 1/2s + 1/3s - 1/4s + 1/5s - 1/6s + ... =
= 1 + (1/2s - 2*1/2s) + 1/3s + (1/4s - 2*1/4s) + 1/5s + (1/6s - 2*1/6s) + ... =
= (1 + 1/2s + 1/3s + 1/4s + 1/5s + 1/6s + ... ) - 2 * (1/2s + 1/4s + 1/6s + ...) =
= (1 + 1/2s + 1/3s + 1/4s + 1/5s + 1/6s + ... ) - 2 / 2s * (1 + 1/2s + 1/3s + ...) =
= ζ(s) - 21-s ζ(s) =
= (1 - 21-s) ζ(s)

Diese Umgruppierung ist natürlich nur für s mit Realteil > 1 erlaubt, da ansonsten die ζ(s)-Reihe nicht konvergiert.

Die erhaltene Gleichung η(s) = (1 - 21-s) ζ(s) können wir nach ζ(s) freistellen mit dem Ergebnis

ζ(s) = η(s) / (1 - 21-s)

Nun gilt diese Gleichung zunächst nur für s mit Realteil größer als 1, da ζ(s) bisher nur für diese s definiert ist. Wir können aber die obige Gleichung dazu verwenden, um die analytische Fortsetzung von ζ(s) auf den Bereich aller komplexen s mit Realteil größer als 0 auszudehnen, denn η(s) ist in diesem Bereich eine komplex differenzierbare Funktion, ebenso wie der Nenner 1 - 21-s. Einzig der Punkt s = 1 muss dabei herausgenommen werden, denn der Nenner wird hier Null (d.h. die Zetafunktion hat hier einen Pol).

Diese Ausweitung der Zetafunktion auf größere Definitionsbereiche ist keineswegs willkürlich, denn die analytische Fortsetzung einer Funktion ist immer eindeutig. Wenn man also den Definitionsbereich einer komplex differenzierbaren Funktion ausweiten kann, dann immer nur auf eine einzige Art und Weise (wobei die Formeln schon unterschiedlich aussehen können -- sie definieren aber dieselbe Funktion, nur in unterschiedlicher Darstellung).

Für die Riemannsche Vermutung ist keine weitere Ausweitung des Definitionsbereichs mehr erforderlich, denn diese Vermutung beschäftigt sich mit den Nullstellen der Zetafunktion für s-Werte mit Realteil zwischen Null und Eins. Dennoch wollen wir uns kurz ansehen, wie man den Definitionsbereich auf alle komplexen s-Werte (außer s = 1) ausweiten kann:

Man kann zeigen, dass die Zetafunktion im Streifen parallel zur y-Achse mit Realteil von s zwischen Null und Eins eine interessante Punktsymmetrie aufweist. Dazu definiert man die Funktion

A(s) := π-s/2 Γ(s/2) ζ(s)

Dabei ist Γ(s) die Gammafunktion, die sich als analytische Interpolation der Fakultät natürlicher Zahlen ergibt, wie die Gleichung Γ(n) = (n-1)! = (n-1)*(n-2)*...*2*1 zeigt (wobei n eine natürliche Zahl ist, siehe auch http://mathworld.wolfram.com/GammaFunction.html ). Die Gammafunktion ist überall komplex differenzierbar außer an den Polen bei s = 0, -1, -2, -3 usw.. Außerdem hat die Gammafunktion keine Nullstellen.

Der Grund für die Definition von A(s) liegt in der folgenden Symmetriebeziehung:

A(s) = A(1 - s)

oder gleichwertig mit s = 1/2 + z :

A(1/2 + z) = A(1/2 - z)

d.h. A ist punktsymmetrisch zum Punkt 1/2 .

Nun gilt diese Symmetrie zunächst nur im Streifen aller s mit Realteil zwischen 0 und 1, denn ζ(s) und damit A(s) ist ja links der y-Achse (d.h. Realteil von s < 0) bisher nicht definiert. Wir können aber A(s) und damit ζ(s) dadurch für alle s (außer s = 1) definieren, dass wir diese Gleichung als Definitionsgleichung für alle s ansehen. Die Werte von A(s) und damit die von ζ(s) links der y-Achse können wir per Punktspiegelung aus den bereits bekannten Werten rechts der s=1-Achse ermitteln. Außerdem kann man beweisen, dass die so definierte Zetafunktion überall komplex differenzierbar ist (außer im Pol bei s = 1).


Wie sieht nun die Riemannsche Zetafunktion in der komplexen s-Ebene aus? Die wichtigsten Eigenschaften sind hier kurz zusammengefasst:

Das folgende Bild aus Wikipedia: Riemannsche Zeta-Funktion gibt einen Überblick über die Zetafunktion:



Überblick über die Zetafunktion. Je kräftiger die Farbe ist, umso kleiner ist der Betrag der Zetafunktion.
Die Farbe selbst stellt die Phase der Zetafunktion dar: Rot = 0 Grad, Gelb-Grün = 90 Grad, Türkis = 180 Grad und Blau-Violett = 270 Grad.
Quelle: Wikimedia Commons File:Complex zeta.jpg von Jan Homann, Public Domain.


Was sieht man auf diesem Bild?

Auf der negativen x-Achse erkennt man die trivialen Nullstellen bei s = -2, -4, -6, -8, ... . Ebenso sind die nicht-trivialen Nullstellen im kritischen Streifen nach oben und unten gut zu sehen. Schaut man genauer hin, dann sieht man, dass letztere auf einer Geraden parallel zur y-Achse mit Realteil 1/2 liegen. Ob dies für alle nicht-trivialen Nullstellen gilt, weiß man nicht, doch es spricht sehr vieles dafür, wie wir weiter unten noch sehen werden:

Der Beweis dieser Vermutung ist eine Millionen US-Dollar wert!

Anders ausgedrückt sagt die Riemannsche Vermutung: Wenn man in der Mitte des kritischen Streifens nach oben geht (also genau da, wo die nichttrivialen Nullstellen liegen sollen, d.h. s = 1/2 + i t mit reellem t) und beobachtet, wie sich die Pfeilspitze des Pfeils ζ(s) dabei bewegt, dann wird diese Pfeilspitze dabei eine Art kreisende Bewegung ausführen und immer wieder durch den Nullpunkt gehen, wenn eine Nullstelle erreicht ist. Läge eine Nullstelle dagegen nicht genau in der Mitte des kritischen Streifens, so würde die Pfeilspitze die Null verfehlen. Eine entsprechende Grafik findet man unter Wikimedia Commons: File:Zeta polar.svg .


Die Riemannsche Vermutung sagt also, dass alle Nullstellen des kritischen Streifens den Realteil 1/2 besitzen. Der Beweis diese Vermutung wird als eines der wichtigsten offenen Probleme der Mathematik angesehen. Warum ist das so?

Die Riemannschen Vermutung enthält sehr viele wichtige Informationen über die Strukur der natürlichen Zahlen. Erinnern wir uns: Die Positionen der Primzahlen legen die Riemannsche Zetafunktion eindeutig fest. Gleichzeitig sind die Primzahlen die multiplikativen Atome der natürlichen Zahlen, denn jede natürliche Zahl lässt sich auf genau eine Weise als Produkt von Primzahlen schreiben. Die Information über diese Atome ist in der Zetafunktion gleichsam kodiert und wird über die Methode der analytischen Fortsetzung auf der komplexen Zahlenebene verteilt. In dieser zweidimensionalen Ebene hat man viel mehr Bewegungsspielraum als nur auf der reellen Zahlenachse, so dass dadurch die Informationen den mächtigen Werkzeugen der komplexen Analysis zugänglich werden. Diese Werkzeuge reagieren empfindlich auf Pole und Nullstellen, d.h. in den Positionen der Nullstellen der Zetafunktion stecken viele zentrale Informationen über Primzahlen und damit auch über natürliche Zahlen. Man könnte sagen, in den Polen und Nullstellen kondensiert sich diese Information. Dies zeigt auch die folgende physikalisch motivierte Veranschaulichung des Zusammenhangs zwischen Primzahlverteilung und Nullstellen der Zetafunktion:

Je mehr nichttriviale Nullstellen ρ der Zetafunktion man hinzunimmt, umso genauer kann man also die wahre Primzahlverteilung π(x) reproduzieren. In niedrigster Näherung (also ohne jede Nullstelle) wird π(x) durch die Riemannfunktion R(x) approximiert. Nimmt man die erste Nullstelle hinzu, so ergeben sich kleine Oberwellen, die versuchen, die Stufen der Primzahlverteilung π(x) grob zu imitieren, was bei den ersten Stufen auch ganz gut gelingt. Nimmt man weitere Nullstellen und damit feinere Oberwellen hinzu, so werden die Stufen immer genauer beschrieben. Die Grafiken aus The music of primes, http://www.musicoftheprimes.com/valleys.htm zeigen dies sehr schön.

Letztlich geht es bei der Riemannschen Vermutung um die Verteilung der Primzahlen im Meer der natürlichen Zahlen. Dieses Meer ist über die Addition definiert, denn von Zahl zu Zahl wird immer wieder 1 hinzugezählt -- eben der ganz normale Prozess des Zählens. Die Primzahlen dagegen sind über die Multiplikation definiert, denn sie sind über die Primfaktorzerlegung die multiplikativen Bausteine der natürlichen Zahlen. Die Verteilung der Primzahlen und damit die Riemannsche Vermutung sagt also etwas über die Wechselbeziehung von Addition und Multiplikation natürlicher Zahlen aus. Beide für sich sind unproblematisch, aber beide zusammen sind unglaublich komplex und bis heute nicht vollständig durchdrungen, wie der fehlende Beweis für die Riemannsche Vermutung eindrucksvoll zeigt.

Diese Rekonstruktion der Primzahlverteilung über die nichttrivialen Nullstellen der Zetafunktion bewirkt -- wie wir ja bereits wissen -- dass beispielsweise die Fehlerabschätzung im Primzahlsatz von den Positionen der nichttrivialen Nullstellen der Zetafunktion abhängt. Aber auch viele andere Beweise der Zahlentheorie verwenden die Riemannsche Vermutung als Annahme -- kein Wunder, denn diese gleichsam an der Schnittstelle von Addition und Multiplikation natürlicher Zahlen sitzt.

Die Riemannsche Vermutung ist zudem keine isolierte Fragestellung. Sie ist eine Art Prototyp für eine allgemeine Klasse von Funktionen (den sogenannten L-Funktionen), die etwas mit der algebraischen Darstellung arithmetischer Objekte zu tun haben. Auf Details wollen wir hier nicht eingehen.

Allein schon die Tatsache, dass die Riemannsche Vermutung bis heute allen Beweisversuchen erfolgreich widerstanden hat, macht sie so interessant. Man hat heute den Eindruck, dass vollkommen neue Beweisideen und Beweisverfahren zu ihrer Lösung notwendig sind. Vermutlich müssen erst sehr allgemeine und umfangreiche Probleme geknackt werden, damit gleichsam nebenbei auch die Riemannsche Vermutung bewiesen werden kann (so war es beispielsweise bei der Fermatschen Vermutung).


Man geht heute davon aus, dass die Riemannsche Vermutung zutrifft. Dafür gibt es mehrere Gründe:


Besteht Hoffnung, die Riemannsche Vermutung beweisen zu können, oder erweist sie sich womöglich als unabhängig von den Axiomen der Mengenlehre, analog zur Kontinuumshypothese?

Einige Mathematiker glauben, dass ein Beweis in nicht allzu ferner Zukunft möglich sein könnte. So wurden Analogien zwischen den nichttrivialen Nullstellen und quantenmechanischen chaotischen Systemen entdeckt: Der Mathematiker Hugh Montgomery und der Physiker Freeman Dyson machten im Jahr 1972 die Beobachtung, dass die Abstände zwischen den Nullstellen der Zeta-Funktion genauso aussehen wie die Abstände zwischen den Energieniveaus in quantenchaotischen Systemen. Die Nullstellen scheinen sich gleichsam abzustoßen, haben also statistisch die Tendenz, nicht zu nahe beieinander zu liegen. Mathematisch präziser ausgedrückt: Die nichttrivialen Nullstellen der Zetafunktion scheinen dieselben statistischen Eigenschaften aufzuweisen wir die Eigenwerte von hermiteschen Zufallsmatrizen. Ob sich diese Analogie für einen Beweis nutzen lässt, ist allerdings noch unklar. Fände sich jedoch beispielsweise eine quantenchaotische Anordnung, deren Energieniveaus exakt mit den Nullstellen der Zeta-Funktion übereinstimmen, wäre die Riemannsche Vermutung bewiesen.


Literatur zu dem Thema:


zurück zum Inhaltsverzeichnis

last modified on 19 March 2009