ProbabilisticKaczmarz

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.

Parameters

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

References

1

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

2

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.

Parameters
Return type

Tuple[LinearSystemBelief, LinearSolverState]

Returns

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

Parameters
Yields

solver_state – State of the probabilistic linear solver.

Return type

Generator[LinearSolverState, None, None]