ProjectedResidualBeliefUpdate

class probnum.linalg.solvers.belief_updates.solution_based.ProjectedResidualBeliefUpdate(noise_var=0.0)

Bases: LinearSolverBeliefUpdate

Gaussian belief update given projected residual information.

Updates the belief over the quantities of interest of a linear system \(Ax=b\) given a Gaussian belief over the solution \(x\) and information of the form \(s\^top r_i = s^\top (b - Ax_i) = s^\top A (x - x_i)\). The belief update computes the posterior belief about the solution, given by \(p(x \mid y) = \mathcal{N}(x; x_{i+1}, \Sigma_{i+1})\), such that

\[\begin{split}\begin{align} x_{i+1} &= x_i + \Sigma_i A^\top s (s^\top A \Sigma_i A^\top s + \lambda)^\dagger s^\top r_i,\\ \Sigma_{i+1} &= \Sigma_i - \Sigma_i A^\top s (s^\top A \Sigma_i A s + \lambda)^\dagger s^\top A \Sigma_i, \end{align}\end{split}\]

where \(\lambda\) is the noise variance.

Parameters:

noise_var (float | Real | floating) – Variance of the scalar observation noise.

Attributes Summary

noise_var

Observation noise.

Methods Summary

__call__(solver_state)

Update the belief about the quantities of interest of a linear system.

Attributes Documentation

noise_var

Observation noise.

Methods Documentation

__call__(solver_state)[source]

Update the belief about the quantities of interest of a linear system.

Parameters:

solver_state (LinearSolverState) – Current state of the linear solver.

Return type:

LinearSystemBelief