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)
RandomizedKaczmarz(stp)
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.
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).