A curated list of resources and additional reading relevant to this book may be found below.
Scientific programming and software development
- A guide to writing good research code. A concise and modern guide to writing scalable and reproducible research code, targeted in particular to those coming from natural sciences backgrounds.
- Scientific Python v1. Scientific Python v2 Excellent course-length introductions to scientific Python, with a focus on language peculiarities and frequently-used packages.
- An introduction to Programming in Python A course-level summary of Python for beginners (not specific to scientific applications)
- Markdown syntax. This is a lightweight text markup language used for documentation and basic web development and blogging. It’s somewhere between LaTeX and HTML—you specify headings, formatting, etc with explicit commands, and then render the document.
- Unix and command line tutorial. Useful for managing virtual environments and your Python installation.
- Computational Discovery with Jupyter
Numerical Methods
- Bill Press’s Numerical Recipes Book. A celebrated reference text for numerical recipes. Relevant excerpts for this course are available to UT affiliates here.
- Numerical Linear Algebra by Trefethen and Lau is the authoritative text on numerical linear algebra.
- Jim Crutchfield’s Nonlinear Dynamics course. A modern approach to dynamical systems that foregrounds computational experiments.
- Python Numerical Methods. An Python course covering introductory numerical methods, with accompanying notebooks.
Machine learning
- Pankaj Mehta’s ML for physics class and textbook. A fantastic resource that links the mathematics behind machine learning to familiar concepts in physics.
- ML for Physicists -- Lecture Notes by Jared Kaplan. A superb mathematical description of core ML with a focus on deep learning. Excellent and consistent notation that will be familiar to physicists.
- Statistical Mechanics of Deep Learning. Elegant discussion of the connections between modern deep learning and theoretical physics, particularly stat mech.
- Machine Learning Refined. Code examples and visualizations of many core ideas in machine learning.
- Mathematics for Machine Learning. Detailed derivations for key algorithms, with an emphasis on conceptual linkages.
Optimization and data analysis
- The Elements of Statistical Learning is the introductory text of choice for most in ML, and for good reason---it’s clear, well-organized, and covers both practical and theoretical issues.
- Convex Optimization by Boyd and Vandenberghe is the standard reference text, although we won’t use it in this course. Boyd’s slides are nearly equal in length to the book.
- Excellent and concise notes by Justin Domke covering highlights of both books.
- Bahri, Y., Kadmon, J., Pennington, J., Schoenholz, S. S., Sohl-Dickstein, J., & Ganguli, S. (2020). Statistical Mechanics of Deep Learning. Annual Review of Condensed Matter Physics, 11(1), 501–528. 10.1146/annurev-conmatphys-031119-050745