Astronomy 415: Spring 2009
"Computational Astrophysics"This course will provide the astronomy student with a basic knowledge of numerical methods in astrophysics. By the end of the course students should be comfortable working in a Unix environment, compiling and running codes, and employing a variety of visualization techniques to analyze the results. This process will be motivated by concrete examples of modern problems in astrophysics that demand numerical approaches.
The exact details of the material covered will depend on the existing level of computer sophistication among the class participants. However, in broad outline the major course topics will include linear algebra, root finding, least-square fitting, Monte Carlo methods, numerical integration, N-body methods, fluid dynamics, FFTs and time-series analysis.
Schedule
Instructor: Massimo Ricotti Class: room CSS 2428 Lectures: Tuesday and Thursday from 12:30pm to 13:45pm First class: Tu Jan 27 Last class: Tu May 12
What's New?
Apr 29: Online course evaluation open Apr 28-May 13 - please participate! |
Apr 28: Problem Set #6 posted. |
Apr 21: Problem Set #4 solutions posted. |
Apr 16: Term project assignment posted. |
Apr 14: Problem Set #5 posted. |
Apr 14: Problem Set #3 solutions posted. |
Mar 31: Problem Set #4 posted. |
Mar 31: Problem Set #2 solutions posted. |
Mar 12: Problem Set #3 posted It is long, start early! |
Feb 19: Problem Set #1 solutions posted. |
Feb 19: Problem Set #2 posted. |
Feb 19: Intro to C tutorial examples posted. |
Feb 05: Problem Set #1 posted. |
Feb 03: Survey results posted. |
Contact info and Notes
- Office: room CSS 0213
- E-mail: ricotti "at" astro "dot" umd "dot" edu
- Phone: (301) 405 5097
- Office hours: Tuesday 2:30-3:30 or by appointment
- Class web page: http://www.astro.umd.edu/~ricotti/NEWWEB/teaching/current.html
Course Outline
The Syllabus is available in HTML and PDF format.
Date | Lecture | Reading (NRiC) | Lecture Notes | |
---|---|---|---|---|
#1 | Jan 27 | Introduction to the course | - | - |
#2 | Jan 29 | Computer architecture | - | class02.pdf |
#3 | Feb 03 | Introduction to UNIX | tutorial | - |
#4 | Feb 05 | Introduction to C | 1.1-1.2, tutorial | - |
#5 | Feb 10 | Introduction to C (cont.) | 1.1-1.2, tutorial | - |
#6 | Feb 12 | Introduction to visualization | tutorial | class05.pdf |
#7 | Feb 17 | Data representation | 1.3 | class05.pdf |
#8 | Feb 19 | Linear algebra, part 1 (Gauss-Jordan elimination) | 2.0-2.3 | class06.pdf |
#9 | Feb 24 | Linear algebra, part 2 (LU & SVD decomposition) | 2.4-2.6 | class07.pdf |
#10 | Feb 26 | Root finding in 1-D | 9.0-9.1, 9.4, 9.6 | class08.pdf |
#11 | Mar 03 | Root finding in multi-D, and numerical differentiation | 5.7 | class09.pdf |
#12 | Mar 05 | Statistics and the K-S test | 14.0-14.3 | class10.pdf |
#13 | Mar 10 | Least-squares fitting | 15.0-15.2, 15.4-15.5 | class11.pdf |
#14 | Mar 12 | Random numbers and cryptography | 7.0-7.2 | class12.pdf |
- | Mar 17 | no class (Spring break) | - | - |
- | Mar 19 | no class (Spring break) | - | - |
#15 | Mar 24 | Numerical integration | 7.6, 4.0-4.4, 4.6 | class13.pdf |
#16 | Mar 26 | Integration of ODEs, part 1 (IVPs) | 16.0-16.1 | class14.pdf |
#17 | Mar 31 | Integration of ODEs, part 2 (leapfrog) | - | class15.pdf |
#18 | Apr 02 | Integration of ODEs, part 3 (stiff ODEs & 2-pt BVPs) | 16.6, 17.0 | class16.pdf |
#19 | Apr 07 | Integration of ODEs, part 4 | - | class17.pdf |
#20 | Apr 09 | N-body techniques, part 1 | - | class18.pdf |
#21 | Apr 14 | N-body techniques, part 2 (PP) | 19.0, 19.4-19.6 | class19.pdf |
#22 | Apr 16 | N-body techniques, part 3 (PM) | - | class20.pdf |
#23 | Apr 21 | N-body techniques, part 4 (tree) | - | class21.pdf |
#24 | Apr 23 | Integration of PDEs, part 1 (ell & hyp) | 19.2 | class22.pdf |
#25 | Apr 28 | Integration of PDEs, part 2 (hyp & par) | - | class23.pdf |
#26 | Apr 30 | Fluid dynamics, part 1 (eqns) | 19.3 | class24.pdf |
#27 | May 05 | Fluid dynamics, part 2 (methods) | - | class25.pdf |
#28 | May 07 | Term project presentation | - | - |
#29 | May 12 | Term project presentation | - | - |
- | Not covered | Fourier transform, part 1 (intro) | 12.0-12.1, 19.4 | class26.pdf |
- | Not covered | Fourier transform, part 2 (FFT) | 12.2, 13.0-13.2, 13.4 | class27.pdf |
- | Not covered | Other topics | - | class28.pdf |
Textbooks
- There are no required textbooks
- Recommended:
- Numerical recipes in FORTRAN [or in C], by Press, W.H. et al.
Course Grading
- Homework 80%
- Term Project 20%
There are no exams for this course. Class participation is strongly encouraged.
Class Survey Results
The level of computer and programming competence of the students in this class (measured the first day of class) is good as indicated by the result of the class survey. The survey results are available in HTML and PDF format. I will start the lectures with simple and, for some of you, obvious concepts and finish with more complex and challenging topics that should entertain even the most experienced students in the class.
Homework
Homework will be assigned every week or every other week. Their due dates will be announced at the time they are assigned. On the due date the students will be expected to turn in their homework in class. The homework turned in will be graded and returned to the students. I will provide solutions and discuss them in class.
Link to Numerical Recipes sources in C and in FORTRAN: it is preferable to compile the recipes as separate files rather than cut and paste the functions into your source code.
Note that in order to use NRiC routines the easiest way is to include nr.h header file and nrutil.c and nrutil.h to use vectors and matrices. You can find these files here.
No homework assigned yet.
Problem set | Date | Problem Set | Solutions | Extras | ||
Assigned | Due | |||||
#1 | Feb 5 | Feb 17 | HTML/PDF | HTML/PDF | ||
#2 | Feb 19 | Mar 5 | HTML/PDF | HTML/PDF | data | |
#3 | Mar 12 | Mar 26 | HTML/PDF | HTML/PDF | data | |
#4 | Mar 31 | Apr 09 | HTML/PDF | HTML/PDF | ||
#5 | Apr 14 | Apr 28 | HTML/PDF | HTML/PDF | ||
Term Project | Apr 16 | May 7 | HTML/PDF | |||
Alternate Term Project | Apr 16 | May 7 | HTML/PDF | |||
#6 | Apr 28 | May 5 | HTML/PDF | HTML/PDF | movie |
Tutorials
|
Old Class Notes
|
Useful Links
CUDA link: Nvidia webpage with examples to download Check out the UMD Astronomy Computing Wiki! (In the listings below, a "W" link indicates a Wikipedia entry on the topic is available.) Online Tutorials
|