## 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!