close

Anmelden

Neues Passwort anfordern?

Anmeldung mit OpenID

GEORG.NET Fortführung importieren und Gebühren abrechnen

EinbettenHerunterladen
Rechnernutzung in der Physik WS14/15
Teil II: Computeralgebra/Mathematica
Alexander Hasselhuhn
1.
2.
3.
4.
5.
Grundlagen (von Mathematica)
Klassische Physik und Computeralgebra
Numerische Integration
Quantenmechanik und Computeralgebra
Spezielle Computeralgebrasysteme
Literatur:
◮ C. Weiß: Mathematica kompakt: Einf¨
uhrung — Funktionsumfang —
”
Praxisbeispiele“, Oldenbourg
◮ F. Olness, R. Zimmermann: Mathematica for Physics“, Addison Wesley
”
◮ R. Maeder: Programming in Mathematica“, Addison Wesley
”
◮ W. Kinzel, G. Reents: Physik per Computer“, Spektrum
”
◮ M. Trott: The Mathematica Guide Book for Programming“, Springer
”
◮ Documentation Center von Mathematica: http://reference.wolfram.com
1/7
Warum Computeralgebra?
◮ Moderne Physik (Theorie & Experiment) ist ohne Computer
undenkbar
◮ Computeralgebrasysteme (CAS) erlauben symbolisches Rechnen:
◮
◮
◮
◮
◮
◮
◮
Polynome multiplizieren, dividieren, faktorisieren,...
Differenzieren, Integrieren, loesen von DGLn, ...
Umgang mit Vektoren/Matrizen, lineare Algebra, ...
Termersetzungen
Numerik
Datenanalyse
usw.
◮ Beispiel (theoretische Teilchenphysik): Quantenkorrekturen zur
Polarisationsfunktion des Photons:
◮
◮
◮
analytische Rechnung (l¨
osen vieler Integrale)
≈ 1 TB f¨
ur Zwischenausdr¨
ucke
meherere Monate CPU-Zeit (auf Hochleistungsrechnern)
2/7
Abgrenzung zu h¨oheren Programmiersprachen (HPS)
HPS: C++, Fortran,...
CAS
+ symbolisches Rechnen
+ exakte Rechnung“
m¨
oglich
√
”
→ kennt 2, π, ...
+ automatisierung analytischer
Rechnungen (perfekte
Buchhaltung)
+ unmittelbarer numerischer
Crosscheck anal.
Rechnungen m¨oglich
+ zum Probieren“ oder
”
Entwickeln von Algorithmen
HPS
+ schlanke numerische
Arithmetik → schnell
+ komplexe/komplizierte
Numerik, hochdimensionale
Integration (>
4,5,...,10,11,...), große
Ausdr¨
ucke
- weniger flexibel
- nur“ numerische Rechnung
”
- langsam bei großen“
”
Ausdr¨
ucken
3/7
Art der Programmierung
CAS
HPS
◮ Variablen m¨
ussen i.A. nicht
definiert werden
◮ Alle Variablen m¨
ussen (i.A.)
vorher definiert werden
◮ schlampiges“ oder
”
skizzenhaftes“
”
Programmieren
m¨
oglich/erlaubt (evtl.
interaktiv)
◮ (i.A.) strukturiertes
Vorgehen erforderlich
(Typendeklaration,
Zuweisung/Definition)
◮ (oft) Sprachenspezifische
Programmierparadigmen (C:
Imperativ, C++: Imperativ
& Objektorientiert, Lisp:
funktional,...)
◮ Algorithmen, Funktionen in
Bibliotheken vorhanden (vgl.
STL in C++)
◮ (oft) Vermischung von
Funktionaler und imperativer
Programmierung
◮ viele eingebaute Routinen,
Funktionen, Algorithmen,
Pakete, ... verf¨
ugbar
4/7
¨
Uberblick
¨uber CAS (unvollst¨andig)
Es gibt universelle“ und spezialisierte“ CAS
”
”
Mathematica
Maple
Macsyma
Maxima
Derive
MuPAD
MatLab
Sage
Axiom
Ginac
sehr umfangreich; anal. & num. Rechnungen
m¨oglich, weit verbreitet (Komerziell)
seit 1968; erstes umfangreiches CAS
Open-Source-Zweig von Macsyma
R.I.P †; → TI-Nspire CAS Software f¨
ur Sch¨
uler
von MatLab (Firma MathWorks) in 2008 u
¨bernommen
=Matrix Laboratory; Technical Computing“; graph. Dar”
stellung, num. Rechnung, symbolisches Rechnen dank der
MuPAD symbolic engine
Soll eine Open-Source-Alternative f¨
ur Mathematica, Maple,
MatLab,... darstellen. Sehr aktiv genutzt in der Mathematik! Bisher: alle Symbole m¨
ussen deklariert werden, multivariate Polynomalgebra gew¨
ohnungsbed¨
urftig/unbrauchbar.
n¨
utzlich im Zusammenhang mit math. Algorithmen
Univ. Mainz, C++ Bibliothek; durch Hauptspeicher begr.
5/7
¨
Uberblick
¨uber CAS (unvollst¨andig)
Reduce
Form
Fermat
zwischen Mathematica und FORM“; l¨
ost z.B. alg. Gleichungen
”
geringer Befehlsumfang; aber sehr schnell, auch bei großen
Ausdr¨
ucken (nutzt die Festplatte!); keine Numerik; kein interaktiver Modus; gutes Pattern-Matching
Weltmeister“ beim Berechnen von ggT
”
Siehe auch:
http://en.wikipedia.org/wiki/list_of_computer_algebra_systems
http://www.swmath.org/
6/7
Einf¨uhrung in Mathematica
kap1 intro.nb
7/7
Document
Kategorie
Bildung
Seitenansichten
4
Dateigröße
82 KB
Tags
1/--Seiten
melden