# qiskit.algorithms.NumPyLinearSolver¶

class NumPyLinearSolver[código fonte]

The 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.

Exemplos

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

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)

np_solver = NumPyLinearSolver()
solution = np_solver.solve(matrix, rhs, observable)
result = solution.observable

__init__()

Initialize self. See help(type(self)) for accurate signature.

Methods

 Initialize self. solve(matrix, vector[, observable, …]) Solve classically the linear system and compute the observable(s)
solve(matrix, vector, observable=None, observable_circuit=None, post_processing=None)[código fonte]

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

Parâmetros
• 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.

Tipo de retorno

LinearSolverResult

Retorna

The result of the linear system.