Numerische Rezepte - Numerical Recipes

Numerische Rezepte: Die Kunst des wissenschaftlichen Rechnens
NumericalRecipes3rdEdCover.jpg
Cover der dritten (C ++) Ausgabe

Autor William H. Press , Saul A. Teukolsky , William T. Vetterling und Brian P. Flannery
Sprache Englisch
Disziplin Numerische Analyse
Verleger Cambridge University Press
Webseite numerische Rezepte

Numerical Recipes ist der allgemeine Titel einer Reihe von Büchern über Algorithmen und numerische Analysen von William H. Press , Saul A. Teukolsky , William T. Vetterling und Brian P. Flannery . In verschiedenen Ausgaben sind die Bücher seit 1986 im Druck. Die letzte Ausgabe wurde 2007 veröffentlicht. 2015 verkaufte Numerical Recipes seinen historischen aus zwei Buchstaben bestehenden Domainnamen nr.com und wurde numerical.recipes stattdessen.

Überblick

Die Bücher über numerische Rezepte decken eine Reihe von Themen ab, die sowohl die klassische numerische Analyse ( Interpolation , Integration , lineare Algebra , Differentialgleichungen usw.) als auch die Signalverarbeitung ( Fourier-Methoden , Filterung ), die statistische Behandlung von Daten und einige Themen umfassen maschinelles Lernen ( verstecktes Markov-Modell , Support-Vektor-Maschinen ). Der Schreibstil ist zugänglich und hat einen informellen Ton. Der Schwerpunkt liegt auf dem Verständnis der zugrunde liegenden Grundlagen von Techniken und nicht auf den Verbesserungen, die in der Praxis erforderlich sein können, um eine optimale Leistung und Zuverlässigkeit zu erzielen. Nur wenige Ergebnisse werden mit einem gewissen Grad an Genauigkeit bewiesen, obwohl die Ideen hinter den Beweisen oft skizziert und Referenzen angegeben werden. Wichtig ist, dass praktisch alle Methoden, die besprochen werden, auch in einer Programmiersprache implementiert sind , wobei der Code im Buch abgedruckt ist. Jede Version ist auf eine bestimmte Sprache festgelegt.

Laut dem Verlag Cambridge University Press sind die Bücher mit den numerischen Rezepten historisch gesehen die meistverkauften Bücher aller Zeiten über wissenschaftliche Programmiermethoden. In den letzten Jahren wurden Numerical Recipes- Bücher laut ISI Web of Knowledge mehr als 3000 Mal pro Jahr in der wissenschaftlichen Literatur zitiert (z. B. 3962 Mal im Jahr 2008). Ende 2017 hatte das Buch über 44000 Zitate bei Google Scholar .

Geschichte

Die erste Veröffentlichung erfolgte 1986 mit dem Titel "Numerical Recipes, The Art of Scientific Computing", der Code sowohl in Fortran als auch in Pascal enthielt. Ein Begleitbuch, "Numerical Recipes Example Book (Pascal)", wurde erstmals 1985 veröffentlicht. (In einem Vorwort in "Examples" wird erwähnt, dass das Hauptbuch auch 1985 veröffentlicht wurde, in der offiziellen Anmerkung in diesem Buch heißt es jedoch 1986.) Ergänzende Ausgaben Es folgte Code in Pascal, BASIC und C. Numerical Recipes nahm von Anfang an eine redaktionelle Stellungnahme ein, die im Widerspruch zur konventionellen Weisheit der Community für numerische Analysen stand:

Wenn es in diesem Buch ein einziges dominantes Thema gibt, können praktische Methoden der numerischen Berechnung gleichzeitig effizient, klug und - wichtig - klar sein. Die alternative Sichtweise, dass effiziente Berechnungsmethoden notwendigerweise so geheimnisvoll und komplex sein müssen, dass sie nur in "Black-Box" -Form nützlich sind, lehnen wir entschieden ab.

Wie sich jedoch herausstellte, waren die 1980er Jahre für die "Black Box" -Seite fruchtbare Jahre, die wichtige Bibliotheken wie BLAS und LAPACK sowie integrierte Umgebungen wie MATLAB und Mathematica hervorbrachten . In den frühen neunziger Jahren, als Versionen der zweiten Ausgabe von numerischen Rezepten (mit Code in C, Fortran-77 und Fortran-90) veröffentlicht wurden, war klar, dass der Wahlkreis für numerische Rezepte keineswegs die Mehrheit der Wissenschaftler war, die Berechnungen durchführten. aber nur das Stück, das zwischen den mathematischeren numerischen Analysten und der größeren Gemeinschaft unter Verwendung integrierter Umgebungen lebte. Die Versionen der zweiten Ausgabe spielten in dieser Nischenumgebung eine stabile Rolle.

Mitte der 2000er Jahre wurde die Praxis des wissenschaftlichen Rechnens durch das ausgereifte Internet und Web radikal verändert. In der Erkenntnis, dass ihre Bücher mit numerischen Rezepten zunehmend mehr für ihren erklärenden Text als für ihre Codebeispiele geschätzt wurden, erweiterten die Autoren den Umfang des Buches erheblich und schrieben einen großen Teil des Textes erheblich um. Sie enthielten weiterhin Code für jede besprochene Methode, der noch im Buch, jetzt in C ++, abgedruckt ist. Die dritte Ausgabe wurde auch als elektronisches Buch veröffentlicht, das schließlich kostenlos (mit begrenzten Seitenaufrufen) oder durch ein kostenpflichtiges oder institutionelles Abonnement (mit unbegrenzten Seitenaufrufen) im Internet verfügbar gemacht wurde.

Kritik

Numerical Recipes ist ein einzelner Band, der eine sehr breite Palette von Algorithmen abdeckt. Leider verzerrte dieses Format die Auswahl der Algorithmen in Richtung einfacherer und kürzerer früher Algorithmen, die nicht so genau, effizient oder stabil waren wie spätere komplexere Algorithmen. Die erste Ausgabe hatte auch einige kleinere Fehler, die in späteren Ausgaben behoben wurden; Laut den Autoren stießen sie jedoch jahrelang im Internet auf Gerüchte, dass Numerical Recipes "voller Fehler" sei . Sie führten dies auf Personen zurück, die veraltete Versionen des Codes verwendeten, auf Fehler in anderen Teilen des Codes und auf den Missbrauch von Routinen, für deren korrekte Verwendung ein gewisses Verständnis erforderlich ist.

Die Codeauflistungen sind urheberrechtlich geschützt und werden von den Autoren der numerischen Rezepte kommerziell lizenziert . Allerdings Numerical Recipes enthält die folgende Erklärung in Bezug auf Urheberrechte an Computerprogrammen:

Das Urheberrecht schützt keine Ideen, sondern nur den Ausdruck dieser Ideen in einer bestimmten Form. Im Fall eines Computerprogramms bestehen die Ideen aus der Methodik und dem Algorithmus des Programms, einschließlich der erforderlichen Abfolge von Schritten, die vom Programmierer übernommen wurden. Der Ausdruck dieser Ideen ist der Programmquellcode   ... Wenn Sie die in einem Programm enthaltenen Ideen analysieren und diese Ideen dann in Ihrer eigenen, völlig anderen Implementierung ausdrücken, gehört Ihnen diese neue Programmimplementierung.

Eine frühe Motivation für die GNU Scientific Library war, dass eine kostenlose Bibliothek als Ersatz für numerische Rezepte benötigt wurde .

Eine andere Kritik konzentriert sich auf den Codierungsstil der Bücher, die einige moderne Leser als "Fortran-ish" empfinden, obwohl sie in zeitgenössischem, objektorientiertem C ++ geschrieben sind. Die Autoren haben ihren sehr knappen Codierungsstil für das Format des Buches aus Platzgründen und zur besseren Lesbarkeit verteidigt.

Titel in der Reihe (Teilliste)

Die Bücher unterscheiden sich nach Ausgabe (1., 2. und 3.) und nach der Computersprache, in der der Code angegeben ist.

  • Numerische Rezepte. The Art of Scientific Computing, 1. Auflage , 1986, ISBN   0-521-30811-9 . (FORTRAN und Pascal)
  • Numerical Recipes in C . The Art of Scientific Computing, 1. Auflage , 1988, ISBN   0-521-35465-X .
  • Numerische Rezepte in Pascal . The Art of Scientific Computing, 1. Auflage , 1989, ISBN   0-521-37516-9 .
  • Numerische Rezepte in Fortran . The Art of Scientific Computing, 1. Auflage , 1989, ISBN   0-521-38330-7 .
  • Numerische Rezepte in BASIC . The Art of Scientific Computing, 1. Auflage , 1991, ISBN   0-521-40689-7 . (ergänzende Ausgabe)
  • Numerische Rezepte in Fortran . The Art of Scientific Computing, 2. Auflage , 1992, ISBN   0-521-43064-X .
  • Numerical Recipes in C . The Art of Scientific Computing, 2. Auflage , 1992, ISBN   0-521-43108-5 .
  • Numerische Rezepte in Fortran 90 . Die Kunst des parallelen wissenschaftlichen Rechnens, 2. Auflage , 1996, ISBN   0-521-57439-0 .
  • Numerische Rezepte in C ++ . The Art of Scientific Computing, 2. Auflage , 2002, ISBN   0-521-75033-4 .
  • Numerische Rezepte. The Art of Scientific Computing, 3. Auflage , 2007, ISBN   0-521-88068-8 . (C ++ - Code)

Die Bücher werden von Cambridge University Press veröffentlicht .

Verweise

Externe Links