qiskit-documentation/docs/api/qiskit/0.29/qiskit.algorithms.NumPyLine...

61 lines
2.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: NumPyLinearSolver
description: API reference for qiskit.algorithms.NumPyLinearSolver
in_page_toc_min_heading_level: 1
python_api_type: class
python_api_name: qiskit.algorithms.NumPyLinearSolver
---
# NumPyLinearSolver
<Class id="qiskit.algorithms.NumPyLinearSolver" isDedicatedPage={true} github="https://github.com/qiskit/qiskit/tree/stable/0.18/qiskit/algorithms/linear_solvers/numpy_linear_solver.py" signature="NumPyLinearSolver" modifiers="class">
Bases: `qiskit.algorithms.linear_solvers.linear_solver.LinearSolver`
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.
**Examples**
```python
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
```
## Methods
### solve
<Function id="qiskit.algorithms.NumPyLinearSolver.solve" signature="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.
</Function>
</Class>