Resources
Information Sources
Links to sites and resources used for sourcing information on this website.
Mathematics
Computer Science
- Algorithms for Modern Hardware - A comprehensive book on performance engineering and HPC by Sergey Slotin, covering CPU optimization, caching, SIMD, pipelining, and more
- Algorithms for Competitive Programming - A comprehensive collection of algorithms and data structures for competitive programming, covering topics from basic algorithms to advanced graph theory, dynamic programming, string processing, geometry, and more
- The Algorithms - An open-source community providing implementations of algorithms and data structures in multiple programming languages (Python, Java, C++, Go, Rust, and more), with a focus on educational purposes and best practices
- ML-From-Scratch - Bare bones NumPy implementations of machine learning models and algorithms with a focus on accessibility. Covers supervised learning (linear regression, SVM, neural networks, etc.), unsupervised learning (K-means, PCA, GANs, etc.), reinforcement learning (Deep Q-Network), and deep learning architectures from scratch
Physics
- Knowdes - A comprehensive knowledge base on quantum chemistry, geminals, Hartree-Fock theory, configuration interaction, and related topics by the Ghent Quantum Chemistry Group
- eminus - A Pythonic electronic structure theory code implementing plane wave density functional theory (DFT) with self-interaction correction (SIC) functionalities. Designed to be simple, readable, and easy to extend while using minimal dependencies, built upon the DFT++ pragmas that let programming languages and theory coincide
- CENS (Computational Environment for Nuclear Structure) - A repository containing many-body codes for nuclear structure calculations developed by Morten Hjorth-Jensen and collaborators, including Full Configuration Interaction (FCI) codes (serial and parallel), Many-Body Perturbation Theory (MBPT) codes, and codes for fitting polynomials and calculating properties of neutron stars and white dwarf stars
- CoSMo (Shell Model Code) - A comprehensive shell model code suite for nuclear shell model and configuration interaction calculations. Written in C++ with a highly structural and templated design, it supports many-body basis generation, Hamiltonian construction, diagonalization (including Davidson method), and calculations of electromagnetic transitions, spectroscopic factors, and occupation numbers. Flexible for applications including open quantum systems with non-Hermitian Hamiltonians, clustering, and time-dependent dynamics. Available under the GPL-3.0 license
- Elk Code - An all-electron full-potential linearized augmented-plane wave (LAPW) code for high-precision electronic structure calculations. Features include LSDA/GGA/meta-GGA functionals, spin-orbit coupling, non-collinear magnetism, forces and phonons, GW approximation, time-dependent DFT, exact exchange, and many advanced features. Freely available under the GNU General Public License
- dftatom - Routines for radial integration of Dirac, Schrödinger, and Poisson equations for atomic density functional theory (DFT) calculations. Written in Fortran 95 with Python bindings, provides high-level drivers for atomic SCF calculations, solving the Kohn-Sham equations, and computing atomic orbitals, densities, and energies. Available under the MIT license
- Tiny DFT - A minimalistic atomic Density Functional Theory (DFT) code written in Python, mainly for educational purposes. Supports spherically symmetric atoms and local exchange-correlation functionals (currently Dirac exchange). Uses only established scientific Python libraries (numpy, scipy, matplotlib, autograd) and employs pseudo-spectral methods with Legendre polynomials for the Poisson solver. Designed to be simple, readable, and easy to understand with minimal code. Available under the GPL-3.0 license
Programming
- Build Your Own X - A compilation of well-written, step-by-step guides for recreating technologies from scratch, including databases, operating systems, programming languages, web browsers, neural networks, and more. Based on the principle: "What I cannot create, I do not understand"
- Beej's Guide to Network Programming - A comprehensive how-to guide on network programming using Internet sockets (sockets programming) in C/C++. Covers the sockets API and network programming fundamentals, available in multiple formats including HTML and PDF
- C++ Programming Tutorial in Chemistry - A comprehensive C++ programming tutorial with an emphasis on quantum chemistry. Includes 14 projects covering fundamentals of C++ programming and quantum chemistry methods: molecular geometry analysis, harmonic vibrational analysis, Hartree-Fock SCF, MP2, CCSD, CCSD(T), excited states (CIS, TDHF/RPA), and the Davidson-Liu algorithm. Each project includes instructions and reference output
Power Systems
- ANDES - An open-source Python library for power system modeling, computation, analysis, and control. Supports power flow calculation, time-domain simulation (transient stability), eigenvalue analysis (small-signal stability), and includes a symbolic-numeric framework for rapid model prototyping. Validated against commercial tools including PSS/E and TSAT
Economics
- Dynamic Programming - A comprehensive book on dynamic programming and its applications in economics, finance, and operations research by Thomas J. Sargent and John Stachurski. Covers fixed points and order, Markov models, optimal stopping, Markov decision processes, state dependent discounting, nonlinear valuation, and abstract dynamic programming. Includes related applications and computer code. Available online with downloadable book, code, and slides