ConjugateGradientPolicy

class probnum.linalg.solvers.policies.ConjugateGradientPolicy(reorthogonalization_fn_residual=None, reorthogonalization_fn_action=None)

Bases: probnum.linalg.solvers.policies.LinearSolverPolicy

Policy returning \(A\)-conjugate actions.

Selects the negative gradient / residual as an initial action \(s_0 = b - A x_0\) and then successively generates \(A\)-conjugate actions, i.e. the actions satisfy \(s_i^\top A s_j = 0\) iff \(i \neq j\).

Parameters
  • reorthogonalization_fn_residual (Optional[Callable[[ndarray, Iterable[ndarray], LinearOperator], ndarray]]) – Reorthogonalization function, which takes a vector, an orthogonal basis and optionally an inner product and returns a reorthogonalized vector. If not None the residuals are reorthogonalized before the action is computed.

  • reorthogonalization_fn_action (Optional[Callable[[ndarray, Iterable[ndarray], LinearOperator], ndarray]]) – Reorthogonalization function, which takes a vector, an orthogonal basis and optionally an inner product and returns a reorthogonalized vector. If not None the computed action is reorthogonalized.

Methods Summary

__call__(solver_state)

Return an action for a given solver state.

Methods Documentation

__call__(solver_state)[source]

Return an action for a given solver state.

Parameters

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

Returns

Next action to take.

Return type

action