Randomized Methods for Linear Algebra
Author tmigot
4 Stars
Updated Last
12 Months Ago
Started In
November 2021


Stable Dev Build Status Build Status Coverage

How to Install

RandomLinearAlgebraSolvers can be installed and tested through the Julia package manager:

julia> ]
pkg> add RandomLinearAlgebraSolvers
pkg> test RandomLinearAlgebraSolvers


This package provides implementations of certain of the randomized numerical methods for linear algebra:

minimize ‖b - Ax

It includes classical Kaczmarcz and coordinate descent methods.

The package also provides random projectors used to solve

minimize ‖Tb - TAx

as an approximation of the initial system in the sense of the [Johnson–Lindenstrauss lemma](https://en.wikipedia.org/wiki/Johnson–Lindenstrauss_lemma).


This package uses Stopping.jl as a framework for iterative methods.

using RandomLinearAlgebraSolvers
A, b = rand(10, 5), rand(10)
stp = RLAStopping(A, b)


Some of state-of-art algorithms implemented are presented in the following paper.

Gower, Robert M., and Peter Richtárik. "Randomized iterative methods for linear systems." SIAM Journal on Matrix Analysis and Applications 36.4 (2015): 1660-1690.

We refer to Krylov.jl for deterministic Krylov methods in Julia.

Bug reports and discussions

If you think you found a bug, feel free to open an issue. Focused suggestions and requests can also be opened as issues. Before opening a pull request, start an issue or a discussion on the topic, please.

The package is still at an early stage and new contributions are very welcome. We would like to gather as much information as possible on the provenance of new algorithms.


See CITATION.bib for the relevant reference(s).

Used By Packages

No packages found.