41 Wissenschaftliches Rechnen 

In diesem Kapitel werden wir Ihnen Module vorstellen, mit deren Hilfe Python zur numerischen Lösung mathematischer Probleme verwendet werden kann. Die Möglichkeiten sind mit Umgebungen wie MATLAB oder Scilab vergleichbar.
Mithilfe der hier vorgestellten Module numpy und scipy lassen sich beispielsweise Gleichungen und Optimierungsprobleme lösen, Integrale berechnen, statistische Berechnungen durchführen oder simulieren. Die Ergebnisse können mit dem Modul matplotlib visualisiert werden.
Die Berechnungen werden intern durch hardwarenahe Routinen durchgeführt, sodass sich bei geschickter Programmierung effiziente Programme schreiben lassen.
In diesem Kapitel präsentieren wir Ihnen keine erschöpfende Erklärung der mannigfaltigen Fähigkeiten von numpy, scipy und matplotlib, sondern Sie werden anhand eines einfachen Beispiels an den prinzipiellen Umgang mit den Modulen herangeführt. Außerdem finden Sie am Schluss des Kapitels eine Übersicht über den strukturellen Aufbau von scipy sowie weitere Beispiele für die Verwendung des Datentyps numpy.ndarray.
Ziel dieses Kapitels ist es, Ihnen einen Überblick zu geben, ob numpy, scipy und matplotlib für Ihre konkreten Programme nützlich sind. Nach der Lektüre dieser Einleitung sind Sie dann in der Lage, gezielt auf die Onlinedokumentationen zurückzugreifen.
Tabelle 41.1 enthält eine kurze Beschreibung der drei Module.
Modul | Beschreibung |
---|---|
numpy |
Stellt den flexiblen Datentyp ndarray für mehrdimensionale Arrays zur Verfügung, mit dessen Hilfe umfangreiche Rechnungen effizient durchgeführt werden können. Die Onlinedokumentation finden Sie auf der Seite: http://docs.scipy.org/doc/ unter Numpy Reference Guide |
scipy |
Implementiert aufbauend auf numpy vielfältige mathematische Operationen. Die Onlinedokumentation finden Sie auf der Seite: http://docs.scipy.org/doc/ unter Scipy Reference Guide |
matplotlib |
Visualisiert Daten grafisch. Dabei ist es erklärtes Ziel der Entwickler, hochwertige Grafiken zu erzeugen, die beispielsweise in wissenschaftlichen Veröffentlichungen verwendet werden können. Die Onlinedokumentation finden Sie auf der Seite: http://matplotlib.sourceforge.net/ unter docs |
Tabelle 41.1 Die Module für numerische Berechnungen und Visualisierung
Die Module sind nicht in der Standardbibliothek von Python enthalten und müssen daher separat installiert werden. Wie dies funktioniert, erfahren Sie im folgenden Abschnitt.
41.1 Installation 

Falls Sie Anaconda einsetzen, sind alle drei Module standardmäßig vorinstalliert oder können bei Bedarf folgendermaßen nachinstalliert werden, wie in Abschnitt 38.4 beschrieben:
$ conda install numpy scipy matplotlib
Für Leser, die Anaconda nicht verwenden
Die neusten Versionen der Module numpy und scipy finden Sie auf der offiziellen Homepage unter http://www.scipy.org/ bzw. auf den zugehörigen Download-Seiten von Sourceforge:
- http://sourceforge.net/projects/numpy/files/NumPy/
- http://sourceforge.net/projects/scipy/files/scipy/
Dort werden sowohl der Quellcode als auch vorkompilierte Pakete für Windows und macOS angeboten.
Falls Sie unter Linux arbeiten, gibt es mit hoher Wahrscheinlichkeit vorgefertigte Pakete für Ihre Distribution, die numpy und scipy enthalten. Wir empfehlen Ihnen, auf diese Pakete zurückzugreifen. Unter Ubuntu 16.04 beispielsweise können Sie alle drei Module folgendermaßen installieren:
$ sudo apt-get install python3-numpy python3-scipy python3-matplotlib
Die neuste Version von matplotlib finden Sie auf der Seite http://www.matplotlib.org unter download.