Computer-Physik
Sommer 2020
Mo, 13:00 | Zoom-Meeting mit Prof. Simon TrebstVorbesprechung des wöchentlichen Vorlesungsmaterials.
Di, 14:00 | Zoom-Meeting mit Carsten Bauer
Fragestunde zu Programmiertechniken und Julia.
Mi - Fr | Übungsgruppen via Zoom-Meeting
Mi 12 | Mi 14 | Mi 16 | Do 12 | Do 16 | Fr 12 | Fr 14
Ü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
Wir stellen Ihnen in diesem Sommersemester erstmals sämtliche Vorlesungen und Programmier-Tutorials als online Videos zur Verfügung. Wir werden diese Sammlung sukzessive aufbauen und in jeder Vorlesungswoche jeweils zwei neue Videos zur Verfügung stellen. Sie finden alle Videos auch dauerhaft auf vimeo unter vimeo.com/showcase/compphys20.
Vorlesungswochen (toggle):
Vorwort |
Wo 1 |
Wo 2 |
Wo 3 |
Wo 4 |
Wo 5 |
Wo 6 |
Wo 7 |
Wo 8 |
Wo 9 |
Wo 10 |
Wo 11 |
Wo 12 |
Wo 13
Syllabus / Vorlesungsnotizen
- Vorlesung 00001: Motivation/Einführung Computer-Physik, Überblick Computer Hardware + Software Video V1
- Vorlesung 00010: Iterative Verfahren, Nullstellensuche, Newton-Verfahreni Video V2
- Vorlesung 00011: Numerisches Differenzieren und Integrieren Video V3
- Vorlesung 00100: Gewöhnliche Differentialgleichungen Video V4
- Vorlesung 00101: Partielle Differentialgleichungen: Anfangs- und Randwertprobleme, Finite Differenzen Video V5
- Vorlesung 00110: Partielle Differentialgleichungen: Schrödinger-Gleichung, Shooting und Numerov-Integration Video V6
- Vorlesung 00111: Partielle Differentialgleichungen: Maxwell-Gleichungen, Yee-Vischen Algorithmus Video V7
- Vorlesung 01000: Partielle Differentialgleichungen: Crank-Nicolson Methode, Relaxationsverfahren Video CN
- Vorlesung 01001: Lineare Algebra: Lineare Gleichungssysteme, Gauss-Elimination Video V8
- Vorlesung 01010: Lineare Algebra: Eigenwertprobleme, Lanczos-Verfahren Video V9
- Vorlesung 01011: Lineare Algebra: Singulärwert-Zerlegung Video V10
- Vorlesung 01100: Zufallszahlen Video V11
- Vorlesung 01101: Zufallszahlenverteilungen, Monte Carlo Integration Video V12
- Vorlesung 01110: Markov-Ketten, Metropolis-Algorithmus Video V13
- Vorlesung 01111: Boltzmann-Verteilung, Ising Modell Video V14
- Vorlesung 10000: Maschinelles Lernen Video V15
Und schliesslich noch ein Blick "hinter die Kulissen":
Übungen
Die Übungen finden online über Zoom-Meetings statt. Hier noch einmal die relevanten Links:Bei Fragen zum Übungsbetrieb melden Sie sich bitte bei Jan Attig.
Übungsblätter
- Präsenz-Übung 0:
Einstiegsaufgaben (Hello world) [notebook],
Primzahlen [notebook]
- Präsenz-Übung 1:
Listen und Fibonacci Zahlen [notebook],
Funktionen und Primzahlen [notebook],
Plotten der Primzahlen [notebook]
- Übungsblatt 2:
Flussdiagramme [notebook],
Gumowaki-Mira Attraktor [notebook]
Bonus-Aufgabe: Sierpinski-Dreieck [notebook] - Übungsblatt 3:
Divide and conquer [notebook],
Newton Methode [notebook]
Bonus-Aufgabe: Newton Fraktale [notebook] - Übungsblatt 4:
Simpson vs. Trapez [notebook],
Statistik einer Epidemie [notebook]
Bonus-Aufgabe: Zellulärer Automat [notebook] - Übungsblatt 5:
Die Zukunft richtig ausgependelt [notebook],
Monde auf der Überholspur [notebook]
Bonus-Aufgabe: Magnetpendel [notebook] - Übungsblatt 6:
Simulation einer Epidemie [notebook],
Heisser Draht [notebook]
Bonus-Aufgabe: Heisse Neutronen [notebook]
- Übungsblatt 7:
Allerlei aus dem Potentialtopf [notebook],
Pendeln in der Quantenwelt [notebook]
Bonus-Aufgabe: Pendeln im Potentialtopf [notebook]
- Übungsblatt 8:
Relaxen im Plattenkondensator [notebook],
Spannende Sachen [notebook]
Bonus-Aufgabe: Das bewegte Feld [notebook] - Probeklausur: Kurzfragen, Angry Birds, Ordnung muss sein
- Übungsblatt 9:
Hofstadter butterfly [notebook],
Geist in der Matrix [notebook]
Bonus-Aufgabe: Dünen im Wind [notebook] - Übungsblatt 10:
Viele Wege führen nach π [notebook],
Chaos Game [notebook],
Dendriten-Wachstum [notebook]
Bonus-Aufgabe: Landschaften [notebook] - Übungsblatt 11:
Integration mit gezinkten Würfeln [notebook],
Integration auf Irrwegen [notebook],
Bonus-Aufgabe: Dynamik von Meinungen [notebook] - Übungsblatt 12:
Ising Modell [notebook],
Durchhänger [notebook]
Bonus-Aufgabe: Unterwegs mit Metropolis [notebook]
- Bonus-Blatt 13: Bonus-Aufgabe: Maschinelles Lernen [notebook]
Alle Übungsblätter sind auch über das github repository https://github.com/trebst/compphys-2020 verfügbar.
Musterlösungen
Wir bieten Ihnen in diesem Jahr erstmals Videos mit Musterlösungen zu (fast) allen Übungsaufgaben an. Diese hat Jan Attig für Sie zusammengestellt unter: vimeo.com/showcase/6955823.
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,
complete]
Video P1
- Tutorial 0x2: Funktionen, Schleifen, Verzweigungen
[template,
complete]
Video P2
- Tutorial 0x3: Plots, Sortier-Algorithmen, timing und Komplexitätsanalyse
[template,
complete]
Video P3
- Tutorial 0x4: Verarbeitung experimenteller Daten [template, complete] Video P4
- Tutorial 0x5: Differential-Gleichungen, Maschinenpraezession
[template,
complete]
Video P5
- Tutorial 0x6: Zeitaufgelöste Streuung in der Quantenmechanik
[template]
Video P6
- Tutorial 0x7: Lineare Algebra
[template,
complete]
Video P7
- Tutorial 0x8: Zufallszahlen
[template,
complete]
Video P8
- Tutorial 0x9: Ising Modell
[template,
complete]
Video P9
- Tutorial 0xA: Maschinelles Lernen —
part 1 [template,
complete],
part 2 [template,
complete]
Video P10
- Einschub: Julia Environments [video]
Julia-Resourcen
- JuliaLang.org, die offizielle Julia-Webseite
- JuliaBox, eine Live Julia Installation für den Webbrowser
- Think Julia, ein online Buch
- Intro to Julia, Video-Tutorial
- Getting started with Julia, ein sehr gutes Julia-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
Mailing-Liste
Wir haben für alle TeilnehmerInnen der Vorlesung eine Mailing-Liste eingerichtet, über welche wir weiterführende Informationen zu Vorlesung, Übungen und Übungsbetrieb verschicken werden:Wir bitten alle Studierenden, sich auf dieser Mailing-Liste einzutragen.
Klausurtermine
Klausur: Montag, 10. August 2020 | 9:00 - 12:00 | Aula 3Nachklausur: Freitag, 2. Oktober 2020 | 14:00 - 17:00 | Aula 1
Denken Sie an Ihre erneute und rechtzeitige KLIPS-Anmeldung.