SolutionBasedSolver¶
-
class
probnum.linalg.
SolutionBasedSolver
(A, b, x0=None)[source]¶ Bases:
probnum.linalg.ProbabilisticLinearSolver
Solver iteration of BayesCG.
Implements the solve iteration of the solution-based solver BayesCG 1.
- Parameters
A (array-like or LinearOperator or RandomVariable, shape=(n,n)) – The square matrix or linear operator of the linear system.
b (array_like, shape=(n,) or (n, nrhs)) – Right-hand side vector or matrix in \(A x = b\).
References
- 1
Cockayne, J. et al., A Bayesian Conjugate Gradient Method, Bayesian Analysis, 2019, 14, 937-1012
Methods Summary
has_converged
(iter, maxiter[, resid, atol, rtol])Check convergence of a linear solver.
solve
([callback, maxiter, atol, rtol])Solve the linear system \(Ax=b\).
Methods Documentation
-
has_converged
(iter, maxiter, resid=None, atol=None, rtol=None)[source]¶ Check convergence of a linear solver.
Evaluates a set of convergence criteria based on its input arguments to decide whether the iteration has converged.
- Parameters
iter (int) – Current iteration of solver.
maxiter (int) – Maximum number of iterations
resid (array-like) – Residual vector \(\lVert r_i \rVert = \lVert Ax_i - b \rVert\) of the current iteration.
atol (float) – Absolute residual tolerance. Stops if \(\lVert r_i \rVert < \text{atol}\).
rtol (float) – Relative residual tolerance. Stops if \(\lVert r_i \rVert < \text{rtol} \lVert b \rVert\).
- Returns
has_converged (bool) – True if the method has converged.
convergence_criterion (str) – Convergence criterion which caused termination.
-
solve
(callback=None, maxiter=None, atol=None, rtol=None)[source]¶ Solve the linear system \(Ax=b\).
- Parameters
callback (function, optional) – User-supplied function called after each iteration of the linear solver. It is called as
callback(xk, Ak, Ainvk, sk, yk, alphak, resid, **kwargs)
and can be used to return quantities from the iteration. Note that depending on the function supplied, this can slow down the solver.kwargs – Key-word arguments adjusting the behaviour of the
solve
iteration. These are usually convergence criteria.
- Returns
x (RandomVariable, shape=(n,) or (n, nrhs)) – Approximate solution \(x\) to the linear system. Shape of the return matches the shape of
b
.A (RandomVariable, shape=(n,n)) – Posterior belief over the linear operator.
Ainv (RandomVariable, shape=(n,n)) – Posterior belief over the linear operator inverse \(H=A^{-1}\).
info (dict) – Information on convergence of the solver.