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