Skip to article frontmatterSkip to article content

Randomized Numerical Linear Algebra with Examples

Randomized Numerical Linear Algebra (RandNLA) is a subfield of numerical linear algebra that focuses on the use of randomization as a tool to develop more efficient/accurate algorithms for solving linear algebra tasks. Many RandNLA algorithms are remarkably simple, while providing significant speedups over traditional methods.

This “book”

This book aims to provide a practical introduction to some of the fundamental concepts and techniques in RandNLA. We focus on intuition and conceptual understanding, and provide a mixture of theoretical analysis and accompanying numerical experiments. Jupyter notebooks with the code examples can be downloaded from Github.

The intended audience is students and researchers new to the topic. Readers are expected to be familiar with (numerical) linear algebra and probability, but a basic refresher is provided here. The content covered would be appropriate for a short module on RandNLA in a numerical linear algebra course, or even as a weekend read for PhD students with a strong background in numerical linear algebra.

The majority of the book is dedicated to a collection of RandNLA algorithms for core linear algebra tasks that can often serve as drop in replacements for classical linear algebra methods, while providing order-of-magnitude speedups 🤯. We view these methods as conceptually important and practically useful, especially for practitioners. These methods are characterized by the fact that their effectiveness is easily demonstrated in simple numerical experiments. For example, the Randomized SVD can be implemented in just a few lines of code, and produces high-quality low-rank approximations way faster than the exact SVD.

We also provide an introduction to sampling-based methods. In many cases, these algorithms provide the best theoretical runtimes or may even be the only tractable algorithms. However, in large, these methods require consideration about their appropriateness for a given computational environment.

Why this format?

Academic publishing is stuck using design choices that were made decades or centuries ago and are no longer relevant to the way information is created/consumed today 😞. In my opinion:

Over the past few years, flexible technical document preparation formats (e.g. MyST Markdown used in this document) are becoming more powerful, making a project like this viable. This is partly my attempt to experiment with these new formats.

Contributing

We welcome contributions and suggestions for improvement. In particular readers can fix typos, update or add references/experiments/information, and suggest changes on Github. Larger contributions are also welcome, but please open an issue first so we can discuss how the content fits into the narrative before investing too much time.

Citing this book

This book can currently be cited as:

@book{RandNLAwithExamples,
    title = {Randomized Numerical Linear Algebra with Examples},
    author = {Tyler Chen},
    year = {2025},
    version = {prerelease},
    url = {https://research.chen.pw/RandNLA},
}

Other Resources

We are not aware of any other resources that provide (i) a broad introduction to RandNLA (ii) a large collection of numerical examples. There are, however, many excellent resources on RandNLA, particularly for researchers. The following surveys are of particular note:

In addition, we highly recommend Ethan Epperly’s blog, which contains many informative posts on RandNLA topics, at both an introductory and research level, as well as numerical experiments and code snippets.

References
  1. Martinsson, P.-G., & Tropp, J. A. (2020). Randomized numerical linear algebra: Foundations and algorithms. Acta Numerica, 29, 403–572. 10.1017/s0962492920000021
  2. Murray, R., Demmel, J., Mahoney, M. W., Erichson, N. B., Melnichenko, M., Malik, O. A., Grigori, L., Luszczek, P., Dereziński, M., Lopes, M. E., Liang, T., Luo, H., & Dongarra, J. (2023). Randomized Numerical Linear Algebra : A Perspective on the Field With an Eye to Software. https://arxiv.org/abs/2302.11474
  3. Tropp, J. A., & Webber, R. J. (2023). Randomized algorithms for low-rank matrix approximation: Design, analysis, and applications. https://arxiv.org/abs/2306.12418
  4. Woodruff, D. P. (2014). Computational Advertising: Techniques for Targeting Relevant Ads. Foundations and Trends® in Theoretical Computer Science, 10(1–2), 1–157. 10.1561/0400000060