RandomLinearAlgebraSolvers.jl

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

RandomLinearAlgebraSolvers

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

Content

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).

Example

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

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

References

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.

Citing

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

Used By Packages

No packages found.