class probnum.linalg.solvers.ProbabilisticKaczmarz(stopping_criterion=<probnum.LambdaStoppingCriterion object>)

Bases: probnum.linalg.solvers.ProbabilisticLinearSolver

Probabilistic Kaczmarz method.

Probabilistic analogue of the (randomized) Kaczmarz method 1 2, taking prior information about the solution and randomly choosing rows of the matrix \(A_i\) and entries \(b_i\) of the right-hand-side to obtain information about the solution.


stopping_criterion (LinearSolverStoppingCriterion) – Stopping criterion determining when a desired terminal condition is met.



Kaczmarz, Stefan, Angenäherte Auflösung von Systemen linearer Gleichungen, Bulletin International de l’Académie Polonaise des Sciences et des Lettres. Classe des Sciences Mathématiques et Naturelles. Série A, Sciences Mathématiques, 1937


Strohmer, Thomas; Vershynin, Roman, A randomized Kaczmarz algorithm for linear systems with exponential convergence, Journal of Fourier Analysis and Applications, 2009

Methods Summary

solve(prior, problem[, rng])

Solve the linear system.

solve_iterator(prior, problem[, rng])

Generator implementing the solver iteration.

Methods Documentation

solve(prior, problem, rng=None)

Solve the linear system.

Return type

Tuple[LinearSystemBelief, LinearSolverState]


  • belief – Posterior belief \((\mathsf{x}, \mathsf{A}, \mathsf{H}, \mathsf{b})\) over the solution \(x\), the system matrix \(A\), its (pseudo-)inverse \(H=A^\dagger\) and the right hand side \(b\).

  • solver_state – Final state of the solver.

solve_iterator(prior, problem, rng=None)

Generator implementing the solver iteration.

This function allows stepping through the solver iteration one step at a time and exposes the internal solver state.


solver_state – State of the probabilistic linear solver.

Return type

Generator[LinearSolverState, None, None]