Wissenschaftliche Programmierung

Wissenschaftliche Programmierung
Python
Ist eine freie Skript-Programmiersprache, die man mit verschiedenen Paketen ausrüsten kann. Für
wissenschaftliche Arbeiten braucht man folgende Pakete: NumPy, Matplotlib, SciPy und als
Entwicklungsumgebung Spyder oder einen einfachen Editor wie Editra.
http://www.numpy.org/
http://matplotlib.org/
http://ipython.org/
http://bpython-interpreter.org/
http://code.google.com/p/spyderlib/
http://editra.org/
Alle diese Pakete sind in dem Paket Canopy enthalten: https://www.enthought.com/downloads/
Es ist verfügbar für Windows, Mac und Linux.
Für Windows gibt es zusätzlich die sehr attraktive Alternative Pythonxy:
http://code.google.com/p/pythonxy/ direkt installieren.
Für Linux steht dies alles auch in Repositorien zur Verfügung (http://software.opensuse.org/123/de)
Die Dokumentation im Internet ist sehr gut und es stehen viele Bücher bzw. ebooks in der
Universitätsbibliothek frei zugänglich:
1.
A Primer on Scientific Programming with Python, Hans Petter Langtangen
2.
Numerical Methods in Engineering with Python, Jann Kiusalaas
3.
Matplotlib for Python Developers, Sandro Tosi
4.
Python Algorithms: Mastering Basic Algorithms in the Python Language, Magnus Lie
Hetland
5.
Rapid GUI Programming with Python and Qt , Mark Summerfield (grafischer
Benutzeroberflächen)
6.
wxPython 2.8 Application Development Cookbook , Cody Precord (grafischer
Benutzeroberflächen)
Matlab
Ist eine sehr verbreitete kommerzielle Software, die häufig in der Industrie eingesetzt wird. Es gibt
allerdings viele ähnliche kostenlose Software wie Gnu Octave, Scilab, oder Freemat.
http://www.gnu.org/software/octave/
http://www.scilab.org/
http://freemat.sourceforge.net/
Man kann die qtoctave-Entwicklungsumgebung für octave benutzen.
Man findet viele Beispiele und Dokumentation im Internet. Die Universitätsbibliothek hat auch
einige Bücher über Matlab:
1.
Numerical Methods in Engineering with Matlab Jann Kiusalaas
2.
Ingenieurmathematik kompakt ? Problemlösungen mit MATLAB - Einstieg und
Nachschlagewerk für Ingenieure und Naturwissenschaftler, Hans Benker
3.
Einstieg in das Programmieren mit MATLAB, Ulrich Stein
4.
Matlab und Simulink in der Ingenieurpraxis, Wolf D. Pietruszka
Origin
ist eine kommerzielle Software für Windows, die von dem Fachbereich Physik für die PhysikStudentinnen und Studenten zur Verfügung gestellt wird. Sie ist sehr einfach zu bedienen und wird
für das Anfänger und das Fortgeschrittenen Praktikum empfohlen.
http://www.rz.uni-frankfurt.de/services/soft/origin/studierende/index.html
Alternativen sind Qtiplot (kostenlos für Linux), SciDavis (Windows, Mac, Linux), Labplot
(Linux).
Mathematica
Ist ein sehr verbreitetes kommerzielles Computeralgebrasystem, das an Universitäten und
Forschungsinstituten insbesondere in der theoretischen Physik verwendet wird. Wie die
kommerzielle Software Maple ist die Stärke von solcher Software die symbolische Rechnung.
Verfügbare Alternativen sind Maxima (wxMaxima) oder das Paket SymPy für Python, die beiden
sind für Windows, Mac und Linux verfügbar.
Universitätsbibliothek:
Mathematica kompakt, Christian H. Weiß
Plot Programme
Veusz: http://home.gna.org/veusz/
xmgrace: http://plasma-gate.weizmann.ac.il/Grace/
gnuplot: http://www.gnuplot.info/
PlPlot: http://plplot.sourceforge.net/
Andere
Euler: http://euler.rene-grothmann.de/
Genius: http://www.jirka.org/genius.html
Kalgebra: http://userbase.kde.org/KAlgebra
KmPlot: http://userbase.kde.org/KmPlot/de
Universitätsbibliothek:
Excel Data Analysis - Modeling and Simulation, Hector Guerrero
Scientific Data Analysis using Jython Scripting and Java Sergi V. Chekanov
Data Analysis with Open Source Tools, Philipp K. Janert
Chaco (2D-Plot für Python): http://code.enthought.com/chaco/
Mayavi2 (3D-Plot für Python): http://code.enthought.com/projects/mayavi/
mpmath: http://code.google.com/p/mpmath/
Pyx: http://pyx.sourceforge.net/
Linux/Unix Betriebsysteme
http://software.opensuse.org/123/de
Universitätsbibliothek:
Linux, Michael Kofler
Linux - Das umfassende Handbuch, Johannes Plötber / Steffen Wendzel
Linux Bible, Christopher Negus
Automating Unix and Linux Administration, Kirk Bauer
Solaris 9 Administration: A Beginner's Guide, Paul Watters
Python for Unix and Linux System Administration, Noah Gift / Jeremy Darwin