Computational Sciences: a Hands-On Approach

  • Introduction to Julia

    Basics of scientific software development with Julia.

  • Quantum Mechanics in 1D

    One-dimensional systems are the staple of beginning quantum mechanics courses. Various analytic and approximate techniques are utilized to study such systems. Numerics gives a unique opportunity to solve all 1D systems to arbitrary required precision. How do we do this? Can we understand both the spectrum of eigenvalues and eigenstates and the dynamics using numerical methods? What can 1D systems tell us about numerical methods in general?

  • Monte Carlo

    Metropolis Monte Carlo is a statistical technique which can be used to evaluate integrals of the following form: $$\int_{-\infty}^\infty P(\vec{x})\,g(\vec{x})\,d\vec{x},$$ where both $P(\vec{x})$ is a probability density $\mathbb{R}^d\to\mathbb{R}^+$ that satisfies $\int_{-\infty}^\infty P(\vec{x})d\vec{x} = 1$, and $g(\vec{x})$ is a function $\mathbb{R}^d\to\mathbb{R}$.

  • Newton's Laws

    How do we numerically predict the evolution of a classical system over time?