ProbabilisticLinearSolver¶
-
class
probnum.linalg.
ProbabilisticLinearSolver
(A, b)¶ Bases:
abc.ABC
An abstract base class for probabilistic linear solvers.
This class is designed to be subclassed with new (probabilistic) linear solvers, which implement a
.solve()
method. Objects of this type are instantiated in wrapper functions such as :meth:problinsolve
.- Parameters
A (array-like or LinearOperator or RandomVariable, shape=(n,n)) – A square matrix or linear operator. A prior distribution can be provided as a
RandomVariable
. If an array or linear operator is given, a prior distribution is chosen automatically.b (RandomVariable, shape=(n,) or (n, nrhs)) – Right-hand side vector, matrix or RandomVariable of \(A x = b\).
Methods Summary
has_converged
(iter, maxiter, **kwargs)Check convergence of a linear solver.
solve
([callback])Solve the linear system \(Ax=b\).
Methods Documentation
-
has_converged
(iter, maxiter, **kwargs)[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.
-
solve
(callback=None, **kwargs)[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.