Giter Site home page Giter Site logo

alexanderibrahim1 / computational-physics-course-winter-2020 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from perimeterinstitute/computational-physics-course-winter-2020

0.0 0.0 0.0 8.32 MB

Jupyter Notebook 91.80% Julia 0.08% Tcl 2.82% TeX 5.31%

computational-physics-course-winter-2020's Introduction

Computational Physics


General Information

Content

Lecturers: Erik Schnetter, Dustin Lang, several guest lecturers

Outline: This course is a practical introduction to computational physics, mixing theoretical lectures and lab-based (programming) work. The main topics will be:

  • Hyperbolic partial differential equations (PDEs) with examples from general relativity
  • Linear algebra (matrix factorization) with examples from condensed matter physics
  • Optimization (in particular convex optimization) with examples from quantum information
  • Data analysis (image processing) with examples from astronomy

The course begins with an introduction to the Julia language and related practices (e.g. version control, automated tests). It covers also certain software technologies such multi-threaded, distributed, or GPU programming.

Reference material: no textbook, although "Scientific Computing" by Heath might be useful


Format

Course number: This is course PHYS 776 at the University of Waterloo

Format: The course consists of six two-week modules; most can be attended independently

Assessment mechanism: One lab assignment per module, pair work is encouraged

Assessment type: pass/fail


Location

Previous Location: Time Room, Perimeter Institute

Location: Online via Zoom; details see below

Time: Mondays 13:30 - 15:00 and Wednesdays 12:30 - 14:00

First Lecture: Monday Jan. 13, 2020


Contact

Contact Erik Schnetter [email protected] by email, or open an issue in this repository (which will be public).


Schedule

Week 1: Jan 13 & 16: (Note: Class meets on Thu instead of Wed this week!) Introduction to the Julia programming language. Most of the course content will be based on Julia.

Week 2: Jan 20 & 22: Reproducible science: Git, Github and shell scripts. Version control with git and friends is a must these days, not just for big software projects, but also for small lab projects, coursework, and papers. Being able to reproduce your results is also essential, and writing bash shell scripts is a reasonable way of doing this.

  • In preparation for the Jan 20 lecture, please obtain a Github account (instructions here.)

  • Homework 1

Week 3: Jan 27 & 29: No lectures (PSI Winter school)

Week 4: Feb 3 & 5: Discretizing functions, (elliptic) partial differential equations (PDEs). One often needs to represent functions in a computer (e.g. a density or velocity field). We discuss and experiment with a few approaches. We also discuss elliptic PDEs, and will then calculate the structure of a spherically symmetric star in general relativity, solving the Tolman-Oppenheimer-Volkoff (TOV) equation.

Week 5: Feb 10 & 12: Time-dependent (hyperbolic) partial differential equations (PDEs). Time-dependent problems are more difficult to solve, as there are numerous ways to encounter instabilities. We will discuss topics such as well-posedness, stable discretizations, and will solve a wave equation.

Week 6: Feb 17: No lecture (Family Day)

Week 6: Feb 19: (Reading week) General Q&A session, no fixed topic

Week 7: Feb 24 & 26: Spectral representations. Working in Fourier space or with Spherical Harmonics is more natural for some problems, and the Fast Fourier Transform (FFT) makes this computationally tractable. FFT libraries have some complexities (pun intended), so we will experiment with them.

Week 8: Mar 2 & 4: Will East: Relativistic Hydrodynamics

Week 9: Mar 9 & 11: Denis Rosset: Convex Optimization

Week 10: Mar 16 & 18: Parallel Computing (threads), Distributed Computing (MPI)

Week 11: Mar 23 & 25: Image Processing I. Using astronomical images as an example, we will experiment with some basic image processing algorithms.

Week 12: Mar 30 & Apr 1: Image Processing II. Building on last week's experiments, we will work on detecting and measuring stars in astronomical images.

computational-physics-course-winter-2020's People

Contributors

denisrosset avatar dstndstn avatar eschnett avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.