Source code for probnum.linalg.solvers.information_ops._matvec
"""Information operator returning a matrix-vector product with the matrix."""
import numpy as np
import probnum # pylint: disable="unused-import"
from ._linear_solver_information_op import LinearSolverInformationOp
class MatVecInformationOp(LinearSolverInformationOp):
r"""Matrix-vector product :math:`s_i \mapsto A s_i` with the system matrix.
Obtain information about a linear system by multiplying an action :math:`s_i`
with the system matrix giving :math:`y_i = A s_i`.
"""
[docs] def __call__(
self, solver_state: "probnum.linalg.solvers.LinearSolverState"
) -> np.ndarray:
r"""Matrix vector product with the system matrix :math:`A`.
Parameters
----------
solver_state :
Current state of the linear solver.
"""
return solver_state.problem.A @ solver_state.action