Computer-Physik
Sommer 2023
Mo, 12:00 | Algorithmen, S. Trebst HS III, konventionelle Vorlesung
Di, 14:00 | Programmiertechniken, S. Trebst
HS III, interaktives Format — bringen Sie Ihren Laptop mit
Mi - Fr | Übungsgruppen, TutorInnen
verschiedene Seminarräume
Überblick
Die Vorlesung behandelt numerische Methoden zur Lösung physikalischer Probleme und bietet mit der Ausweitung auf 4 Wochenstunden seit 2016 auch eine Einführung in elementare Programmiertechniken. Dabei werden sowohl grundlegende numerische Verfahren eingeführt als auch auf Fragestellungen der Mechanik, Elektrodynamik, Quantenmechanik und statistischen Physik angewendet.Vorlesungen
Die Vorlesung findet in Präsenz statt. Parallel dazu stellen wir Ihnen in diesem Semester auch sämtliche Vorlesungen und Programmier-Tutorials als online Videos zur Verfügung. Wir greifen dabei auf die Aufzeichnungen aus dem Jahr 2020 zurück, wo wir diese mit viel Aufwand eingespielt haben. Sie finden alle Videos auch dauerhaft auf vimeo unter vimeo.com/showcase/compphys20.Übungen
Der reguläre Übungsgruppenbetrieb beginnt in der ersten Semesterwoche. Bei Fragen zum Übungsbetrieb melden Sie sich bitte bei Christoph Berke.Übungsblätter
- Präsenz-Übung 1:
Einstiegsaufgaben [notebook]
- Präsenz-Übung 2:
Listen und Fibonacci Zahlen [notebook],
Funktionen und Primzahlen [notebook]
- Übungsblatt 3:
Alles über Primzahlen (Teil II) [notebook],
Seahorses reflecting elephants [notebook]
Bonus-Aufgabe: Sierpinski-Dreieck [notebook] - Übungsblatt 4:
Welcome to the jungle [notebook],
Gekickter Rotor [notebook]
Bonus-Aufgabe: Chaotisches Wachstum [notebook]
- Übungsblatt 5:
Divide and conquer [notebook],
Newton Methode [notebook]
Bonus-Aufgabe: Newton Fraktale [notebook] - Übungsblatt 6:
Simpson vs. Trapez [notebook],
Sortieren, Skalieren und Animieren [notebook]
Bonus-Aufgabe: Stau aus dem Nichts [notebook] - Übungsblatt 7:
Die Zukunft richtig ausgependelt [notebook],
Monde auf der Überholspur [notebook]
Bonus-Aufgabe: Zelluläre Automaten in 2D [notebook] - Übungsblatt 8:
Dancing with the stars [notebook],
Heisser Draht [notebook]
Bonus-Aufgabe: Magnetpendel [notebook]
- Übungsblatt 9:
Allerlei aus dem Potentialtopf [notebook],
Pendeln in der Quantenwelt [notebook]
Bonus-Aufgabe: Landschaften [notebook]
- Übungsblatt 10:
Relaxen im Plattenkondensator [notebook],
Spannende Sachen [notebook]
Bonus-Aufgabe: Pendeln im Potentialtopf [notebook] - Probeklausur: Kurzfragen, Angry Birds, Ordnung muss sein
- Übungsblatt 11:
Heisser Draht 2.0 [notebook],
Geist in der Matrix [notebook]
Bonus-Aufgabe: Hofstadter butterfly [notebook] - Übungsblatt 12:
Viele Wege führen nach π [notebook],
Zufallsmatrizen [notebook]
Bonus-Aufgabe: Chaos Game [notebook] - Übungsblatt 13:
Integration mit gezinkten Würfeln [notebook],
Integration auf Irrwegen [notebook],
Bonus-Aufgabe: Dentriten [notebook] - Übungsblatt 14:
Durchhänger [notebook],
Ising Modell [notebook]
Bonus-Aufgabe: Unterwegs mit Metropolis [notebook]
- Bonus-Blatt 15: Bonus-Aufgabe: Maschinelles Lernen [notebook]
Programmiertechniken
Eine Einführung in Programmiertechniken wird integraler Bestandteil der Vorlesung sein. Wir werden diese am Beispiel der Programmiersprache Julia lehren. Julia ist eine relativ junge Programmiersprache, die in vielen Aspekten artverwandt mit Python ist, zugleich aber eine ungleich höhere numerische Effizienz mit sich bringt.Tutorials
- Tutorial 0x0: Erste Schritte
[template]
Video P0
- Tutorial 0x1: Variablen, Datenstrukturen
[template]
Video P1
- Tutorial 0x2: Funktionen, Schleifen, Verzweigungen
[template]
Video P2
- Tutorial 0x3: Plots, Sortier-Algorithmen, timing und Komplexitätsanalyse
[template]
Video P3
- Tutorial 0x4: Verarbeitung experimenteller Daten [template] Video P4
- Tutorial 0x5: Differential-Gleichungen, Maschinenpraezession
[template]
Video P5
- Tutorial 0x6: Zeitaufgelöste Streuung in der Quantenmechanik
[template #1,
template #2]
Video P6
- Tutorial 0x7: Lineare Algebra
[template]
Video P7
- Tutorial 0x8: Zufallszahlen
[template]
Video P8
- Tutorial 0x9: Ising Modell
[template]
Video P9
- Tutorial 0xA: Maschinelles Lernen —
part 1 [template],
part 2 [template]
Video P10
- Einschub: Julia Environments [video]
Begleitend zu den Programmier-Tutorials der Vorlesung stellen wir Ihnen hier ein von Christoph Berke aufgenommenes Video-Tutorial zum Plotten in Julia mit der Makie-Bibliothek zur Verfügung:
- Makie-Tutorial 1: Grundlagen
[complete]
Video T1
- Makie-Tutorial 2: Interaktive Plots
[complete]
Video T2
- Makie-Tutorial 3: Animationen
[complete]
Video T3
Julia-Resourcen
- JuliaLang.org, die offizielle Julia-Webseite
- Think Julia, ein online Buch
- Intro to Julia, Video-Tutorial
- Julia books, tutorials, and videos, eine Liste von weitergehenden Julia-Resourcen
- 2019 Advanced Julia Workshop, fortgeschrittenes Programmieren in Julia (mit Carsten Bauer)
Literatur
- S. Gerlach, Computerphysik (Springer Spektrum)
Uni-Bibliothek, Studierendenbibliothek Physik - T. Pang, An Introduction to Computational Physics (Cambridge University Press)
Uni-Bibliothek, Studierendenbibliothek Physik - J.M. Thijssen, Computational Physics (Cambridge University Press)
Uni-Bibliothek, Studierendenbibliothek Physik - W. Krauth, Statistical Mechanics: Algorithms and Computations (Oxford University Press)
Uni-Bibliothek, Studierendenbibliothek Physik - M. Newmann, Computational Physics with Python
Weiterführende Literatur
- Lloyd N. Trefethen and David Bau III, Numerical linear algebra (SIAM)
- Michael Nielsen, Neural Networks and Deep Learning
Programiersprache Julia
- Ivo Balbaert, Getting Started with Julia Programming (Packt Publishing)
Uni-Bibliothek, Studierendenbibliothek Physik - Malcolm Sherrington, Mastering Julia (Packt Publishing)
Uni-Bibliothek, Studierendenbibliothek Physik
Klausurtermine
Klausur: Mittwoch, 9. August 2023 | 9:00 - 12:00 | HS IDenken Sie bitte an Ihre rechtzeitige KLIPS-Anmeldung.
Nachklausur: Dienstag, 26. September 2023 | 13:00 - 16:00 | HS I
Denken Sie an Ihre erneute und rechtzeitige KLIPS-Anmeldung.