← Back to blog

Linear Algebra from Scratch – A Guided Series

29 Oct 2025
RustMathsLinear AlgebraLars

Welcome to the companion guides for the lars crate.

Alongside developing the crate itself, this series is designed to help you build your own linear algebra functionality from the ground up. Each guide focuses on a small, well-defined task so you can learn and implement concepts step by step. The idea is to make the process approachable, modular, and transferable whether you want to follow the full series or just complete a few parts.

What the guides cover

Each guide includes:

  • Conceptual and mathematical background
  • Step-by-step implementation tasks
  • Rust code examples and solutions
  • Notes on extending or adapting the ideas further

Although the examples are written in Rust, the core ideas carry over to almost any language.

Guides in the series

  1. Introduction and setup – project structure, environment, and how the series is organised.

  2. 2D vector guide – implement a two-dimensional vector type, arithmetic, scaling, dot products, and normalisation.

  3. 3D vector guide (planned) – extend your implementation into 3D space, including cross products and vector magnitude.

  4. Matrix guide (planned) – introduce matrices, transformations, and composition.

  5. Practical applications (planned) – apply everything to graphics, physics, or data transformations.

You can treat the guides as self-contained modules or as chapters in a longer course.

Modularity and design

Each guide is written to stand on its own. You can pick the parts you need or follow the whole sequence. This mirrors how the lars crate is structured: small, reusable components that can be combined into a full linear algebra library.

Project and author

The code and guides live in the lars repository on GitHub. Feedback, contributions and suggestions are very welcome.