Randomized Linear Solver

Abstract Types

RLinearAlgebra.RLSSolverType
RLSSolver{S<:LinSysSampler, R<:LinSysSolveRoutine,
    L<:LinSysSolverLog, C<:LinSysStopCriterion}

An encapsulation for a (R)andomized (L)inear (S)ysterm Solver as a mutable structure.

Fields

  • sampler::S, a procedure for sampling, sketching or selecting with respect to a linear system.
  • routine::R, a routine for randomly generating the subproblem generated by the sampling, sketching or selecting operation
  • log::L, a logger for the progress and behavior of the randomized linear system solver.
  • stop::C, a stopping criterion for the randomized linear system solver.
  • x::Union{Vector{Float64},Nothing}, the result produced by the randomized linear system solver.

Constructions

  • RLSSolver(iter::Int64) specifies a solver with: random cyclic row sampling; partially orthogonalized row projections (memory of five) subproblem solver; a full residual logger; and a maximum iteration stopping criterion specified by iter.
source

Solver Functions

RLinearAlgebra.rsolveFunction
rsolve([solver::RLSSolver,] A, b)

Deploys an iterative randomized solver for the linear system whose coefficient matrix is encapsulated in A and whose constant vector is encapsulated in b. If the solver is not specified, then the default RLSSolver is constructed and used with a maximum number of iterations of 10 * length(b). See RLSSolver for more details on the default solver.

The function returns the solution.

source
RLinearAlgebra.rsolve!Function
rsolve!([solver::RLSSolver,] A, b, x::AbstractVector)

Identical to rsolve except an initial iterate is supplied by the argument x. The function overwrites the solution into the vector x.

source