Introduction

This tutorial series is an introduction on programming and understanding numerical methods in Julia. We will cover several topics.

Basic familiarity with Julia and VSCode is assumed. If you are a beginner, you can check out my series on The Julia Programming Language: an Effective Tutorial

I’ve also moved my chapter on the FFT to a separate, dedicated tutorial: Using the Fast Fourier Transform.

Best Julia Packages for Numerical Computing

Here is an opinionated and incomplete list of some of the best packages for numerical computing in Julia.

Problem type Julia packages
Plotting Plots
Linear system / least squares LinearSolve
Sparse matrix SparseArrays
Interpolation DataInterpolations, ApproxFun
Polynomial manipulations Polynomials
Rootfinding NonlinearSolve
Finite differences FiniteDifferences, FiniteDiff
Integration Quadgk, HCubature
Optimization Optimization
Ordinary Differential Equations DifferentialEquations
Finite Element Method Gridap
Hyperbolic PDE Trixi
Automatic Differentiation ForwardDiff, Enzyme
Fast Fourier Transform FFTW

I’ll be reviewing most of them in the next chapters, and providing examples!