Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

NumPyLinearSolver

class NumPyLinearSolver

GitHub

Bases: qiskit.algorithms.linear_solvers.linear_solver.LinearSolver

The deprecated Numpy Linear Solver algorithm (classical).

This linear system solver computes the exact value of the given observable(s) or the full solution vector if no observable is specified.

Examples:

import warnings
import numpy as np
from qiskit.algorithms import NumPyLinearSolver
from qiskit.algorithms.linear_solvers.matrices import TridiagonalToeplitz
from qiskit.algorithms.linear_solvers.observables import MatrixFunctional
 
with warnings.catch_warnings():
    warnings.simplefilter('ignore')
    matrix = TridiagonalToeplitz(2, 1, 1 / 3, trotter_steps=2)
    right_hand_side = [1.0, -2.1, 3.2, -4.3]
    observable = MatrixFunctional(1, 1 / 2)
    rhs = right_hand_side / np.linalg.norm(right_hand_side)
 
with warnings.catch_warnings():
    warnings.simplefilter('ignore')
    np_solver = NumPyLinearSolver()
    solution = np_solver.solve(matrix, rhs, observable)
result = solution.observable

Methods

solve

NumPyLinearSolver.solve(matrix, vector, observable=None, observable_circuit=None, post_processing=None)

Solve classically the linear system and compute the observable(s)

Parameters

  • matrix (Union[ndarray, QuantumCircuit]) – The matrix specifying the system, i.e. A in Ax=b.
  • vector (Union[ndarray, QuantumCircuit]) – The vector specifying the right hand side of the equation in Ax=b.
  • observable (Union[LinearSystemObservable, BaseOperator, List[BaseOperator], None]) – Optional information to be extracted from the solution. Default is the probability of success of the algorithm.
  • observable_circuit (Union[QuantumCircuit, List[QuantumCircuit], None]) – Optional circuit to be applied to the solution to extract information. Default is None.
  • post_processing (Optional[Callable[[Union[float, List[float]]], Union[float, List[float]]]]) – Optional function to compute the value of the observable. Default is the raw value of measuring the observable.

Return type

LinearSolverResult

Returns

The result of the linear system.

Was this page helpful?
Report a bug or request content on GitHub.