Skip to main content
Ctrl+K
AST 390: Computational Astrophysics - Home AST 390: Computational Astrophysics - Home
  • AST 390: Computational Astrophysics

Logistics and Overview

  • Course Overview
  • Using These Notes

Tour of Python

  • Jupyter
  • Python Basics
    • Basic Python Datatypes
    • Advanced Datatypes
    • Control Flow
  • Functions and Classes
    • Functions
    • Classes
  • NumPy
    • NumPy
    • NumPy Copying and Indexing
  • matplotlib

Fundamentals

  • Floating Point Format
    • Numerical Errors: Roundoff and Truncation
  • Differentiation
    • In-class Example: Second Derivative
    • Application: Reaction Rate Temperature Sensitivity
  • Integration
    • Simpson’s Rule Derived
    • Composite Integration
    • Application: Blackbody Radiation
    • SciPy Integration
    • Going Further
  • Root finding
    • SciPy Root Finding
    • Application: Wien’s law
    • Application: Degenerate Electrons
  • Linear Algebra
    • Review of Matrices
    • Solving A System of Linear Equations
      • Gaussian Elimination
      • Implementing Gaussian Elimination
      • C++ Implementation
    • Libraries for Linear Algebra
    • Condition Number
    • Multivariate Root Finding
      • Application: Stationary State of Lorenz System
    • Going Further

Ordinary Differential Equations

  • Basic Methods for ODEs
    • 2nd Order Runge-Kutta / Midpoint Method
    • 4th-order Runge-Kutta
    • Example: Lorenz system
  • Adaptive Timesteps
    • Adaptive RK4 Orbits
    • SciPy ODE Integration
    • Application: Few Body Problem
  • ODEs and Conservation
    • Time Symmetric Integration
    • Application: Stability of Planetary Systems
  • ✱ Boundary Value Problems
    • Application: Stellar Structure
  • ✱ Stiff ODEs
    • Implicit Methods for Systems of ODEs
    • Implicit Methods and Nonlinear Systems
    • Application: Reaction Networks
  • More Applications
    • Application: One-zone X-ray burst

Interlude Git and Github

  • Version Control
  • A Git Walkthrough
  • Git Branches
  • github
    • Pull requests

Working with Data Samples

  • Fourier Transforms
    • Discrete Fourier Transform
    • Testing our DFT
    • In-class Example: A Frequency Filter
    • Fast Fourier Transform
    • Application: X-ray Burst Timing
    • Application: Recovering Planetary Periods from Radial Velocity Curves
    • FFT in Multiple Dimensions
    • Example: Turbulent Power Spectrum
    • Non-uniform Data
  • Interpolation
    • Linear Interpolation
    • Lagrange Interpolation
    • Application: Interpolating Weak Reaction Rate Tables
    • ✱ Conservative Interpolation
    • Going Further
  • Least Squares Regression
    • Fitting to a Line
    • General Linear Least Squares
    • Testing Our Least Squares
    • Nonlinear Fitting
    • Fitting Function in SciPy
    • Application: Estimating \(H_0\) from Type Ia Supernovae

Partial Differential Equations

  • Partial Differential Equations
  • Advection
    • Linear Advection Equation
    • Upwinding
    • Measuring Convergence
    • Finite-Volume Discretization
    • Second-order advection
  • ✱ Burgers' Equation
    • Burgers’ Riemann Problem
    • Solving Burgers’ equation
  • More on Advection and Burgers’ Equation
  • Poisson problem
    • Relaxation
    • Implementing Relaxation
    • Residual
    • Behavior of Single Modes
  • ✱ Multigrid
    • Restriction and Prolongation
    • Two Grid Correction
    • V-Cycles
  • Diffusion
    • Explicit Discretization of Diffusion
    • Implicit Methods for Diffusion
    • Solving a Tridiagonal System
    • Direct Solve for Implicit Diffusion
    • Implicit Diffusion via Relaxation
    • Going Further

✱ Hydrodynamics

  • Euler Equations
    • Euler equations eigensystem
  • Euler Riemann Problem
    • Sampling the Riemann Solution
  • Second-order Euler solver

Machine Learning

  • Types of Machine Learning
  • Artificial Neural Network Basics
    • Gradient Descent
    • Deriving the Learning Correction
    • A First Example
  • Hidden Layers
    • Last Number Revisited with a Hidden Layer
    • Example: Character Recognition
    • C++ Implementation of MNIST
    • Improvements
  • Diving Deeper into Machine Learning
    • KERAS and MNIST
    • Keras and the Last Number Problem
    • Clustering
  • Machine Learning in Astronomy
  • Application: Galaxy Classification
    • Galaxy Classification with a Neural Net from Scratch
    • Application: Galaxy Classification with Keras

Additional examples (for in-class)

  • ODE Review: Projectile Motion
  • Linear Algebra Review: Hilbert Matrix
  • FFT Review: Cleaning a Signal

Homework

  • Homework 1
    • Homework 1 solutions
  • Homework 2
    • Homework 2 solutions
  • Homework 3
    • Homework 3 solutions
  • Homework 4
    • Homework 4 solutions
  • Homework 5
    • Homework 5 solutions
  • Homework 6
    • Homework 6 solutions
  • Homework 7
    • Homework 7 solutions

Project

  • Course Project
  • Repository
  • Open issue

Index

By Michael Zingale

© 2021-2025; CC-BY-NC-SA 4.0